问题标签 [spring-cloud-aws]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1157 浏览

spring - 如何使用 Spring Cloud AWS 从 S3 中删除文件?

我在 Spring AWS Cloud 中找不到任何 API 或文档来从 S3 存储桶中删除对象。有人可以让我知道该怎么做吗?

文档仅讨论使用ResourceLoader.

我现在看到的唯一选择是显式注入AmazonS3和调用deleteObject.

0 投票
1 回答
1505 浏览

spring-integration - Spring Aws Kinesis Binder 在消费消息时在 Dynamo DB 中获取和释放锁定问题

有时,当我们突然停止应用程序时,会发生解锁失败的异常。然后同一组将永远不会收到消息。其他组正在收到消息。

我正在使用 aws kinesis binder 快照版本。

这是应用程序停止时的错误。

然后我们启动应用程序,这是我们得到的错误。

0 投票
1 回答
551 浏览

spring-cloud - 如何在 QueueMessageHandler 中为 spring-cloud-aws 获得 javax.validation 有效负载验证?

我正在为 AWS SQS 编写一些消息使用者,并希望使用 javax.validation.constraints 注释来验证接收到的消息。不幸的是,我不得不发现 spring-cloud-aws-messaging 依赖项使用的 PayloadArgumentResolver 使用了 NoOpValidator。所以我尝试为有效负载注入我自己的 HandlerMethodArgumentResolver。

到目前为止一切顺利,乍一看,它运行良好......但正如你所见,我还必须添加已经存在于 QueueMessageHandler 中的参数解析器,以通过消息的 @Headers/@Header 解析标题。

当我只添加带有休眠验证器的 PayloadArgumentResolver 时,它也将用于解析标头,doh!

