我正在做一件我认为非常简单的事情来检查alpakka是否正常工作:
val awsCreds = AwsBasicCredentials.create("xxx", "xxx")
val credentialsProvider = StaticCredentialsProvider.create(awsCreds)
implicit val staticCreds = S3Attributes.settings(S3Ext(context.system).settings.withCredentialsProvider(credentialsProvider)
.withS3RegionProvider(new AwsRegionProvider {val getRegion: Region = Region.US_EAST_2}))
val d = S3.checkIfBucketExists(action.bucket)
d foreach { msg => log.info("mgs: " + msg.toString)}
当我运行这个程序时
msgs: NotExists
但是action.bucket引用的bucket确实存在,我可以使用这些凭证访问它,而且当我修改凭证(通过更改密钥)时,我得到同样的消息,根据documentation,我应该得到的是AccessDenied。
我之所以提到这一点,是因为我认为环境没有选择正确的凭据--因此才有了所有硬编码的值。
谢谢
更新:action对象只是一个由bucket和path组成的case类。我已经在debug中检查了action.bucket和action.path指向它们应该是的东西--在本例中是S3 bucket。我还尝试了上面的代码,只是用字符串bucket名称代替了action. bucket。
1条答案
按热度按时间6gpjuf901#
只是我的疏忽......
一个错误的拷贝增加了一个额外的内隐系统。在akka 2.6中对内隐物化器做了一些改变,我认为这些改变,沿着额外的内隐演员系统,形成了一个奇怪的混合。