Appearance
初始化
快速入门
- 初始化一个FosClient。
FosClient是与FOS服务交互的客户端,FOS Python SDK的FOS操作都是通过FosClient完成的。用户可以参考FosClient。完成初始化客户端的操作。
- 新建一个Bucket。
Bucket是FOS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)。用户可以参考新建Bucket来完成新建一个Bucket的操作。
- 上传Object。
Object是FOS中最基本的数据单元,用户可以把Object简单的理解为文件。用户可以参考上传Object完成对Object的上传。
- 列出指定Bucket中的全部Object。
当用户完成一系列上传后,可以参考查看Bucket中Object列表来查看指定Bucket下的全部Object。
- 获取指定Object
用户可以参考获取Object来实现对一个或者多个Object的获取。
确认Endpoint
在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于 FOS访问域名 的部分,理解Endpoint相关的概念。目前暂时支持一个Endpoint,对应信息为:
区域 | 访问Endpoint | 支持协议 |
---|---|---|
中国-华南 | fos.flymeyun.com | HTTPS |
获取密钥
要使用Flyme云FOS,您需要拥有一个有效的AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问FOS做签名验证。 目前情况下,请通过控制台 Bucket详情 获取。
新建FosClient
FosClient是FOS服务的客户端,为开发者与FOS服务进行交互提供了一系列的方法。
使用AK/SK新建FosClient
FosClient是FOS服务的Python客户端,为调用者与FOS服务进行交互提供了一系列的方法。
- 在新建FosClient之前,需要先创建配置文件对FosClient进行配置,以下将此配置文件命名为fos_sample_conf.py,具体配置信息如下所示:
python
#!/usr/bin/env python
#coding=utf-8
#从Python SDK导入FOS配置管理模块以及安全认证模块
from flymeyun_fos.fos_client_configuration import FosClientConfiguration
from flymeyun_fos.auth.fos_credentials import FosCredentials
#设置FosClient的Host,Access Key ID和Secret Access Key
fos_host = "https://fos.flymeyun.com"
access_key_id = "AK"
secret_access_key = "SK"
#创建FosClientConfiguration
config = FosClientConfiguration(credentials=FosCredentials(access_key_id, secret_access_key), endpoint = fos_host)
在上面代码中,ACCESS_KEY_ID对应控制台中的“Access Key ID”,SECRET_ACCESS_KEY对应控制台中的“Access Key Secret”,获取方式请参考控制台 Bucket详情 获取
- 在完成上述配置之后,参考如下代码新建一个FosClient。
python
#导入FosClient配置文件
import fos_sample_conf
#导入FOS相关模块
from flymeyun_fos import exception
from flymeyun_fos.services import fos
from flymeyun_fos.services.fos import canned_acl
from flymeyun_fos.services.fos.fos_client import FosClient
#新建FosClient
fos_client = FosClient(fos_sample_conf.config)
配置HTTPS协议访问FOS
您可以通过如下两种方式在FOS Python SDK中使用HTTPS访问FOS服务:
在endpoint中指定HTTPS:
pythonconfig = fos_client_configuration.FosClientConfiguration( credentials = fos_credentials.FosCredentials( access_key_id = 'your-ak', secret_access_key = 'your-sk' ), endpoint = 'https://fos.flymeyun.com' ) client = fos_client.FosClient(config)
通过在protocol中指定https来设置HTTPS协议:
pythonconfig = fos_client_configuration.FosClientConfiguration( credentials = fos_credentials.FosCredentials( access_key_id = 'your-ak', secret_access_key = 'your-sk' ), endpoint = 'fos.flymeyun.com', protocol = flymeyun_fos.protocol.HTTPS ) client = fos_client.FosClient(config)
注意:如果您在指定了endpoint的scheme的同时指定了protocol参数,则以endpoint为准。
配置FosClient
设置网络参数
用户可以设置一些网络参数:
python
#设置请求超时时间
fos_sample_conf.config.connection_timeout_in_mills = TIMEOUT
#设置接收缓冲区大小
fos_sample_conf.config.recv_buf_size(BUF_SIZE)
#设置发送缓冲区大小
fos_sample_conf.config.send_buf_size(BUF_SIZE)
#设置连接重试策略#三次指数退避重试
fos_sample_conf.config.retry_policy = BackOffRetryPolicy()
#不重试
fos_sample_conf.config.retry_policy = NoRetryPolicy()
参数说明
通过fos_client_configuration能指定的所有参数如下表所示:
参数 | 说明 |
---|---|
port | FOS端口号 |
send_buf_size | 发送缓冲区大小 |
recv_buf_size | 接收缓冲区大小 |
connection_timeout_in_mills | 请求超时时间(单位:毫秒) |
retry_policy | 连接重试策略,初始化Client时默认为三次指数退避 |