python访问aws-S3服务
创建本地 AWS 凭证文件
登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/。
创建一个新用户,其权限仅限于您希望您的代码有权访问的服务和操作。有关创建新 IAM 用户的更多信息,请参阅创建 IAM 用户 (控制台),并按照步骤 8 中的说明进行操作。
选择 Download .csv 以保存 AWS 凭证的本地副本。
在您的计算机上,导航至主目录,并创建
.aws
目录。在基于 Unix 的系统 (例如 Linux 或 OS X) 上,它在以下位置:~/.aws
在 Windows 上,它在以下位置:
%HOMEPATH%\.aws
在
.aws
目录中,创建名为credentials
的新文件。打开您从 IAM 控制台中下载的凭证 .csv 文件,并使用以下格式将其内容复制到
credentials
文件:[default]
aws_access_key_id = your_access_key_id
aws_secret_access_key = your_secret_access_key保存
credentials
文件,并删除在步骤 3 中下载的 .csv 文件。
您的共享凭证文件现在已在本地计算机上配置完毕,可以与 AWS 开发工具包一起使用。
Python 访问示例:
import boto3 #初始化glacier client。
glacier = boto3.client("glacier") #查看指定文件库的基本信息。
vaultresult = glacier.describe_vault(vaultName='testvault') print(vaultresult) #读取文档并上传到文件库。请替换文件名和路径。请保存方法返回信息中的archiveID等信息。该方法指针对文件大小不超过4GB.
file = open("path/filesname", "rb") response = glacier.upload_archive(vaultName='testvault',body=file) print(response) #当文档大小超过4GB,需要使用分段上传。partsize 必须在 1048576 和 4294967296之间,且为2的倍数。
initiateResult = glacier.initiate_multipart_upload(vaultName='testvault',partSize='') uploadID = initiateResult["uploadId"]
print("uploadID:", uploadID) #文档分成几部分,就需要执行以下命令几次。
partresult = glacier.upload_multipart_part(
body=file,
range='bytes 0-1048575/*',
uploadId=uploadID,
vaultName='testvault',
) #在上传完所有部分之后,提交complete请求。
completeresult = glacier.complete_multipart_upload(
vaultName='testvault',
uploadId=uploadID
) #如果想查看文件库中的所有文档基本信息,或检索某个文档,需要提交job。
#如果需要整个文件库中的文档清单,Type使用“inventory-retrieval”,检索恢复某个文档,使用“archive-retrieval”,如果是对某个文档执行select操作,请使用“select”。
response = glacier.initiate_job(
vaultName='testvault',
jobParameters={
'Description': 'My inventory job',
'Type': 'inventory-retrieval',
},
) #检索当前存在的job。
jobresult = glacier.list_jobs(vaultName='testvault') #获取某个任务检索出的数据,可以是清单或文档。如果是检索某个文档中的一部分,请添加range参数。 响应中的body为数据。
output = glacier.get_job_output(
vaultName='testvault',
jobId='string'
)
python访问aws-S3服务的更多相关文章
- AWS S3服务使用
AWS S3是亚马逊的一种文件存储服务使用方便. 一.配置服务 public static class AWS_S3ClientInfo { private static readonly strin ...
- python操作s3服务中的文件
亚马逊云aws提供了s3服务.国内一些云厂商也用了s3技术.要操作s3服务器中的文件需要用到boto这个python包.下面的代码是一个简单例子. #! /usr/bin/python # -*-co ...
- AWS s3 python sdk code examples
Yet another easy-to-understand, easy-to-use aws s3 python sdk code examples. github地址:https://github ...
- Python使用boto3操作AWS S3中踩过的坑
最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_ ...
- Swift是一个提供RESTful HTTP接口的对象存储系统,目的是为了提供一个和AWS S3竞争的服务
Swift是一个提供RESTful HTTP接口的对象存储系统,最初起源于Rackspace的Cloud Files,目的是为了提供一个和AWS S3竞争的服务. Swift于2010年开源,是Ope ...
- AWS S3 对象存储服务
虽然亚马逊云非常牛逼,虽然亚马逊云财大气粗,虽然亚马逊用的人也非常多,可是这个文档我简直无法接受,特别是客服,令人发指的回复速度,瞬间让人无语,可是毕竟牛逼.忍了,躺一次坑而已 1.图片上传 1.1 ...
- [转帖]通俗解释 AWS 云服务每个组件的作用
你有听说过 ContainerCache,ElastiCast 和 QR72 这些 AWS 的新服务吗? 没有就对了,这些都是我编的:) 不过,AWS 有 50 多个服务,从名称也不能看出这些服务是做 ...
- 利用 AWS 无服务架构之语音合成
目录 一.架构图 二.服务部署 2.1.创建 DynamoDB 表 2.2.创建 S3 2.2.1 静态网页存储桶 2.2.2.音频存储桶 2.3.创建 SNS Topic 2.4.为 Lambda ...
- AWS专线服务总结和疑问
1.AWS专线服务的入口, 从介绍页上可以看到,有如下功能: (1)专线可以连接AWS云主机和传统的数据中心或者分支机构. (2)专线可以连接AWS云主机和托管区的主机. 连接要素: (1)需要使用V ...
随机推荐
- ibatis 参数 指定类型
文档: http://ibatis.apache.org/docs/dotnet/datamapper/ch03s04.html <update id="UpdateAccountVi ...
- 【Tools】PDF编辑软件-pdfelement 6.8 官网文件中文+破解版本
试用了下,感觉还不错分享给大家. 有币的求赏,小弟下载缺币.没币的从附件下载. 赏币地址:https://download.csdn.net/download/qq_18187161/10744059 ...
- colaboratory安装指定版本的tensorflow
查看当前安装的tensorflow版本 !pip show tensorflow 安装指定版本 !pip install tensorflow==2.0 这速度,香不香.
- WPF 使用winform的webbrowser
首先要添加如下引用: WindowsFormsIntegration System.Drawing System.Windows.Forms 然后在xaml中添加引用 xmlns:winform=&q ...
- 【GStreamer开发】GStreamer播放教程07——自定义playbin2的sink
目标 通过手动选择音频和视频的sink,playbin2可以进一步定制.这允许使用playbin2的应用在解码后可以自行做最终的渲染和显示.本教程展示了: 如何替换playbin2选择的sink 如何 ...
- 最新 安易迅java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 安易迅等10家互联网公司的校招Offer,因为某些自身原因最终选择了 安易迅.6.7月主要是做系统复习.项目复盘.Leet ...
- ztree通过id获取节点对象
var treeObj = $.fn.zTree.getZTreeObj("treeId"); var node = treeObj.getNodeByParam("id ...
- 通用mybatis单表操作接口
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- [VS] - EntityFrameworkCore 2.0 安装失败 之解决
背景 在 Visual Studio 2017 中,使用 Nuget 包管理器安装 EntityFrameworkCore 2.0 失败.切换至程序包控制器管理台,查看 Error Message: ...
- 是否应该学习qt源码(碰到问题的时候,或者文档对函数描述不清楚的时候,可以看一下)
是否应该学习qt源码 如果你想调用某个函数,但是文档并没有清晰描述这个函数的功能的时候,你就需要去阅读源码,看看Qt究竟是怎么实现的.比如用QNetworkAccessManager发送一个QHttp ...