如何使用boto3从url访问S3存储桶?

时间:2016-03-20 14:53:48

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

我可以访问S3存储桶:

S3基本路径:s3:// folder1 / folder2 / *

使用IAM用户帐户:

ARN:AWS:IAM ::<帐户>:用户/<用户名>

我尝试过以下但没有运气。

import boto3
client = boto3.client(
    's3',
    aws_access_key_id='****',
    aws_secret_access_key='****'
)
obj1 = client.get_object("folder1/folder2/*") #TypeError
obj2 = boto3.resource("folder1/folder2/*") # DataNotFoundError

对此有任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

s3路径由以下形式的存储桶和对象组成:

s3://<Bucket>/<Key>

您可以使用以下表达式来分割&#34; s3_key&#34;进入桶和钥匙:

bucket, key = s3_key.split('/',2)[-1].split('/',1)

因此,要从路径s3:// folder1 / folder2访问对象,您将执行以下操作:

import boto3
client = boto3.client('s3')
client.get_object(Bucket='folder1', Key='folder2')