Skip to content
大纲

初始化

快速入门

  1. 初始化一个FosClient。

FosClient是与FOS服务交互的客户端,FOS Python SDK的FOS操作都是通过FosClient完成的。用户可以参考FosClient。完成初始化客户端的操作。

  1. 新建一个Bucket。

Bucket是FOS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)。用户可以参考新建Bucket来完成新建一个Bucket的操作。

  1. 上传Object。

Object是FOS中最基本的数据单元,用户可以把Object简单的理解为文件。用户可以参考上传Object完成对Object的上传。

  1. 列出指定Bucket中的全部Object。

当用户完成一系列上传后,可以参考查看Bucket中Object列表来查看指定Bucket下的全部Object。

  1. 获取指定Object

用户可以参考获取Object来实现对一个或者多个Object的获取。

确认Endpoint

在确认您使用SDK时配置的Endpoint时,可先阅读开发人员指南中关于 FOS访问域名 的部分,理解Endpoint相关的概念。目前暂时支持一个Endpoint,对应信息为:

区域访问Endpoint支持协议
中国-华南fos.flymeyun.comHTTPS

获取密钥

要使用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服务进行交互提供了一系列的方法。

  1. 在新建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详情 获取

  1. 在完成上述配置之后,参考如下代码新建一个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:

    python
    config = 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协议:

    python
    config = 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能指定的所有参数如下表所示:

参数说明
portFOS端口号
send_buf_size发送缓冲区大小
recv_buf_size接收缓冲区大小
connection_timeout_in_mills请求超时时间(单位:毫秒)
retry_policy连接重试策略,初始化Client时默认为三次指数退避