如何将不同的 AWS 终端节点用于另一个 AWS 区域?
Posted
技术标签:
【中文标题】如何将不同的 AWS 终端节点用于另一个 AWS 区域?【英文标题】:How do I use a different AWS endpoint with another AWS region? 【发布时间】:2018-07-19 18:19:41 【问题描述】:我正在对当前位于 US-West-1 区域的 S3 数据桶使用 AWS 识别。遗憾的是,该区域不支持 AWS Rekognition。我试图将我的存储桶复制到 US-West-2 区域,但在获取元数据时遇到了困难。因此,我的问题是,即使存储桶位于另一个区域,我如何将我的 API 调用路由到另一个端点,特别是端点“https://rekognition.us-east-1.amazonaws.com”。任何帮助或建议将不胜感激。
编辑:我认为这可能与提及有关,我在 Python 上运行它。
【问题讨论】:
您如何尝试访问 AWS Rekognition? 我在 Python 脚本中使用了一个 API 调用,使用的是 search_faces_by_image 命令。 【参考方案1】:假设您在 python 脚本中使用 boto3,您应该能够在创建 client 资源时选择一个区域。尝试做类似的事情:
re_client= boto3.client('rekognition', region_name='us-east-1')
如果您的问题是您是否可以在一个区域中使用 AWS Rekognition 来访问另一个区域中的存储桶:据我所知,您不能。但是,您可以将存储桶迁移到特定区域,或使用S3 cross-region recplication 访问两个区域的数据。
【讨论】:
当我更改区域时,脚本会失败,即使我在所述区域内使用存储桶。在我看来,更简单的选择是更改端点而不是区域本身。那可能吗?还是地区自动决定端点位置? 啊,现在我明白你想要达到的目标了。我更新了我的答案 通过指定区域,选择端点。但是,SDK 确实支持指定端点,但我不记得它是什么。以上是关于如何将不同的 AWS 终端节点用于另一个 AWS 区域?的主要内容,如果未能解决你的问题,请参考以下文章