Datera Fabric Python开发包

dfs-sdk的Python项目详细描述


Datera Python开发包

简介

这是用于fabric services api的python sdk v1.2版本。 下载并使用此软件包将隐式接受复制中的术语

假定此包的用户熟悉dateraapi。 有关api本身的详细信息不一定要通过这个sdk来涵盖。

功能

  • 自动会话管理和登录
  • 自动和可配置的请求重试
  • 对象到静止请求转换
  • 标准日志格式(与datera sreq日志解析兼容)
  • 端点验证(可切换)
  • 对响应属性的点符号访问
  • UDC合规性

安装

来源

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install

来自PYPI

    pip install -U dfs_sdk

通用日期配置

通用日期配置(UDC)是可以在 方法数:

  • 具有以下任何名称的JSON文件:
    • .datera配置
    • 日期配置
    • .datera config.json
    • datera config.json
  • json文件具有以下配置:
{"mgmt_ip":"1.1.1.1","username":"admin","password":"password","tenant":"/root","api_version":"2.2","ldap":""}
  • 文件可以位于以下任何位置。这也是查找 配置文件的顺序:
    • 当前目录
    • 主目录
    • home/config目录
    • /etc/datera
  • 如果找不到datera配置文件并且存在cinder.conf文件,则 配置分析器将尝试从 煤渣形态
  • 租户、api版本和ldap总是可选的,但通常 建议将它们包含在UDC文件中,以便于参考。
  • 可以使用环境变量而不是json文件。
    • 数据管理
    • 数据用户
    • dat_pass
    • dat_租户
    • 数据API
    • dat_ldap
  • 大多数为使用通用datera配置而构建的工具也将允许 用于通过命令行标志提供/重写任何配置值。
    • --主机名
    • --用户名
    • --密码
    • --租户
    • --API版本
    • --LDAP

使用通用日期配置进行开发

在新的python工具中使用udc非常简单,只需将以下内容添加到 您的python脚本:

fromdfs_sdkimportscaffoldparser=scaffold.get_argparser()parser.add_argument('my-new-arg')args=parser.parse_args()

如果您想使用子解析器,或者自定义解析器的帮助输出 然后使用以下命令

importargparsefromdfs_sdkimportscaffoldtop_parser=scaffold.get_argparser(add_help=False)new_parser=argparse.ArgumentParser(parents=[top_parser])new_parser.add_argument('my-new-arg')args=new_parser.parse_args()

在脚本中,可以通过调用接收配置

fromdfs_sdkimportscaffoldscaffold.get_argparser()config=scaffold.get_config()

注意:之前不再需要调用scaffold.get_argparser() 调用scaffold.get_config()。只有在建筑 需要cli解析器的cli工具。

日志记录

设置自定义logging.json文件

exportDSDK_LOG_CFG=your/log/location.json

或者可以将该值设置为DEBUG、INFO或ERROR

exportDSDK_LOG_CFG=info

将日志记录设置为stdout。该值可以是 python日志模块(例如:debug、info等)

exportDSDK_LOG_STDOUT=debug

python sdk生成的调试日志非常大,并且位于 旋转文件处理程序(前提是未提供自定义logging.json文件)

托管对象

Datera提供了一个应用程序驱动的存储管理模型,其目标是紧密地协调存储 有相应的应用程序要求。

主要存储对象的定义和区分如下:

应用程序实例(appinstance)

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
0

存储实例

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
1

体积

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
2

查看托管对象层次结构的另一种方法如下:

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
3

端点

url端点上的http操作是与受管对象集交互的唯一方式。 URL的格式为:

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
4

其中7717是用于访问pi和"v2.2"对应于api版本控制。

简而言之,rest api支持4个操作/方法创建(post)、修改(put)、列表(get)、删除(delete)。 任何输入负载都是json格式的;任何返回负载都是json格式的。 任何http请求的"头"中都需要登录会话密钥。 会话密钥的使用寿命为15分钟。

有关rest api的完整参考文档,请参阅datera restapi指南。

这个python sdk充当原始http层的包装器。

使用此sdk

datera模块名为dfs\u sdk,主入口点名为dateraapi。 获取对象句柄的操作如下:

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
5

还可以使用datera udc文件初始化sdk。下面将读取任何有效的 系统或当前环境变量中的UDC文件。

    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
6

可配置选项

这些选项可以通过get api构造函数在实例化时设置 <表><广告>选项 默认值 说明 < /广告><正文>租户'/root'Datera账户租户/转租人超时300(秒)http请求超时安全正确是否使用https(假设置http)严格错误发送请求前是否检查终结点是否有效证书无https验证证书证书密钥无https验证证书密钥线程本地>} /td>用于将值向下传递到连接层,通常用于记录

常见对象、示例和用例

有关编程示例,请参见utils目录,其中包括以下内容:

所有对象的常用方法包括create()、set()、delete()、list()

  • 创建名为foo的app_实例
    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
7
  • 可以通过list()遍历对象:
    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
8
  • 将给定的应用程序实例设置为脱机状态:
    apt-get install python-virtualenv (or yum install python-virtualenv for CentOS)
    virtualenv sdk
    source sdk/bin/activate
    git clone https://github.com/Datera/python-sdk.git
    cd python-sdk
    pip install -r requirements.txt
    python setup.py install
9
  • 删除给定的应用程序实例:
    pip install -U dfs_sdk
0

报告问题

有关问题和反馈,请发送电子邮件"support@datera.io"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java通过Spring依赖注入部署CXF服务端点   java字节或字节,请解释   java Swing组件命名约定?   java可以在JOptionPane中放置多个输入。显示输入对话框?   Dropwizard for Hibernate中的java SQLight方言   Windows8中的java CPU负载   将Java版本号映射到主要Java版本   使用数据库Java重新启动pi   java如何在RecyclerView中显示ArrayList?   使用枚举作为映射键的java会在数据库中生成RAW   java vscode不能用于本机模块?   分段函数的java导数   java为什么主体在spring安全性中作为类型对象返回?   java MySupportMapFragment未按照google地图Android显示位置名称   java Android OCR(光学字符识别)   java有什么理由我不应该使用文件阅读器吗?   java私有静态成员内存使用   java在将POJO转换为xml时去掉innerclass的类名   java我需要关闭音频剪辑吗?   java最新文件和文件的动态命名