我有一个Python应用程序在由ECS管理的EC2实例上的Docker容器中运行(好吧,那是我想要的...)。然而,为了使用像
我知道可以使用
我查看了boto3的文档并发现:
请注意,如果您已配置了IAM角色的EC2实例,则无需在boto3中设置任何显式配置即可使用这些凭据。如果在上述任何其他位置都找不到凭据,Boto3将自动使用IAM角色凭据。
那么为什么我需要为
SSM
这样的服务,我需要知道实例运行的区域。我不需要任何凭据,因为我使用为实例授予访问该服务的角色,所以默认的Session
就可以了。我知道可以使用
curl
获取动态元数据来获取区域,但是否有更优雅的方法在EC2实例内部使用区域名称(或凭证)实例化客户端?我查看了boto3的文档并发现:
请注意,如果您已配置了IAM角色的EC2实例,则无需在boto3中设置任何显式配置即可使用这些凭据。如果在上述任何其他位置都找不到凭据,Boto3将自动使用IAM角色凭据。
那么为什么我需要为
SSM
客户端传递区域名称呢?是否有解决方法?