您的位置:首页 > 编程语言 > Python开发

python S3

2020-02-02 20:55 1351 查看

python S3

S3官网

京东云S3
PythonS3 API

小编用的是京东云的S3 SDK,。

S3可以干嘛?

小编用的是京东云服务,平时做开发主要用来存储一些图片和文档。S3 是一个公开的服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。 S3 提供一个 RESTful API 以编程方式实现与该服务的交互。

SDK-Python

若您需要使用Python来访问京东云的对象存储服务,我们可以使用第三方的boto3接口。它可以看作是符合AWS S3 API标准的Python SDK。关于如何使用boto3,请参考https://boto3.readthedocs.io/en/latest/

用S3实现上传功能

首先去开通服务
这个在以上官网就可以完成,不再做演示。

下载第三方包

pip install boto3

创建client
ACCESS_KEY

import boto3

ACCESS_KEY = 'your accesskey'
SECRET_KEY = 'your secretkey'
s3 = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
#下面给出一个endpoint_url的例子
endpoint_url='https://s3.cn-north-1.jdcloud-oss.com'
)

以上步骤完成你就成功创建了S3对象,接下来你就可以上传文件,下载文件,拷贝文件(这些API连接在文章开头已给出)

上传文件
其实代码非常简单,主要是理解!

s3.upload_file(filename, bucket, key)

现在来介绍三个参数,举个列子 :

filename: 就是你文件的绝对路径。

bucket: OSS存储空间名称

key:你要放到那个目录下

endpoint分内网和外网访问域名。例如:s3.cn-south-1.jdcloud-oss.com 指向华南-广州地域的外网访问地址。内网访问地址s3-internal.cn-south-1.jdcloud-oss.com 指向华南-广州地域内网地址

如果你的老板给你个S3路径你如何分割:
s3://jidong-oss-casese/train/public/clone/1/
bucket:jidong-oss-casese
key_path: train/public/clone/1/在加上你的文件名,比如你要上传一个test.txt
key:train/public/clone/1/test.txt(完整的key)

S3没有文件夹名字

在 s3中没有文件夹,比如你想把文件放到dir目录下应该怎么做,
就是拼接到key后面
key:train/public/clone/1/dir/test.txt

完整路径就是:
s3://jidong-oss-casese/train/public/clone/1/dir/test.txt

下载文件

如果上面完成,以下就是一个格式!只是API不一样

s3.download_file(Bucket, Key, Filename)

复制文件

copy_source = {
'Bucket': bucket,
'Key': key
}
s3.copy(copySource, Bucket, Key)

copy_source:文件的bucket和key
key:拷贝到的key

希望小编可以帮助到你哟!

  • 点赞
  • 收藏
  • 分享
  • 文章举报
jianghao_boke 发布了6 篇原创文章 · 获赞 0 · 访问量 222 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: