我正在尝试访问存储在Amazon S3中存储桶中的文件的名称,但是我很难这么做。
import requests
import boto3
from boto3.session import Session
session= Session(aws_access_key_id="access_key", aws_secret_access_key="secret_key")
s3= session.resource('s3')
my_bucket=s3.Bucket("my_bucket")
for s3_file in my_bucket.objects.all():
print(list(s3_file.key))
答案 0 :(得分:0)
这不能解决您的Access Denied
错误,但是值得一提的是,在代码文件中包含访问密钥和秘密密钥被认为安全性较差。
相反,您可以运行AWS Command-Line Interface (CLI) aws configure
命令将凭据存储在配置文件中。然后,您的代码将自动找到凭据:
import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket("my-bucket")
for object in my_bucket.objects.all():
print(object.key)
如果您在Amazon EC2实例上运行代码,那么它甚至更加容易。只需为实例分配一个IAM角色,代码就会自动接收凭据。