问题标签 [spring-integration-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.
spring-cloud-stream - IdleBetween 池未按指定提取消息
我正在批处理模式下使用消息。我想每 250 毫秒从流中提取 8 条消息。
我已经将大约 100 条消息推送到流中,并且我启动了消费者。
根据配置,我应该每 250 毫秒提取一次消息。但是轮询器不是每 250 毫秒拉一次消息。
我什至根本不处理任何东西。它只是日志。
每条消息之间的时间超过 250 毫秒。我有什么遗漏吗。
spring-cloud-stream - Kinesis Binder 默认读取容量和写入容量在 dynamo db 表上
根据 Spring Aws Kinesis Binder 中的文档,readCapacity 和 writeCapacity 的默认值为 1
readCapacity DynamoDb 表的读取容量。请参阅 Kinesis 预置吞吐量
默认值:1
writeCapacity DynamoDb 表的写入容量。请参阅 Kinesis 预置吞吐量默认值:1
从 Kinesis Client 代码中,我可以看到默认值为 10。
Spring Kinesis Binder 中是否有任何自定义。
编辑
我有读写能力为 40 的 locks 表。
我像这样配置了我的活页夹
我有三个使用这些配置运行的容器。
我看到针对 customLocks 表的 ProvisionedThroughputExceededException。
不确定活页夹是否试图使发电机数据库锁表过载。
spring-boot - 当存储桶级别没有访问权限时,int-aws:s3-outbound-channel-adapter 或 int-aws:s3-outbound-gateway 不会引发任何错误
我在 int-aws:s3-outbound-gateway 和 int-aws:s3-outbound-channel-adapter 都面临一个问题。问题是,假设如果我没有已配置为目标存储桶的存储桶访问权限,适配器应该在控制台中引发运行时错误,但我在控制台中没有收到任何错误,并且文件没有移动到各自的目的地。你能就此提出建议吗
spring-integration - 了解 SqsMessageDrivenChannelAdapter 行为
我试图了解SqsMessageDrivenChannelAdapter
解决内存问题的行为。上游系统转储了数千条消息aws-sqs-queue
,所有消息都被立即接收SqsMessageDrivenChannelAdapter
。在 AWS 控制台上,我看不到队列中的任何可用消息。然后SqsMessageProcesser
每 5 秒处理 1 条消息。
这是日志:
2019-05-21 17:28:18 INFO SQSMessageProcessor:88 - --- sqsMessageProcesser 内部--- 2019-05-21 17:28:23 INFO SQSMessageProcessor:88 - --- sqsMessageProcesser 内部--- 2019-05- 21 17:28:28 INFO SQSMessageProcessor:88 - --- sqsMessageProcesser 内部--- 2019-05-21 17:28:33 INFO SQSMessageProcessor:88 --- sqsMessageProcesser 内部--- 2019-05-21 17:28 :38 INFO SQSMessageProcessor:88 - --- 在 sqsMessageProcesser 内--- ...................
这是否意味着在SqsMessageProcesser
每 5 秒处理 1 条消息时,数千条消息被保存在 ? 的(服务器)内存中in-channel
?
每个数据库事务大约需要 5 秒,目前我们在 PRD 上面临“内存不足”问题。
如果我在QueueChannel
andsetMaxNumberOfMessages
上设置容量会有帮助SqsMessageDrivenChannelAdapter
吗?如果是,是否有计算这些值的标准方法?
spring-cloud-stream - 无法从 Spring Cloud Stream Kinesis binder 链中的任何提供商加载 AWS 凭证
如果不使用系统级别的默认配置,我无法在 Spring Cloud Stream Kinesis binder (1.2.0.RELEASE) 中连接到 AWS kinesis。仅当系统已配置为使用默认配置文件并且访问密钥 ID 和秘密访问密钥设置为使用 [默认] 配置文件时,应用程序才能正常工作。否则,它无法通过抛出此异常连接到 AWS 资源:
我尝试了以下选项,但没有一个对我有用:
- 设置环境变量
AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
- 设置 Java 系统属性
aws.accessKeyId
和aws.secretKey
- 设置
cloud.aws.credentials.accessKey
并cloud.aws.credentials.secretKey
在application.yml
文件中。
spring-integration - 在单个集成流中使用多个 aws 出站适配器
***强文本***我想在单个集成流程中使用 2 个 aws 出站适配器。一个是出站 S3 适配器和一个出站 SQS 适配器。我必须将文件从 smb 共享移动到 S3 存储桶,然后使用转换器,然后使用 SQS 适配器将转换后的消息发送到 SQS 队列。我可以通过 2 个集成流程来实现这一点,但我只想通过一个集成流程来实现这一点。如果我添加一个流的两个出站适配器部分,则只有其中一个在工作
spring-boot - 同步 S3 存储桶并监听变化
我有一个 AWS S3 存储桶,我每周都会在其中放置一个新的 ZIP 文件。
我想在我现有的 Web 服务中添加一个功能,用 Spring Boot 编写:在本地同步存储桶并观察变化。
目前,同步效果很好:每当将新文件添加到存储桶中时,它都会在本地下载。但是,我不知道要监听文件更新,这是一种在本地下载新文件时触发的方法。可以做到吗?
这是我的一段代码:
spring-cloud-stream - SerializationFailedException: Spring Cloud Stream Kinesis binder with kpl-kcl-enabled:true
我目前正在评估在新项目中使用 spring cloud stream kinesis binder 的可能性,但我遇到了一些问题。
当我启用 kcl-kpl-enabled: false 时,一切正常。但是,当我启用 kcl-kop 时,我不断收到以下错误:
这是我目前的配置:
我在测试中使用的依赖项的版本是:
java - 无法使用自定义端点配置从 S3 轮询
我尝试使用spring-integration-aws
从 S3 存储桶进行轮询来触发弹簧批处理作业。我的 S3 存储桶没有托管在 Amazon 上,它位于本地 minio 服务器上,所以我有一个自定义配置:
我以这种方式定义了我的 IntegrationFlow:
问题是,当轮询发生时,我收到以下错误:
发生这种情况是因为收到文件时,一些标头设置在spring-integration-aws
:
AbstractRemoteFileStreamingMessageSource.java
由于getHostPort()方法REMOTE_HOST_PORT
设置了标头。S3Session.java中的getHostPort ()然后调用getRegion()方法。
中的getRegion()方法不检查用户是否在字段AmazonS3Client
中设置了值。signing region
它只检查主机是否匹配“amazonaws.com”模式。
如何使用自定义端点配置从 S3 进行轮询?为什么getHostPort()方法不检查签名区域值?有可能解决这个问题吗?
java - 为什么我的处理程序方法在定义为 lambda 时没有被触发?
我正在IntegrationFlow
以这种方式使用 DSL 语法定义从 SFTP 到 S3 的流:
它按预期工作:文件很好地上传到我的 S3 存储桶。但是,我想避免SPEL
语法,并将消息中的标头注入s3uploadMessageHandler
方法,这样我可以使用简单的方法在方法ValueExpression
中设置。为此,我改变了keyExpression
s3UploadMessageHandler
到
但是现在这个处理程序似乎不再被触发了。日志中没有错误,我从日志中知道 SFTP 轮询仍在工作。
我试图找到这背后的原因,我发现当在 中输入句柄方法时IntegrationFlowdefinition.java
,messageHandler
类类型不同:它是一个S3MessageHandler
没有 lambda 的MyCallingClass$lambda
调用时,一个使用 lambda 表达式调用的时候。
我错过了什么让我的场景工作?