创建工作流(Python SDK)
功能说明
根据模板创建工作流。
接口约束
- OBS支持的Region与Endpoint的对应关系,详细信息请参见地区与终端节点。
方法定义
WorkflowClient.createWorkflow(templateName, graphName, agency, description=None, parameters=None)
请求参数
参数名称 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
graphName |
是 |
str |
参数解释: 工作流名称 约束限制: 名称必须以字母或数字开头,只能由字母、数字、下划线和中划线组成,长度小于等于64个字符,且不能重名。 默认取值: 无 |
templateName |
是 |
str |
参数解释: 工作流模板的名称 约束限制: 名称必须以字母或数字开头,只能由字母、数字、下划线和中划线组成,长度小于等于64个字符,且不能重名。 默认取值: 无 |
description |
否 |
str |
参数解释: 工作流的描述 约束限制: 长度最小为0,最长为256,可以是数字、大小写字母以及英文的逗号,句号,冒号,中划线,下划线,空格 默认取值: 无 |
agency |
是 |
str |
参数解释: 委托名,用于OBS服务能够访问函数服务 约束限制: agency必须是赋予OBS服务有函数服务访问权限。 默认取值: 无 |
parameters |
否 |
Array Input Json结构体 |
参数解释: 工作流中用户可修改参数列表 取值范围: 详见结构体说明 |
返回结果
类型 |
说明 |
---|---|
参数解释: SDK公共结果对象。 |
参数名称 |
参数类型 |
描述 |
---|---|---|
status |
int |
参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 |
reason |
str |
参数解释: HTTP文本描述。 默认取值: 无 |
errorCode |
str |
参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 |
errorMessage |
str |
参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 |
requestId |
str |
参数解释: OBS服务端返回的请求ID。 默认取值: 无 |
indicator |
str |
参数解释: OBS服务端返回的错误定位码。 默认取值: 无 |
hostId |
str |
参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 |
resource |
str |
参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 |
header |
list |
参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 |
body |
object |
参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无 |
代码样例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 引入模块 from obs import WorkflowClient # 创建WorkflowClient实例 workflowClient = WorkflowClient( access_key_id=os.getenv("AccessKeyID"), secret_access_key=os.getenv("SecretAccessKey"), server='https://your-endpoint' ) # 创建工作流 try: resp = workflowClient.createWorkflow('templateName', 'graphName', 'agency', description='description', parameters='parameters') if resp.status < 300: print('requestId:', resp.requestId) else: print('errorCode:', resp.errorCode) print('errorMessage:', resp.errorMessage) except: import traceback print(traceback.format_exc()) # 关闭workflowClient workflowClient.close() |