- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Python 应用程序在 ECS 管理的 EC2 实例上的 Docker 容器中运行(嗯,这就是我想要的......)。但是,要使用 SSM
之类的服务使用 boto3,我需要知道实例运行的区域。我不需要任何凭据,因为我为授予服务访问权限的实例使用角色,因此默认 Session
没问题。
我知道可以使用 curl
获取该区域。获取动态元数据,但是有没有更优雅的方法来在 EC2 实例中使用区域名称(凭据)实例化客户端?
我跑过boto3 documentation并发现
Note that if you've launched an EC2 instance with an IAM role configured, there's no explicit configuration you need to set in boto3 to use these credentials. Boto3 will automatically use IAM role credentials if it does not find credentials in any of the other places listed above.
SSM
传递区域名称?例如客户?有解决方法吗?
最佳答案
区域是 必需参数 让 SSM 客户端知道它应该与哪个区域进行交互。即使您在 AWS 云中,它也不会尝试假设。
如果您希望它在您的容器中假设,最简单的实现方式是使用 AWS environment variables .
在您的 container definition指定环境属性指定一个名为 AWS_DEFAULT_REGION 的变量和您当前区域的值。
通过这样做,您不必在容器内的 SDK 中指定区域。
This example使用环境属性获取更多信息。
关于python - 如何在 EC2 实例中使用 boto3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62311872/
我是一名优秀的程序员,十分优秀!