我想知道是否有人可以帮助我。我试图通过使用boto3获取s3存储桶中的文件列表而不进行身份验证。我可以使用aws s3 ls s3://mysite.com/ --no-sign-request --region us-east-2
完成此操作,但我尝试使用boto3以pythonic方式执行此操作。
目前,当我尝试使用boto.session.Session()时,它要求提供凭据。
由于
答案 0 :(得分:8)
我认为Session
始终需要凭据。您应该能够禁用签名并使用boto3.resource('s3')
来访问存储桶。
根据this answer:
from botocore.handlers import disable_signing
resource = boto3.resource('s3')
resource.meta.client.meta.events.register('choose-signer.s3.*', disable_signing)
然后它应该是一个案例:
bucket = resource.Bucket('mysite.com')
for item in bucket.objects.all():
print(item.key)