gpt4 book ai didi

amazon-web-services - boto如何选择aws区域来创建buckets?

转载 作者:行者123 更新时间:2023-12-01 23:56:51 30 4
gpt4 key购买 nike

我创建了 3 个不同的存储桶,1 个使用 aws 管理控制台,2 个使用 boto api。

使用 aws 管理控制台创建的存储桶是在东京地区创建的,而使用 boto 创建的存储桶是在 us-east-1 地区创建的。

当我使用 boto 按存储桶访问时,它如何找到创建存储桶的正确区域。此外,它如何选择在哪个区域创建存储桶。

我已经想到了 boto 源代码中的 connection.py 文件,但我无法理解代码。

非常感谢任何帮助!

最佳答案

您可以通过在 create_bucket 方法中为 location 参数指定一个值来控制新存储桶的位置。例如,要在 ap-northeast-1 区域创建一个存储桶,您可以这样做:

import boto.s3
from boto.s3.connection import Location
c = boto.s3.connect_to_region('ap-northeast-1')
bucket = c.create_bucket('mynewbucket', location=Location.APNortheast)

在此示例中,我连接到 ap-northeast-1 区域中的 S3 端点,但这不是必需的。即使您已连接到通用 S3 端点,您仍然可以使用此技术在另一个位置创建存储桶。

要在创建后访问存储桶,您有几个选择:

  • 您可以连接到您创建存储桶的区域中的 S3 端点,然后使用 get_bucket 方法查找您的存储桶并为其获取一个 Bucket 对象。
  • 您可以连接到通用 S3 端点并使用 get_bucket 方法查找您的存储桶。为了使其工作,您需要遵循描述的更受限制的存储桶命名约定 here .这允许通过 virtual hosting 样式寻址访问您的存储桶,例如https://mybucket.s3.amazonaws.com/ .这反过来又允许 DNS 将您的请求解析到正确的 S3 端点。请注意,DNS 记录需要时间来传播,因此如果您在创建存储桶后立即尝试以这种方式对其进行寻址,它可能无法正常工作。请过几分钟再试。

关于amazon-web-services - boto如何选择aws区域来创建buckets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23239877/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com