
# 快速开始
#### 基因容器SDK简介
基因容器服务软件开发工具包（GCS SDK，Gene Container Service Software Development Kit）对GCS服务提供的REST API接口进行封装，以简化您的开发工作。当前仅支持Python3语言的SDK，您可以使用GCS SDK提供的接口进行开发。当前SDK版本支持基于GCS环境和Cromwell环境两种任务运行方式，请根据需要进行选择。
在开始SDK开发前，请确保您已了解基因容器的基本概念，详细请参见[基本概念](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_005.html)。
SDK的版本迭代记录，请参见[修订记录](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_006.html)。
#### 环境准备
在安装使用SDK前，请确保已完成必要的环境准备。
- 已注册华为云帐号，并已开通基因容器服务。基因容器在控制台的访问链接为<https://console.huaweicloud.com/gcs>。
- 已完成开发环境准备，包括：
  - 根据操作系统从[Python官网](https://www.python.org/)下载并安装Python版本。
    ![](https://support.huaweicloud.com/sdkreference-gcs/public_sys-resources/notice_3.0-zh-cn.png)
    当前SDK包仅支持python3。
    安装完成后请输入如下命令，查看是否安装成功。
    ```
    python3 -V
    Python 3.6.8
    ```
    
  
  - 已获取项目名称（project_name)。如未自定义项目名称，无需关注此参数
  
  - 已有可用的AK/SK。
   
 
#### 安装SDK
1. 获取GCS SDK安装包 cloud-sdk-python3-gcs-x.x.x.zip。 
   登录[GCS控制台](https://console.huaweicloud.com/gcs)，下载基因容器Python SDK开发包，如下图所示。
   图1Python SDK开发包下载地址   
   ![](https://support.huaweicloud.com/sdkreference-gcs/zh-cn_image_0202842086.png "点击放大")
   
   
2. 解压SDK安装包。 
   目录结构如下：
   ```
   |-- cloud-sdk-python-gcs-x.x.x.zip
     |-- gcs-sdk-x.x.x.tar.gz            python3 SDK
     |-- cromwell-demo.zip  
       |-- cromwell_demo
         |-- cromwell_demo.py            Cromwell引擎接口使用示例
         |-- example.inputs              输入文件
         |-- example.options             options文件
         |-- example.wdl                 WDL描述文件
     |-- gcs-demo.zip  
       |-- gcs_demo
         |-- gcs-grammr.yaml             GCS流程语法文件
         |-- gcs_demo.py                 GCS接口使用示例  
     |-- README.md
   ```
   
   
3. 下载安装包管理工具pip，并更新到最新版本。
4. 安装SDK。 
   **pip3 install gcs-sdk-x.x.x.tar.gz**
   如果由于pip版本过低安装失败，请使用如下命令更新pip到最新版本之后再重新安装。
   **python3 -m pip install --upgrade pip**
   ![](https://support.huaweicloud.com/sdkreference-gcs/public_sys-resources/note_3.0-zh-cn.png)
   在Ubuntu中，升级了pip，如果版本跨度较大,再次使用pip 安装相关的python包的时候可能会出现以下错误
   ```
   ImportError: cannot import name main
   ```
   解决方法：pip3文件在usr/bin目录下，cd进去，进行以下修改
   把下面的三行
   ```
   from pip import main
   if __name__ == '__main__':
       sys.exit(main())
   ```
   换成下面的三行
   ```
   from pip import __main__
   if __name__ == '__main__':
       sys.exit(__main__._main())
   ```
   安装完成后，您就可以参考[示例代码说明]使用。
   
   
 
 #### 示例代码说明
1. 编辑XXX_demo.py文件，配置认证信息（ak/sk或username/password），以gcs_demo.py为例。 
   ```
   # -*- coding: UTF-8 -*-
   import requests
   from gcs import GCSClient
   # 初始化gcs客户端
   gcs = GCSClient()
   # [二选一]设置用户名密码，默认region='cn-north-4',如在北京四运行无需设置,
   # 默认project_name=region,无需指定
   username="XXXXX"
   password="XXXXX"
   project_id="XXXXX"
   gcs.set_user_auth_param(username, password, project_id)
   # [二选一]
   # 设置AK，SK 默认region='cn-north-4',如在北京四运行无需设置,
   # 默认project_name=region,无需指定
   # ak="xxxxx"
   # sk="xxxxx"
   # project_id="XXXXX"
   # gcs.set_aksk_auth_param(ak, sk, project_id)
   ```
   
   
2. 执行demo文件 
   ```
   $ python3 gcs_demo.py
   ```
   SDK接口使用方法请参见[接口列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_001.html)。
   使用GCS客户端调用成功后均会返回 python对象requests.Response，关于Response的使用方法，请参见[Response对象使用方法](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_003.html)。
   
   
 
