无法使akka流/ alpakka S3在简单情况下工作

w46czmvw  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(138)

我正在做一件我认为非常简单的事情来检查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。

6gpjuf90

6gpjuf901#

只是我的疏忽......
一个错误的拷贝增加了一个额外的内隐系统。在akka 2.6中对内隐物化器做了一些改变,我认为这些改变,沿着额外的内隐演员系统,形成了一个奇怪的混合。

相关问题