使用 boto3 从特定的 AWS 媒体存储容器下载对象

Download object from particular AWS mediastore container using boto3

我不明白在使用 boto3 从媒体存储中获取数据时如何指定容器。我一直在尝试使用 boto3.client("mediastore-data"),但在 docs 中,它被明确指定为

Do not include the container name in this path.

那么什么时候指定容器呢?除非我将 botocore/data/mediastore-data/2017-09-01/service-2.jsonendpointPrefixdata.mediastore 更新为 <MY_CONTAINER_DATA_ENDPOINT>.data.mediastore

,否则下面的代码无法正确连接
mediastore_data_client = boto3.client(
        "mediastore-data",
        region_name=<MY_REGION_NAME>,
        aws_access_key_id=<MY_AWS_ACCESS_KEY_ID>,
        aws_secret_access_key=<MY_AWS_SECRET_ACCESS_KEY>)

obj = mediastore_data_client.get_object(Path=<MY_PATH>)

我也遇到了一些困难,因为文档只描述了构造函数参数的一部分。 这是我为使它起作用所做的工作:

client = boto3.client(service_name='mediastore-data', region_name='eu-west-1',endpoint_url='https://xxxxxxx.data.mediastore.eu-west-1.amazonaws.com')

response = client2.list_items(Path='mediastorepath')

print response

client.put_object(Body="localpath", Path='mediastorepath')

用您的参数替换 localpath、mediastorepath 和 xxx。 希望这会有所帮助

端点 URL 定义了您要到达的容器。每个容器都有一个唯一的 URL 端点。