更新时间:2024-12-13 GMT+08:00

创建私有provider版本

功能介绍

创建私有provider版本(CreatePrivateProviderVersion)

  • provider的版本号需遵循语义化版本号(Semantic Version),为用户自定义。

  • 如果provider_name和provider_id同时存在,则资源编排服务会检查是否两个匹配,如果不匹配则会返回400。

  • 资源编排服务只会对function_graph_urn进行浅校验,如是否符合正则,是否仅指定为当前region等。并不会深度校验,即用户是否存在权限调用,是否真实存在等。

URI

POST /v1/private-providers/{provider_name}/versions

表1 路径参数

参数

是否必选

参数类型

描述

provider_name

String

私有provider(private-provider)的名称。此名字在domain_id+region下应唯一,可以使用小写英文、数字、中划线。仅支持以小写英文、数字开头结尾。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Client-Request-Id

String

用户指定的,对于此请求的唯一Id,用于定位某个请求,推荐使用UUID

表3 请求Body参数

参数

是否必选

参数类型

描述

provider_id

String

私有provider(private-provider)的唯一Id。

此Id由资源编排服务在生成provider的时候生成,为UUID。

由于私有provider名仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有provider,删除,再重新创建一个同名私有provider。

对于团队并行开发,用户可能希望确保,当前我操作的私有provider就是我以为的那个,而不是其他队友删除后创建的同名私有provider。因此,使用Id就可以做到强匹配。

资源编排服务保证每次创建的私有provider所对应的Id都不相同,更新不会影响Id。如果给予的provider_id和当前provider的Id不一致,则返回400

provider_version

String

provider的版本号。版本号必须遵循语义化版本号(Semantic Version),为用户自定义

version_description

String

私有provider版本(provider version)的描述。可用于客户识别并管理私有provider的版本。注意:provider版本为不可更新(immutable),所以该字段不可更新,如果需要更新,请删除后重建

function_graph_urn

String

FunctionGraph方法的统一资源标识,用于标识唯一的FunctionGraph方法。当前只支持和RFS同region的function_graph_urn,如果给予了关于其他region的,会报错400。

关于该参数的详细解释,请参考官方文档:https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0102.html

响应参数

状态码: 400

表4 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表5 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表7 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表9 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 404

表10 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表11 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 409

表12 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表13 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 429

表14 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表15 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

状态码: 500

表16 响应Body参数

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

encoded_authorization_message

String

包含有关未经授权请求的信息。

details

Array of Detail objects

权限拒绝时服务返回的详细错误信息。

表17 Detail

参数

参数类型

描述

error_code

String

响应码

error_msg

String

响应消息

请求示例

  • 创建一个新的私有provider版本

    POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions
    
    {
      "provider_version" : "0.0.2",
      "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest",
      "version_description" : "my second private provider version"
    }
  • 创建一个新的私有provider版本,并带有provider ID

    POST https://{endpoint}/v1/private-providers/my-hello-world-provider-name/versions
    
    {
      "provider_id" : "1b15e005-bdbb-4bd7-8f9a-a09b6774b4b3",
      "provider_version" : "0.0.1",
      "function_graph_urn" : "urn:fss:cn-north-7:a61dfe3154de42829367056598d5040f:function:default:test:latest",
      "version_description" : "my first private provider version"
    }

响应示例

状态码

状态码

描述

201

创建成功,无数据返回

400

用户请求非法

401

用户身份认证失败

403

  1. 用户无权限调用此API

  2. 私有provider版本数量达到上限

404

私有provider不存在

409

创建冲突,同名的版本号(provider_version)已经存在

429

请求数量过多

500

服务器内部错误