在python中要连接Amazon S3,需先使用pip安装 boto3模块,boto3是一个基于s3协议实现了客户端API的 Python SDK,用于在程序中调用对象存储服务进行文件操作。本文地址:http://www.04007.cn/article/1225.html,未经许可,不得转载.
# pip 安装boto3 pip install boto3 # 源码安装boto3 git clone https://github.com/boto/boto3.git && cd boto3 && sudo python setup.py install本文地址:http://www.04007.cn/article/1225.html,未经许可,不得转载.
连接amazon S3需要先在amazon S3的管理控制台中生成aws_access_key_id和aws_secret_access_key,这里要注意在创建的顺序方法,需要先在IAM中创建一个新的组,并在组下创建用户。然后在IAM->用户->新创建的用户名下创建访问密钥。注意,S3中有很多的安全凭证类型,比如:控制台登录/多重身份验证(MFA)/访问密钥/AWS CodeCommit 的 SSH 公有密钥/适用于 AWS codeCommit 的 HTTPS Git 凭证/Amazon Keyspaces 凭证(适用于 Apache Cassandra)/X.509 Signing certificates,我们在自己的python程序中调用S3要在【适用于 AWS codeCommit 的 HTTPS Git 凭证】这个项目下创建,不然就会报错误:The AWS Access Key Id you provided does not exist in our records,因为调用 的时候会判断这个组下有没有你的用户。之后就是下面的连接代码:本文地址:http://www.04007.cn/article/1225.html,未经许可,不得转载.
import boto3 s3 = boto3.client('s3', aws_access_key_id = '#aws_access_key_id',#创建的适用于 AWS codeCommit 的 HTTPS Git 凭证 aws_secret_access_key = 'mykey',#同上 #endpoint_url=“http://” 这项可不指定。 ) url = s3.generate_presigned_url( ClientMethod='get_object', Params={ 'Bucket': 'mypsdata',#对象所在桶 'Key': 'run.jpg',#对象名 'ExpiresIn': 86400 # 过期时间 } ) print(url)
本文地址:http://www.04007.cn/article/1225.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |