
python调用aws api操作s3
发布日期:2021-05-15 06:43:36
浏览次数:18
分类:精选文章
本文共 1937 字,大约阅读时间需要 6 分钟。
首先需要配置密钥和密码
创建配置文件夹 mkdir ~/.aws 创建配置文件vim ~/.aws/config[default]output = json #输出格式region = ap-northeast-2 #默认区域
创建密钥文件
vim ~/.aws/credentials[default]aws_access_key_id = *****aws_secret_access_key = ****
编写上传脚本
vim#!/usr/bin/pythonimport loggingimport boto3from botocore.exceptions import ClientErrordef upload_file(file_name, bucket, object_name=None): """Upload a file to an S3 bucket :param file_name: File to upload :param bucket: Bucket to upload to :param object_name: S3 object name. If not specified then same as file_name :return: True if file was uploaded, else False """ # If S3 object_name was not specified, use file_name if object_name is None: object_name = file_name # Upload the file s3_client = boto3.client('s3') try: response = s3_client.upload_file(file_name, bucket, object_name) except ClientError as e: logging.error(e) return False return Truedef main(): """Exercise upload_file()""" # Set these values before running the program bucket_name = 'test-bucket' file_name = 'testfile' object_name = 'testfile' # Set up logging logging.basicConfig(level=logging.DEBUG, format='%(levelname)s: %(asctime)s: %(message)s') # Upload a file response = upload_file(file_name, bucket_name, object_name) if response: logging.info('File was uploaded')if __name__ == '__main__': main()
下载脚本
#!/usr/bin/pythonimport boto3import botocoreBUCKET_NAME = 'test-bucket' # replace with your bucket nameKEY = 'testfile' # replace with your object keys3 = boto3.resource('s3')try: s3.Bucket(BUCKET_NAME).download_file(KEY, 'testfile')except botocore.exceptions.ClientError as e: if e.response['Error']['Code'] == "404": print("The object does not exist.") else: raise
使用aws cli上传下载
#上传aws s3 cp ./testfile s3://testbucket/ #下载aws s3 cp s3://testbucket/testfile ./
更多python操作示例
发表评论
最新留言
不错!
[***.144.177.141]2025年05月03日 23时02分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
权值初始化和与损失函数
2019-03-11
案例讨论
2019-03-11
注册页面案例
2019-03-11
np.bincount(x)的简单解释
2019-03-11
LeetCode Top-100 T22-括号生成
2019-03-11
vscode设置eslint保存文件时自动修复eslint错误
2019-03-11
JAVA 多线程
2019-03-11
牛客-链表中环的入口节点(Java)
2019-03-11
堆的应用_topK算法和堆排序
2019-03-11
最大半连通子图
2019-03-11
Remove Extra one 维护前缀最大最小值
2019-03-11
另类加法,走方格的方案数,最近公共祖先
2019-03-11
[Java Path Finder][JPF学习笔记][7]JPF输出详细程度设置
2019-03-11
GitHub完整记录数据库GHTorrent的下载和安装经验
2019-03-11
设计模式—— 三:依赖倒置原则
2019-03-11
因SGA分配错误无法启动数据库
2019-03-11
ORA-00020 超过当前最大连接数
2019-03-11
喝红茶是否会上火
2019-03-11
Android进阶解密读书笔记2——第2章:Android系统启动——第1、2小节
2019-03-11