是否存在使用AWS开发工具包InitiateAuth的骆驼组件?

时间:2018-09-10 12:45:05

标签: java amazon-web-services apache-camel jbossfuse apache-servicemix

我们想使用AWS SDK InitiateAuth apache-camel 中实现接口的身份验证,其中AuthFlowType为 USER_SRP_AUTH 。已经有骆驼组件了吗?我找到了这个list of camel aws components,但不知道是否可以使用其中一个。我会证明这一点,但也许你们当中的一些人对此有经验。

[EDIT] 实际上,我想使用camel-cxf调用WebService,为此,我应该使用AWS开发工具包进行身份验证。毕竟,这是一个OAuth流程,我也许还可以用CXF来描绘它?

1 个答案:

答案 0 :(得分:1)

当然,Apache Camel具有许多用于亚马逊的组件。请查看此reference

每个组件都有自己的方法来实现您想要的。在几乎每个组件中,您都必须进行身份验证。骆驼是关于发送消息的,每条消息都应以适当的标题和正文修饰。

This可能会派上用场。有些标头应该进行身份验证。

根据我的阅读,亚马逊使用队列发送和接收数据。隐藏在链接上方的组件应该可以解决问题

如果您的Camel应用程序在防火墙后运行,或者您需要对AmazonSQSClient配置进行更多控制,则可以创建自己的实例:

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");

ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonSQSClient client = new AmazonSQSClient(awsCredentials, clientConfiguration);

,并在您的Camel aws-sqs组件配置中进行引用:

from("aws-sqs://MyQueue?amazonSQSClient=#amazonSQSClient&delay=5000&maxMessagesPerPoll=5")
    .to("mock:result");