AWS boto3:查看客户端正在使用传输加速终端节点的证据?



我正在尝试为某些 AWS S3 存储桶启用传输加速。

我启动我的客户端会话:

client = boto3.client(
"s3",
aws_access_key_id=environ.get("AWS_ACCESS_KEY_ID"),
aws_secret_access_key=environ.get("AWS_SECRET_ACCESS_KEY")
)

然后,我通过 S3 控制台打开传输加速,并确保在代码中启用和打开它:

response = client.put_bucket_accelerate_configuration(
Bucket='string',
AccelerateConfiguration={
'Status': 'Enabled'
}
)

response = client.get_bucket_accelerate_configuration(
Bucket='string'
)

这两个片段都直接来自 BOTO3 文档。我能够稍后在代码中成功上传到存储桶:

client.upload_fileobj(data, environ.get("AWS_S3_BUCKET"), 'key')

我尝试在启动客户端会话时设置endpoint_url参数,但这只是在我的存储桶内创建了一个新文件夹(带有我的存储桶标题)。

似乎 boto3 是唯一没有某种"使用传输加速端点"标志的 SDK。我知道它在存储桶上已启用,并且我有证据证明这一点,但我没有证据表明它实际上正在使用终端节点

我尝试遍历客户端元数据、存储桶元数据以及返回任何类型数据的所有其他客户端方法,但我找不到它实际使用加速终端节点的证据。

我错过了什么吗?

使用以下方式使用 boto3 提及连接到 S3 加速终端节点:

Config(s3={"use_accelerate_endpoint": True})

此参数列在配置参考 — botocore 文档中:

S3(字典)

use_accelerate_endpoint-- 指是否使用 S3 加速终端节点。该值必须是布尔值。如果为 True,则客户端将使用 S3 加速终端节点。如果使用 S3 加速终端节点,则寻址样式将始终是虚拟的。

因此,请尝试使用:

s3_client = boto3.client("s3", config=Config(s3={"use_accelerate_endpoint": True}))

最新更新