python - 从 S3 将文件下载到我的本地设备时出错
问题描述
我正在尝试使用以下代码将文件从 Amazon S3 存储桶下载到我的本地设备,但出现“无法找到凭据”的错误消息
下面给出的是我写的代码:
import boto3
import botocore
BUCKET_NAME = 'my-bucket'
KEY = 'my_image_in_s3.jpg'
s3 = boto3.resource('s3')
try:
s3.Bucket(BUCKET_NAME).download_file(KEY, 'my_local_image.jpg')
except botocore.exceptions.ClientError as e:
if e.response['Error']['Code'] == "404":
print("The object does not exist.")
else:
raise
谁能帮我解决这个问题。提前致谢。
解决方案
AWS 使用 AWS CLI 和所有其他 AWS 开发工具包的共享凭证系统,这样就没有将您的 AWS 凭证泄露到某些代码存储库的风险,AWS 安全实践建议使用通常位于 linux 上的共享凭证文件
~/.aws/credentials
此文件包含所有 sdk 和 aws cli 使用的访问密钥和秘密密钥 该文件可以手动或使用此命令自动创建文件
aws configure
它会问几个问题并为您创建凭证文件,请注意,在访问 aws 资源之前,您需要创建一个具有适当权限的用户。
欲了解更多信息,请单击下面的链接 -:
推荐阅读
- javascript - 获取错误 - 使用 POST 时不允许接收 405 GET 方法
- python - 为 Scipy.optimize.minimize 输入一组数据
- swift - 删除一个 PFUser 作为另一个管理员 PFUser
- python - Python - 打印时如何缩短浮点数?
- azureportal - 在 Azure Blue Prints 中将输出从一个工件传递到另一个工件
- google-sheets - 谷歌表格 - 将数据从行复制到列值条件的列
- c++ - Rapidxml next_sibling 不返回下一个兄弟
- python - 对一堆方程使用 sympy
- r - 使用 ggplot2 将文本标签放入相应的饼图切片中
- omnet++ - Artery : 车行人交互场景