我有一个Java应用程序,可以在S3中添加文件。此应用程序在EC2实例中运行。
我们正在使用IAM角色。因此,我们已将所需的IAM角色附加到此EC2实例。
那里的一切都很完美。
但我们也希望在笔记本电脑中本地测试应用程序。每当我需要测试它时,每次都将应用程序上传到EC2很困难。
如何在不更改代码的情况下动态切换,以便我可以测试我的笔记本电脑(使用accesskey和secretKey)以及在EC2中使用IAM角色?
答案 0 :(得分:1)
AWS SDK使用凭据提供程序链来查找凭据。订单因语言而异,但通常会检查:
因此,如果您想在本地运行该应用程序,您可以提供凭据文件或在环境变量中设置凭据。代码将自动定位凭证,就像在EC2实例上一样。
参考文献:
答案 1 :(得分:-1)
如果您正在使用类似Docker的实例,那么将环境变量设置为docker run就很容易了。
docker run --env-file=FILE
OR
docker run -it --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY