问题标签 [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.

0 投票
2 回答
1423 浏览

java - Could somebody provide en example of spring-integration-aws SQS usage?

Here is spring-integration-aws project. They provide example about Inbound Channle adapter:

Ok, Channel and SqsMessageDrivenChannelAdapter are defined, but what is the next? Let say that I have spring bean like that:

  1. How to tell spring to pass all messages from myQueue to this component?
  2. Is there any additionbal configuration to process messages one by one? For example after receiving message SQS mark them as processing and they are not visible to other clients, so it is needed to fetch only one message, process nad fetch one next. Does this behavior enabled by default?
0 投票
1 回答
643 浏览

spring - Spring 集成使用和方法验证

目前,我正在测试使用 Spring Integration 将同一个 Spring-Boot 应用程序中的分散模块和服务连接到一个统一的流中,从一个单一入口点开始。

如果可能的话,我正在寻找有关 Spring Integration 的以下说明:

  1. 下面的代码是使用 DSL 构建流的正确方法吗?
  2. 在下面的“C”中,我可以将结果冒泡到“B”流吗?
  3. 使用 DSL 与 XML 是更好的方法吗?
  4. 我对如何正确“终止”流程感到困惑?

流程概述

在下面的代码中,我只是将一个页面发布到一个目的地。整体流程是这样的。

  1. 发布者流侦听有效负载并将其拆分为多个部分。
  2. 内容流过滤掉页面并将它们分成几部分。
    1. AWS 流订阅并处理该部分。
    2. 文件流订阅和处理部分。

最终,发布者流程中可能会有其他非常不同类型的消费者,它们不是内容,这就是我将发布者与内容分开的原因。

A)发布流程(publisher.jar):

这是我通过网关发起的“主要”流程。目的是作为开始触发所有发布流程的入口点。

  1. 接收消息
  2. 预处理消息并保存。
  3. 将有效负载拆分为其中包含的各个条目。
  4. 用其余数据丰富每个条目
  5. 将每个条目放在输出通道上。

下面是代码:

B) 内容流 (content.jar)

该模块的职责是处理传入的“内容”有效负载(即本例中的页面)并将它们拆分/路由到适当的订阅者。

  1. 监听发布者输出通道
  2. 仅按页面类型过滤条目
  3. 将原始有效负载添加到标头以供以后使用
  4. 将有效负载转换为实际类型
  5. 将页面拆分为各个元素(块)
  6. 将每个元素路由到适当的 PubSub 频道。

至少目前,订阅的流不会返回任何响应——它们应该只是触发并忘记,但我想知道在使用 pub-sub 通道时如何使结果冒泡。

下面是代码:

C) AWS 内容 (aws-content.jar)

该模块是内容特定流的众多潜在订阅者之一。它根据上面发布的路由通道单独处理每个元素。

  1. 订阅相应的频道。
  2. 适当地处理动作。

可以有多个具有订阅上述路由输出通道的流的模块,这只是其中之一。

例如,“contentPageChannel”可以调用下面的 flowPageToS3(在 aws 模块中)以及一个 flowPageToFile(在另一个模块中)。

下面是代码:

0 投票
1 回答
499 浏览

spring - 使用 S3 消息处理程序和 Spring 集成动态设置 S3 存储桶

如何使用 Spring Integration 将“资产”POJO 传递给 S3MessageHandler 并更改存储桶?

我希望能够根据资产中的文件夹将存储桶更改为“root-bucket/a/b/c”。

每个资产都可能具有不同的子路径。

感谢下面的答案,我得到了这样的工作:

0 投票
1 回答
86 浏览

spring - Can't find spring integration aws schema location online

I can't find

http://www.springframework.org/schema/integration/aws/spring-integration-aws.xsd

under

http://www.springframework.org/schema/integration/

Any help?

0 投票
0 回答
312 浏览

spring-boot - spring-integration-aws vs aws-java-sdk 用于对 S3 的简单读写操作

我需要访问 AWS S3 来读取和上传一些 json 文件。我的用例是:

  1. 根据 S3 中的 ObjectId 检索 json 文件并从 json 中提取某些字段。
  2. 将 json 文件写入 S3,有时会根据 ObjectId 重新写入/更新相同的文件。

