• 沒有找到結果。

3.1 初始化客户端

3.1.1 初始化 GCS 对象

GCSClient()

功能描述

创建GCSClient实例。向GCS发送任一请求之前,必须先创建一个GCSClient实例。初 始化的实例中参数值为空,需要通过3.1.2 用户名/密码方式初始化入参或3.1.3 AK/SK 方式初始化入参初始化入参,然后才能通过实例调用GCS提供的其它接口。

输入参数

返回值

返回一个GCSClient实例,通过该实例调用GCS提供的接口。

示例

from gcs import GCSClient gcs = GCSClient()

功能描述

使用用户名/密码方式初始化GCSClient中的基础参数,与AK/SK方式二选一即可,为了 更安全的使用,推荐使用AK/SK的方式。

输入参数

参数 是否

必选

参数 类型

参数描述

username 是 String 华为云用户名,如果没有用户名,请填写账 号名。

password 是 String 华为云密码。

project_id 是 String 项目ID domain_name 是 String 华为云账号名

region 否 String 华为云region,默认为北京四"cn-north-4"。

当前GCS支持的Region如下。

● 北京一:cn-north-1

● 北京四:cn-north-4

● 上海二:cn-east-2 project_name 否 String 如有自建项目请填写。

默认值等同于region,无需填写。

项目名称,请参见API凭证。

返回值

示例

from gcs import GCSClient gcs = GCSClient()

gcs.set_user_auth_param(username, password, project_id, domain_nam)

3.1.3 AK/SK 方式初始化入参

set_aksk_auth_param(ak, sk, project_id, region, project_name)

功能描述

ak 是 String 用户的Access Key ID,即访问密钥ID,是与 私有访问密钥关联的唯一标识符。访问密钥 ID和私有访问密钥一起使用,对请求进行加 密签名。获取方法请参见访问密钥。

sk 是 String 用户的Secret Access Key,获取方法请参见 访问密钥。

project_id 是 String 项目ID

region 否 String 华为云region,默认为北京四"cn-north-4"

当前GCS支持的Region如下。

● 北京一:cn-north-1

● 北京四:cn-north-4

● 上海二:cn-east-2 project_name 否 String 如有自建项目请填写。

默认值等同于region,无需填写 项目名称,请参见API凭证。

返回值

示例

from gcs import GCSClient gcs = GCSClient()

gcs.set_aksk_auth_param(ak, sk, project_id)

3.2 环境

3.2.1 查询 environment 列表

get_environments()

功能描述

查询环境列表。

返回值

响应中含有多个环境结构,每个结构如表3-1所示。

3-1 返回值参数

参数 参数类型 描述

guid String 环境ID。

project_id String 环境所属项目ID。

domain_id String 环境所属租户ID。

name String 环境名称。

description String 环境描述。

status String 环境运行状态,分别为:

● Running:运行中

● Abnormal:异常

● Creating:创建中

● Deleting:删除中

● CreatedFailed:创建失败

● DeletedFailed:删除失败 create_at String 环境创建时间。

update_at String 环境更新时间。

cluster_id String 环境所属集群ID。

cluster_name String 环境所属集群名称。

cpu int 环境CPU核数。

memory int 环境内存量。

source String 部署环境的方式,支持如下四种环境。

● cce:云容器引擎

● cci:云容器实例 stack_id String 堆栈ID。

is_gene_cluster bool 是否为部署环境时新创建的集群。

default_env bool 是否为默认环境。

order_id String 若集群为包周期方式购买,order_id展示 购买订单号。

参数 参数类型 描述

cluster_info String 若部署环境的方式为"cce",cluster_info 展示集群信息;若部署环境的方式为

"cci",返回体不存在cluster_info字段。

enterprise_project JSONObj

ec 企业项目,详见表表3-2

3-2 enterprise_project

参数 参数类型 描述

id String 企业项目id

name String 企业项目的名称

3.2.2 查询 environment

get_environment(environment_id)

功能描述

查看特定环境详细信息。

输入参数

参数 是否

必选

参数 类型

参数描述

environment_id 是 String 需要查询的环境ID,即get_environments获 得的guid。

返回值

响应中含指定环境的结构,结构如表3-1所示。

3.3 流程

3.3.1 创建 workflow

create_workflow(name, vendor, description, file_obj, epid='0')

功能描述

创建自定义流程,方便后续测序使用。

name 是 String 流程名称,最大长度为40,以小写字母开 头,允许出现中划线(-)、小写字母和数字,

且必须以小写字母或数字结尾。

vendor 是 String 流程上传者,输入字符最大长度为64,中文 算单个字符,不能包含<>()#%&/字符,如果 为空字符串“”,则默认值为租户名称。

description 是 String 流程描述,输入字符最大长度为255,中文算 单个字符,不能包含<>#%&字符,如果为空 字符串“”,则流程描述为空。