有没有什么漂亮的解决方案,或者我应该在 spring-cloud-aws 上打开一个问题?我只想通过注释验证我的有效负载:(

0 投票
0 回答
35 浏览

spring - Spring Cloud Function 的外部配置

我一直在研究解决方案,其中 lambda 函数将在启动时使用来自 S3 的外部配置文件,并通过占位符 ${} 和环境使它们在整个代码库中可用。我了解到 s3://XYZ/test.yml 在 Spring Cloud AWS 中工作,因此寻找类似的解决方案来从 S3 检索属性而不将其下载到 lambda 环境。请协助。

0 投票
0 回答
690 浏览

spring - aws sns 到 sqs,消息未转换

我正在尝试使用 SQS 消费者配置 SNS 生产者,并使用 Spring Boot 应用程序构建。我曾尝试利用 Spring Cloud 并仅使用 JMS API,这两种方式我似乎都无法让我的消费者将消息转换为我阅读。使用 Spring cloud,我收到一条错误消息,指出“有效负载不是有效的通知。下面的代码:非常感谢任何帮助

社交网络配置:

生产者代码:

SQS 消费者配置:

SQS 监听器:

堆栈跟踪:

0 投票
1 回答
2936 浏览

java - @enablesns @enablesqs 注解有什么作用(spring cloud aws)?

我一直在尝试查找 @enablesns @enablesqs 注释的文档,但找不到它们。

他们似乎是 sqs 和 sns 集成工作所必需的。但我只是想有一个更好的理解,并确保我没有错误地使用它们。

任何描述都会有很大帮助。

0 投票
1 回答
1718 浏览

java - 如何使用 Spring Integration 处理来自 AWS SQS FiFo 队列的 10 条以上并发消息

我希望能够使用 Spring 集成工作流一次处理 10 条以上的 SQS 消息。

根据这个问题,建议使用ExecutorChannel。我更新了我的代码,但仍然有相同的症状。

如何在多个线程中执行 Spring 集成流以并行使用更多 Amazon SQS 队列消息?

进行此更新后,我的应用程序请求 10 条消息,处理这些消息,并且只有在我在流程结束附近调用amazonSQSClient.deleteMessage之后,它才会接受来自 SQS 队列的另外 10 条消息。

应用程序使用 SQS FiFo 队列。

是否还有其他我遗漏的东西,或者这是使用SqsMessageDeletionPolicy.NEVER然后在流程结束时删除消息的不可避免的症状?由于其他限制,在流程开始时接受消息并不是一个真正的选择。

以下是相关的代码片段,并进行了一些简化,但我希望它能表达问题。

队列配置

我还尝试了 ThreadPoolTask​​Executor 而不是 SimpleAsyncTaskExecutor,结果相同,但我也会将其包括在内,以防它提供其他见解。

SQS 通道适配器

简化的主要流程

对我们来说,一个常见的场景是在短时间内获得大量的分支编辑。这个流程只“关心”至少发生了一次编辑。messageTransformer从有效负载文档中提取一个 id 并将其放入标头dsp_docId中,然后我们使用该标头进行聚合(我们在其他几个地方使用此 id,因此我们认为标头是有意义的,而不是在自定义中完成所有工作聚合器)。

ProvisioningServiceActivator检索分支的最新版本,然后路由器决定它是否需要进一步的转换(在这种情况下,它将它发送到transformBranchChannel 或者它可以发送到我们的 PI 实例(通过 sendToPiChannel)。

转换流程(未显示,我认为您不需要它)最终会导致发送到 PI 流程,它只是先完成更多工作。

ListingGroupProcessor捕获所有aws_receiptHandle头并将它们作为 | 添加到新标头中。分隔列表。

sendToPi 流(和 errorFlow)以调用自定义处理程序结束,该处理程序负责删除由 aws_receiptHandle 字符串列表引用的所有 SQS 消息。

0 投票
1 回答
1439 浏览

spring - spring cloud aws 注解驱动的队列监听器

我正在尝试使用spring cloud AWS注释驱动的队列侦听器编写一个使用AWS SQS的Web应用程序,这是我的代码的样子:

XML AWS Bean:

然后我写了这个类,它有一个带有 SqsListener 注释的方法,它在控制台打印你好:

这是我的 gradle 构建文件:

但是当我运行应用程序时没有发生任何事情,我是 java 和 spring boot 的新手,我做错了什么吗

0 投票
2 回答
4885 浏览

amazon-sqs - 设置手动确认 SQS 消息的 Spring Cloud AWS 问题

我正在尝试使用 spring-cloud-aws-messaging 手动删除 AWS SQS 消息来实现逻辑。此功能是在测试中的示例中在此票证范围内实现的

但面对意外的异常

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance oforg.springframework.cloud.aws.messaging.listener.Acknowledgment(no Creators, like default construct, exist): abstract types either need to be mapped to concrete types, have custom deserializer, or contain additional type information

可行的解决方案,SqsMessageDeletionPolicy.ON_SUCCESS但我想避免引发异常。

我在配置中错过了什么?

0 投票
1 回答
4123 浏览

java - 如何为测试禁用 AWS 参数存储自动配置?

如spring 文档spring-cloud-starter-aws-parameter-store-config中所述,我添加了依赖项。现在,对于单元测试,我想禁用参数存储配置。但做不到。

我尝试在 test/application.properties 中设置以下属性

还尝试排除但仍然无法正常工作AwsParamStoreBootstrapConfiguration.classAutoConfiguration

例外

引起:org.springframework.beans.BeanInstantiationException:无法实例化[com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagement]:工厂方法'ssmClient'抛出异常;嵌套异常是 com.amazonaws.SdkClientException: Unable to find a region via the region provider chain。必须在构建器或设置环境中提供显式区域以提供区域。在 org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] 在 org.springframework.beans.factory。 support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:582) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] ...省略了83个常见框架原因:com.amazonaws.SdkClientException:无法通过区域提供者链找到区域。必须在构建器或设置环境中提供显式区域以提供区域。在 com.amazonaws.client.builder.AwsClientBuilder.setRegion(AwsClientBuilder.java:371) ~[aws-java-sdk-core-1.11.336.jar:na] 在 com.amazonaws.client.builder.AwsClientBuilder.configureMutableProperties( AwsClientBuilder.java:337) ~[aws-java-sdk-core-1.11.336.jar:na] at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46) ~[aws-java-sdk -core-1.11.336.jar:na] at com.amazonaws.services.simplesystemsmanagement.AWSSimpleSystemsManagementClientBuilder.defaultClient(AWSSimpleSystemsManagementClientBuilder.java:44) ~[aws-java-sdk-ssm-1.11.336.jar:na] at org .springframework.cloud.aws.autoconfigure.paramstore.AwsParamStoreBootstrapConfiguration。