我正在尝试使用Apache camel通过camel SNS库发送SNS。
我使用了这里的文档
http://camel.apache.org/aws-sns.html
它说我需要定义一个客户端,然后将其绑定到注册表。因此,我使用以下代码完成了此操作:
BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 client = AmazonS3Client.builder().withRegion("eu-west-1")
.withCredentials(new AWSStaticCredentialsProvider(creds))
.build();
CamelContext context = new DefaultCamelContext();
JndiRegistry registry = (JndiRegistry) ((PropertyPlaceholderDelegateRegistry)context.getRegistry()).getRegistry();
registry.bind("client", client);
在此之后,在我的骆驼路线内,我正在执行此操作
from(mySftp.getUri("/camel"))
to("aws-sns://"+topicArn+"?amazonSNSClient=#client")
用这个代码,我得到了这个错误-
无法在以下位置创建路由route1:>&燃气轮机&燃气轮机;
至[美国焊接学会-sns://arn:aws:sns:eu-西一:xxxxxx?AmazonSClient=#客户端]
<<<途中:
路由(route1)[[来自[sftp://xxxxxxxx...
由于未能解析终结点:
美国焊接学会-sns://arn:aws:sns:eu-西一:xxxxxxxx?amazonSNSClient=%23客户端
由于:无法为属性AmazonSClient找到合适的setter
因为没有相同类型的setter方法:java。lang.字符串nor
可能的类型转换:没有可用于转换的类型转换器
类型:java。所需类型的lang.字符串:
通用域名格式。amazonaws。服务。sns。具有值的AmazonSNS#客户端
除此之外,我还尝试使用以下驼峰路线发送sns
.to("aws-sns://"+topicArn+"?accessKey="+accessKey+"&secretKey="+secretKey+"&amazonSNSEndpoint="+snsEndpoint)
但它告诉我,虽然我的snsEnpoint设置为-
sns.eu-west-1.amazonaws.com
有人知道为什么我不能以我尝试过的方式使用camel发送sns吗?
提前感谢