From 6305e0fb9c1d2414311cb9461eaea9c9752e1cb8 Mon Sep 17 00:00:00 2001 From: edward-mn Date: Sun, 30 Jun 2024 20:58:05 -0300 Subject: [PATCH] Resolve problema de credenciais e Cria controler MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Se torna necessário a utilização de credenciais no momento da configuração (SqsAsyncClient) e Para facilitar manuseio da aplicação, foi criado um controller --- .../tech/buildrun/sqs/SqsApplication.java | 2 +- .../tech/buildrun/sqs/config/SqsConfig.java | 2 ++ .../buildrun/sqs/controller/SqsProducer.java | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 src/main/java/tech/buildrun/sqs/controller/SqsProducer.java diff --git a/src/main/java/tech/buildrun/sqs/SqsApplication.java b/src/main/java/tech/buildrun/sqs/SqsApplication.java index 6922bad..8a4ff85 100644 --- a/src/main/java/tech/buildrun/sqs/SqsApplication.java +++ b/src/main/java/tech/buildrun/sqs/SqsApplication.java @@ -20,6 +20,6 @@ public static void main(String[] args) { @Override public void run(String... args) throws Exception { var SQS = "https://localhost.localstack.cloud:4566/000000000000/minha-fila"; - sqsTemplate.send(SQS, new MyMessage("meu valor de start")); + sqsTemplate.send(SQS, new MyMessage("My automatic start message")); } } diff --git a/src/main/java/tech/buildrun/sqs/config/SqsConfig.java b/src/main/java/tech/buildrun/sqs/config/SqsConfig.java index 05775eb..aa71d53 100644 --- a/src/main/java/tech/buildrun/sqs/config/SqsConfig.java +++ b/src/main/java/tech/buildrun/sqs/config/SqsConfig.java @@ -2,6 +2,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.sqs.SqsAsyncClient; @@ -14,6 +15,7 @@ public class SqsConfig { public SqsAsyncClient sqsAsyncClient() { return SqsAsyncClient.builder() .endpointOverride(URI.create("http://localhost:4566")) + .credentialsProvider(AnonymousCredentialsProvider.create()) .region(Region.SA_EAST_1) .build(); } diff --git a/src/main/java/tech/buildrun/sqs/controller/SqsProducer.java b/src/main/java/tech/buildrun/sqs/controller/SqsProducer.java new file mode 100644 index 0000000..8700371 --- /dev/null +++ b/src/main/java/tech/buildrun/sqs/controller/SqsProducer.java @@ -0,0 +1,24 @@ +package tech.buildrun.sqs.controller; + +import io.awspring.cloud.sqs.operations.SqsTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import tech.buildrun.sqs.consumer.MyMessage; + +@RestController +@RequestMapping("sqs/v1/messages") +public class SqsProducer { + + @Autowired + private SqsTemplate sqsTemplate; + + + @PostMapping("/send") + public void sendMessage(@RequestBody MyMessage message){ + var SQS = "https://localhost.localstack.cloud:4566/000000000000/minha-fila"; + sqsTemplate.send(SQS, message); + } +}