file_obj 是 String 流程模板文件的路径,流程模板文件写作请 参考《流程语法参考》。

epid 否 String 流程的企业项目id,默认为“0”,表示 default的企业项目

返回值

参数 参数

类型

参数描述

id Strin

g 流程ID。

3.3.2 删除 workflow

delete_workflow(workflow_id)

功能描述

删除已上传的自定义流程。

输入参数

参数 是否

必选 参数

类型 参数描述

workflow_id 是 String 需要删除的流程id,可以为

create_workflow接口的返回值。

返回值

返回内容为空。

3.3.3 更新 workflow

update_workflow(workflow_id, file_obj=None, vendor=None, description=None)

功能描述

更新自定义流程。

输入参数

参数 是否

必选

参数 类型

参数描述

workflow_id 是 String 流程Id,可以为create_workflow接口的返 回值。

vendor 否 String 流程上传者,如果未填写,默认值为租户名 称。

description 否 String 流程描述,如果未填写,则流程描述文件为 空。

file_obj 否 String 流程文件。

返回值

参数 参数

类型

参数描述

id Strin

g 流程ID。

3.3.4 下载 workflow

download_workflow(workflow_id)

功能描述

下载流程文件。

workflow_id 是 String 流程id,可以为create_workflow接口的返 回值。

返回值

参数 参数

类型 参数描述

无 []byt

e 流程模板文件内容,按照byte数组进行返回,从 Response.Context中读取。

3.3.5 查询 workflow 列表

get_workflows()

功能描述

查询流程列表。

输入参数

返回值

响应中含有多个流程的结构,结构如表3-3所示。

3-3 workflow 结构

参数 参数

类型

参数描述

id Strin

g 流程ID。

name Strin

g 流程名称。

description Strin

g 流程描述。

vendor Strin

g 流程发布者。

参数 参数 类型

参数描述

scope Strin

g 流程范围。

project_id Strin

g 流程所属项目ID。

domain_id Strin

g 流程所属租户ID。

domain Strin

g 流程所属租户名称。

create_at Strin

g 流程创建时间。

update_at Strin

g 流程更新时间。

workflow_url Strin

g 流程模板文件在OBS桶中的url存储地址,用于下载对 应的流程文件。

logo Strin

g 流程logo。

image Strin

g 流程拓扑图。

enterprise_project JSO NObjec

企业项目,详见表表3-4

3-4 enterprise_project

参数 参数类型 描述

id String 企业项目id

name String 企业项目的名称

3.3.6 查询 workflow

get_workflow(workflow_id)

功能描述

查询流程详情。

workflow_id 是 String 流程Id,可以为create_workflow接口的返

id Strin

g 流程ID。

name Strin

g 流程名称。

description Strin

g 流程描述。

vendor Strin

g 流程发布者。

scope Strin

g 流程范围。

project_id Strin

g 流程所属项目ID。

domain_id Strin

g 流程所属租户ID。

domain Strin

g 流程所属租户名称。

create_at Strin

g 流程创建时间。

update_at Strin

g 流程更新时间。

workflow_url Strin

g 流程模板文件在OBS桶中的url存储地址,用于下载对 应的流程文件。

logo Strin

g 流程logo。

参数 参数 类型

参数描述

enterprise_project JSO NObjec

企业项目,详见表表3-6

3-6 enterprise_project

参数 参数类型 描述

id String 企业项目id

name String 企业项目的名称

3.3.7 查询 workflow 输入

id 是 String 流程ID,可以为create_workflow接口的返 回值。

返回值

参数 参数类型 参数描述

inputs JSONObj ect,表 3-7

流程输入信息。

3-7 input 定义

参数 参数类型 参数描述

default number、array、

String、bool 输入参数默认值。

示。

description String 参数描述。

type String 参数类型,包括number、

array、String、bool。

label String 参数标签。

3.3.8 查询 workflow 工具

get_workflow_tools(workflow_id)

功能描述

查询该流程里包含的工具列表。

输入参数

参数 是否

必选 参数

类型 参数描述

workflow_id 是 String 流程ID,可以为create_workflow接口的返 回值。

返回值

参数 参数

类型

参数描述

tools JSO

NObjec,

见表3-8

流程工具信息列表。

3-8 工具描述

参数 参数

类型

参数描述

type Strin

g 类型,分为container(容器)、spark。

参数 参数 类型

参数描述

name Strin

g 工具名称。

version Strin

g 工具版本号。

image Strin

g 镜像地址。

cpu Strin

g CPU推荐值。

memory Strin

g 内存推荐值。

command Strin

g 推荐执行命令。

description Strin

g 工具描述。

scope Strin

g 使用范围,分为public(公开的)、private(私有 的)。

3.4 GCS 流程执行