我需要实现上述用例的应用程序是现有的 Spring Boot 应用程序。

我正在争论是使用“aws-java-sdk-s3”还是“spring-integration-aws”来执行此任务。我觉得 aws-java-sdk-s3 API 很好很简单,AmazonS3、S3Object、GetObjectRequest、PutObjectRequest 似乎为我完成了这项工作。

但是,我想知道是否需要考虑使用 spring-integration-aws 。S3 有入站和出站适配器,但我不需要服务编排或路由。所以,spring-integration-aws 似乎有点矫枉过正。

我可以根据您的经验和我提供的信息获得一些反馈和建议吗?欣赏建议

0 投票
1 回答
229 浏览

spring - 使用 Spring 集成 AWS,如何使用 ETag 而不是 key 即 fileName 从 S3 下载文件

使用 spring-integration-aws,是否可以使用文件 ETag 而不是密钥从 AWS S3 下载现有文件。目标是在文件名旁边添加一个 ETag 作为约束作为标题键。

0 投票
1 回答
681 浏览

java-8 - Spring Integration Service Activator 处理程序业务逻辑

我目前是 Spring Integration 的新手。
基本上尝试使用 Java Spring 集成 DSL 异步轮询多个文件位置。我需要获取文件名并使用文件名执行一些操作并将文件最终推送到 S3,我的问题是这些对文件执行操作的任务可以在任务执行器或服务激活器处理程序中执行。我不确定哪个是正确的地方。

我在这里附上了示例代码。
还有一种方法可以检索通道中文件的文件名,因为我需要将其作为参数传递给 fileUpload 方法。请指教。

0 投票
1 回答
135 浏览

amazon-web-services - 如何在 Spring-integration-aws 中降级 AWS 开发工具包

无论如何我们可以利用作为 spring-integration-aws-1.1.0-RC1 一部分的按摩处理程序功能,我们只需将 AWS 开发工具包版本降级到 aws-sdk-core-1.4.x 吗?

因为我想与支持旧版本 AWS S3 API(即 AWS SDK 1.4.x)的专有 CMS 应用程序 [Hitachi Content Platform] 集成。

同时,我仍然希望必须利用 S3MessageHandler 来处理我的服务调用。有没有解决问题的中间路径。

注意:- 作为 spring-integration-aws-1.1.0-RC1 一部分的 AWS 开发工具包不受 CMS 应用程序支持。

0 投票
2 回答
396 浏览

spring - spring-integration-aws 动态文件下载

我需要根据消息内容从 S3 下载文件。换句话说,要下载的文件以前是未知的,我必须在运行时搜索并找到它。S3StreamingMessageSource似乎不太合适,因为:

  1. 它依赖于轮询,因为我需要等待消息。
  2. 我找不到S3StreamingMessageSource在流程中间动态创建的任何方法。gateway(IntegrationFlow)看起来很有趣,但我需要的是一个gateway(Function<Message<?>, IntegrationFlow>)不存在的。

另一个候选者是S3MessageHandler但它不支持列出查找所需文件所需的文件。

我可以直接使用 AWS API 实现我自己的消息处理程序,只是想知道我是否遗漏了什么,因为这似乎不是一个不寻常的要求。毕竟,并非每个应用程序都只是坐在那里并不断轮询 S3 以获取新文件。

0 投票
1 回答
1073 浏览

java - Spring AWS 上下文凭证 - 不工作

我遇到了与此处提到的类似的问题。我正在使用 spring xml 配置。我指定了我的全局 AWS 上下文凭证。我正在使用 S3 出站通道适配器从 S3 下载文件。我在 config.properties 文件中指定了我的密钥。我仍然看不到用于与 S3 对话的凭据。

s3-read.xml

aws-credentials.xml

配置属性

例外是:

我花了很多时间在这上面。当我尝试调试时,它似乎在寻找默认凭据提供程序链,它正在寻找环境变量或 ~/.aws/credentials 文件。我没有指定任何内容。

如何链接 S3 以使用这些凭据?感谢帮助。