【问题标题】:How to get the region of a boto3 S3 resource instance如何获取 boto3 S3 资源实例的区域
【发布时间】:2022-08-06 00:25:55
【问题描述】:

我像这样实例化一个 boto3 S3 resource(代码简化):

import os
from pathlib import Path
import boto3


s3_resource = boto3.resource(
    \"s3\",
    aws_access_key_id=os.getenv(\"AWS_ACCESS_KEY_ID\"),
    aws_secret_access_key=os.getenv(\"AWS_SECRET_ACCESS_KEY\"),
    # NOTE: My config is:
        # [default]
        # region = eu-west-1
    region_name=os.getenv(\"region_name\"),
)

如何获取 S3 资源关联的区域?是否有我可以查询的类/实例的属性?

我检查了boto3 docs for the S3 Service Resource object,但找不到这样的属性。我还检查了这个related question,但它与来自boto3 的client 而不是resource 对象有关。

上下文:我想检查该区域,以便我可以确保读取我的 ~/.aws/config 以提供该区域,因为检查 os.getenv(\"region_name\") 返回的内容 None 因为我没有这样的环境变量。如果你也能回答这个问题,那就加分了。如代码中所述,我的配置指向eu-west-1地区。

我不熟悉在 Python 中以编程方式使用 S3(我主要使用 AWS CLI),因此如有必要,请建议对问题进行编辑。

标签: python amazon-web-services amazon-s3 boto3


【解决方案1】:

您可以通过 AWS 控制台 (UI) 检查该区域。 转到:S3 --> --> 属性选项卡,您将看到存储桶的“AWS 区域”

【讨论】:

  • 我认为这误解了这个问题。他们希望以编程方式从他们的 boto3 资源对象中获取区域名称。
猜你喜欢
  • 1970-01-01
  • 2016-07-12
  • 2019-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多