3.4.1 创建 execution

create_execution(name, workflow_id, sfs_pvc_name, cluster_id="", priority=0, inputs_json={}, namespace="", timeout=720, description="", email=[], sms=[], events=["exec_failed", "exec_succeeded"], email_message="", email_subject="", email_display_name="", sms_message="", image_pull_policy="IfNotPresent", job_retry_count=3, target="cci", epid="0")

功能描述

name 是 String 执行名称,输入字符最大长度为64字节,以 小写字母开头,允许出现中划线(-)、数字和 小写字母,且必须以小写字母或数字结尾。

cluster_id 否 String 集群ID,通过get_environments或者 get_environment(environment_id)获取。

默认为空,创建基于CCE的execution时必 选。

sfs_pvc_name 是 String 高速共享存储PVC名称。

● 环境为CCI时,请打开CCI控制台,在左侧 导航选择“存储管理>文件存储卷”,选 择环境所设置的命名空间,通过“文件存 储名”即可获取到“卷名”,即PVC名 称。

● 环境为CCE时,请在基因容器控制台按下 图方法获取。

priority 否 Int64 execution创建操作优先级,取值范围[0,999]

(包括0和999),0表示优先级最低,999表 示优先级最高,默认值为0。

namespace 否 String 若target为“cce”,该字段表示云容器引擎

(CCE)中已存在的命名空间,如果为空,则 默认为default;若target为“cci”,该字段 表示云容器实例(CCI)中已存在的命名空间 且为必填字段。

description 否 String 执行结果的描述,如果为空,则执行结果的 描述为空。

inputs_json 否 Map 流程输入参数,当为空时,使用流程文件的 inputs中定义的默认值,否则替换流程文件中 的inputs值,例如{"key1":"value1",

"key2":"value2"}。

timeout 否 Int64 超时时间,单位为分钟,如果不填,则默认 是720分钟。

参数 是否

● exec_failed:execution执行失败时发送通 知。

● exec_succeeded:execution执行成功时发 送通知。

email_message 否 String 自定义邮件模板,默认为空,最大长度为360 个字符。支持guid/name/status三个默认参 数,例如:"这是一条简单的模板,execution 的ID为{guid},execution的名称为{name},当 前的状态为{status}“。

email_subject 否 String 自定义邮件主题,默认为空。

email_display_nam

e 否 String 自定义邮件发送者,默认为空。建议设置为

具有意义的发送者,不采用默认值。

sms_message 否 String 自定义短信模板,默认为空。最大长度为360 个字符。支持guid/name/status三个默认参 数,例如:"这是一条简单的模板,execution 的ID为{guid},execution的名称为{name},当 前的状态为{status}“。

image_pull_policy 否 String 镜像拉取策略,可选值为:

● IfNotPresent:本地镜像不存在时,从镜 像库重新拉取镜像。

● Always:总是从镜像库重新拉取镜像。

● Never:不管镜像存不存在,都不从镜像 库重新拉取镜像。

job_retry_count 否 Int64 Job失败时的重试次数,默认3次

target 否 String execution运行环境的类型,默认为“cci”,

可选值为:

● cci:创建基于CCI的execution。

● cce:创建基于CCE的execution。

epid 否 String execution的企业项目id,默认为“0”,表示 default的企业项目

id Strin

g 执行ID。

3.4.2 删除 execution

delete_execution(execution_id)

execution_id 是 String 执行结果ID,为create_execution接口的返 回值。

返回值

返回内容为空

3.4.3 查询 execution

get_execution(execution_id)

execution_id 是 String 执行ID,可以为create_execution接口的返 回值。

返回值

响应中含有一个execution结构,建议通过response.json()方式获取返回值,结构如表 3-10所示。

3-10 返回值

参数 参数

类型

参数描述

execution JSO NObject

execution基本属性,详见表3-12。

object JSO

NObject

k8s execution部分,详见表3 K8s execution结构。

status JSO

NObject

节点状态,详见表3-20, 如果为空,则不返回。

enterprise_project JSO NObjec

企业项目,详见表表3-11

3-11 enterprise_project

参数 参数类型 描述

id String 企业项目id

name String 企业项目的名称

3-12 Execution 基本属性

参数 参数类型 描述

guid String execution guid。

name String execution名称。

namespace String execution所属命名空间。

cluster_name String execution所属集群名称。

cluster_id String execution所属集群ID。

project_id String execution所属项目ID。

domain_id String execution所属租户ID。

description String execution描述。

● Running:处理中

● Cancelling:取消中

● ForceCancelling:强制取消中

● Retrying:重试中

● Succeeded:执行成功

● Failed:执行失败

● Cancelled:取消 workflow_id String 创建execution的流程ID。

● Cancelled:取消 workflow_id String 创建execution的流程ID。

相關文件