华为云用户手册

  • 请求示例 创建一个指定值的APP Code { "app_code" : "GjOD3g80AABuuFeEJpVQADBlAjBh3UzC7W+gr4VJBB5BtJ4fdVOQoSvoji3gFxUDb5pWBz9wUcw9+8/bFZ1B/4pq29wCMQC0pQWX6zTndljDEl99As1pw+WntAU9xcq+ffagoH6zDpKUvdxV6Ezj8LcCcPZN6BU="}
  • 响应示例 状态码: 201 Created { "app_code" : "GjOD3g80AABuuFeEJpVQADBlAjBh3UzC7W+gr4VJBB5BtJ4fdVOQoSvoji3gFxUDb5pWBz9wUcw9+8/bFZ1B/4pq29wCMQC0pQWX6zTndljDEl99As1pw+WntAU9xcq+ffagoH6zDpKUvdxV6Ezj8LcCcPZN6BU=", "app_id" : "9ed8b7fe84224de681e7d7a5587e76dc", "id" : "32dc8ca22d1b4b9cb94022186880576b", "create_time" : "2020-07-24T02:37:24.835128293Z"} 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:app_id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3004", "error_msg" : "App 9ed8b7fe84224de681e7d7a5587e76dc does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 app_code String App Code值 支持英文,+_!@#$%+/=,且只能以英文和+、/开头。 最小长度:64 最大长度:180 id String 编号 app_id String 应用编号 create_time String 创建时间 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 app_code 是 String App Code值 支持英文,+_!@#$%+/=,且只能以英文和+、/开头。 最小长度:64 最大长度:180
  • 响应示例 状态码: 201 Created { "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "LD", "authorizer_uri" : "/test", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 5, "id" : "0d982c1ac3da493dae47627b6439fc5c", "create_time" : "2020-09-23T02:32:10.354159293Z", "need_body" : true} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:type. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3019", "error_msg" : "The function URN does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求示例 { "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "LD", "ld_api_id" : "6f8e61317e4e4fbf8e8220cc19fcced9", "authorizer_uri" : "/test", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 5}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 type 是 String 自定义认证类型 FRONTEND:前端 BACKEND:后端 authorizer_type 是 String 自定义认证函数类型: LD:自定义后端函数 FUNC:函数服务函数 authorizer_uri 是 String 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 network_type 否 String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 注意:该字段在APIC场景下不生效 缺省值:V1 authorizer_version 否 String 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 authorizer_alias_uri 否 String 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN identities 否 Array of Identity objects 认证来源 ttl 否 Integer 缓存时间 user_data 否 String 用户数据 ld_api_id 否 String 自定义后端服务ID。 自定义认证函数类型为LD时必填 need_body 否 Boolean 是否发送body auth_downgrade_enabled 否 Boolean 宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。 缺省值:false 表4 Identity 参数 是否必选 参数类型 描述 name 是 String 参数名称。 支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。 最小长度:0 最大长度:32 location 是 String 参数位置 validation 否 String 参数校验表达式,默认为null,不做校验 最大长度:1024
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 name String 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 type String 自定义认证类型 FRONTEND:前端 BACKEND:后端 authorizer_type String 自定义认证函数类型: LD:自定义后端函数 FUNC:函数服务函数 authorizer_uri String 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 network_type String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 注意:该字段在APIC场景下不生效 缺省值:V1 authorizer_version String 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 authorizer_alias_uri String 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN identities Array of Identity objects 认证来源 ttl Integer 缓存时间 user_data String 用户数据 ld_api_id String 自定义后端服务ID。 自定义认证函数类型为LD时必填 need_body Boolean 是否发送body auth_downgrade_enabled Boolean 宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。 缺省值:false id String 自定义认证编号 create_time String 创建时间 roma_app_id String 自定义认证所属应用编号 roma_app_name String 自定义认证所属应用名称 表6 Identity 参数 参数类型 描述 name String 参数名称。 支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。 最小长度:0 最大长度:32 location String 参数位置 validation String 参数校验表达式,默认为null,不做校验 最大长度:1024 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 201 Created 示例 1 { "name" : "Api_http", "type" : 1, "version" : "V2", "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test/http", "auth_type" : "APP", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "cors" : false, "match_mode" : "NORMAL", "backend_type" : "HTTP", "remark" : "Web backend API", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "body_remark" : "", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "authorizer_id" : "", "tags" : [ "webApi" ], "roma_app_id" : "957dcd1e-d8f4-432e-8e71-df55cf772aba", "domain_name" : "", "tag" : "", "id" : "5f918d104dc84480a75166ba99efff21", "status" : 1, "arrange_necessary" : 2, "register_time" : "2022-02-09T02:46:36.913996908Z", "update_time" : "2022-02-09T02:46:36.913997175Z", "group_name" : "api_group_001", "group_version" : "V2", "run_env_name" : "", "run_env_id" : "", "publish_id" : "", "roma_app_name" : "app-htyr", "ld_api_id" : "", "backend_api" : { "authorizer_id" : "", "url_domain" : "10.10.10.156:12346", "req_protocol" : "HTTP", "remark" : "", "req_method" : "GET", "version" : "", "req_uri" : "/test/bechmark", "timeout" : 5000, "enable_client_ssl" : false, "retry_count" : "-1", "id" : "86686e62cabe44b392ad4a0856165e92", "status" : 1, "register_time" : "2022-02-09T02:46:36.914978278Z", "update_time" : "2022-02-09T02:46:36.914978525Z", "vpc_channel_info" : { "cascade_flag" : false, "vpc_channel_id" : "", "vpc_channel_port" : 0 }, "vpc_channel_status" : 2 }, "api_group_info" : { "id" : "02b157a33b394babb0b08c010bc3d76b", "name" : "api_group", "status" : 1, "sl_domain" : "02b157a33b394babb0b08c010bc3d76b.apic.****.com", "register_time" : "2022-02-09T02:46:31Z", "update_time" : "2022-02-09T02:46:31Z", "on_sell_status" : 2, "url_domains" : [ { "id" : "e91b83b07744e8eb1872d695ed4743b", "domain" : "domain.com", "cname_status" : 3, "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b", "ssl_name" : "certificate", "min_ssl_version" : "TLSv1.1" } ] }, "func_info" : null, "mock_info" : null, "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "valid_enable" : 2, "required" : 1, "id" : "57c8bf3c97ef40ee94eace95dff30014", "pass_through" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "valid_enable" : 2, "required" : 2, "id" : "8d993be96980415faa6b1fb2ebd647e0", "pass_through" : 1 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST", "id" : "709f0ea376b44aaf907aaaa37d8cce92", "req_param_id" : "8d993be96980415faa6b1fb2ebd647e0" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST", "id" : "2f152d0fb54445039158d29c2a4f69ee", "req_param_id" : "57c8bf3c97ef40ee94eace95dff30014" }, { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "20142102c6aa4f3c97d5fd6ef4010ac2" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "Application ID of the invoker.", "id" : "a1349c61016e4d999ca783a50bfeee2b" } ], "policy_functions" : null, "policy_mocks" : null, "policy_https" : [ ]} 示例 2 { "name" : "Api_function", "type" : 1, "version" : "V0.0.1", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/function", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "cors" : false, "match_mode" : "NORMAL", "backend_type" : "FUNCTION", "remark" : "FunctionGraph backend API", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "body_remark" : "", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "authorizer_id" : "", "tags" : [ "functionApi" ], "tag" : "", "roma_app_id" : "f77f5e81d9cb4424bf704ef2b0ac7690", "domain_name" : "www.sss.com", "id" : "abd9c4b2ff974888b0ba79be7e6b2763", "status" : 1, "arrange_necessary" : 2, "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "group_name" : "api_group_001", "group_version" : "V1", "run_env_name" : "", "run_env_id" : "", "publish_id" : "", "publish_time" : "", "roma_app_name" : "app-dfge", "ld_api_id" : "", "backend_api" : null, "api_group_info" : { "id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "name" : "api_group", "status" : 1, "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "register_time" : "2020-08-02T15:56:52Z", "update_time" : "2020-08-02T15:56:52Z", "on_sell_status" : 2, "url_domains" : [ { "id" : "e91b83b07744e8eb1872d695ed4743b", "domain" : "domain.com", "cname_status" : 3, "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b", "ssl_name" : "certificate", "min_ssl_version" : "TLSv1.1" } ] }, "mock_info" : null, "func_info" : { "id" : "c0740524cd4c40e3801a7afe5375f8b0", "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "network_type" : "V1", "remark" : "", "invocation_type" : "sync", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1", "register_time" : "2020-08-02T15:36:19.897262803Z", "update_time" : "2020-08-02T15:36:19.897262993Z", "status" : 1 }, "req_params" : [ ], "backend_params" : [ ], "policy_functions" : null, "policy_mocks" : [ ], "policy_https" : null} 示例 3 { "name" : "Api_mock", "type" : 1, "version" : "V0.0.1", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/mock", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "cors" : false, "match_mode" : "SWA", "backend_type" : "MOCK", "remark" : "Mock backend API", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "body_remark" : "", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "authorizer_id" : "", "tags" : [ "mockApi" ], "tag" : "", "roma_app_id" : "f77f5e81d9cb4424bf704ef2b0ac7690", "domain_name" : "www.sss.com", "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "status" : 1, "arrange_necessary" : 2, "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "group_name" : "api_group_001", "group_version" : "V1", "run_env_name" : "", "run_env_id" : "", "publish_id" : "", "publish_time" : "", "roma_app_name" : "app-dfge", "ld_api_id" : "", "backend_api" : null, "api_group_info" : { "id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "name" : "api_group", "status" : 1, "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "register_time" : "2020-08-02T15:56:52Z", "update_time" : "2020-08-02T15:56:52Z", "on_sell_status" : 2, "url_domains" : [ { "id" : "e91b83b07744e8eb1872d695ed4743b", "domain" : "domain.com", "cname_status" : 3, "ssl_id" : "ddsa83b07744e8eb1872d695ed4743b", "ssl_name" : "certificate", "min_ssl_version" : "TLSv1.1" } ] }, "mock_info" : { "remark" : "", "result_content" : "mock success", "version" : "m1", "authorizer_id" : "", "status_code" : 200, "header" : [ ], "id" : "e74bbc75825c4c38ae84ccab6bdc6175", "register_time" : "2020-08-02T15:56:52.301790367Z", "status" : 1, "update_time" : "2020-08-02T15:56:52.301790686Z" }, "func_info" : null, "req_params" : [ ], "backend_params" : [ ], "policy_functions" : null, "policy_mocks" : [ ], "policy_https" : null} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3019", "error_msg" : "The function URN does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求示例 创建一个API,认证方式为自定义认证,匹配方式为绝对匹配,后端类型为Web后端,并自定义前端请求参数和后端请求参数 { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "AUTHORIZER", "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_type" : "HTTP", "backend_api" : { "url_domain" : "10.10.10.156:12346", "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000 }, "req_protocol" : "HTTPS", "req_uri" : "/test/http", "remark" : "Web backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "tags" : [ "webApi" ], "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "required" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "required" : 2 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST" }, { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "Application ID of the invoker." } ]} 创建一个API,认证方式为APP认证,匹配方式为绝对匹配,后端类型为 函数工作流 { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "backend_type" : "FUNCTION", "func_info" : { "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "network_type" : "V1", "invocation_type" : "sync", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1" }, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "tags" : [ "functionApi" ]} 创建一个API,认证方式为APP认证,匹配方式为前缀匹配,后端类型为MOCK后端 { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "APP", "backend_type" : "MOCK", "mock_info" : { "result_content" : "mock success" }, "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Normal response example", "result_failure_sample" : "Failure response example", "tags" : [ "mockApi" ]}
  • 请求示例 { "api_id" : "bd42841c20184da6bbf457c6d8a06e37", "api_type" : "function", "scripts" : [ { "type" : "SQL", "object_name" : "fun", "content" : "ZnVuY3Rpb24gZXhlY3V0ZShkYXRhKSB7CiAgICByZXR1cm4gIkhlbGxvIHdvcmxkISIKfQ==" } ]}
  • 响应示例 状态码: 200 OK { "content_type" : "json", "created_time" : "2020-09-18T09:25:59Z", "description" : "", "id" : "bd42841c20184da6bbf457c6d8a06e37", "instance" : "f0fa1789-3b76-433b-a787-9892951c620e", "method" : "GET", "modified_time" : "2020-09-18T09:25:59Z", "name" : "livedata_api_demo", "parameters" : [ ], "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "scripts" : [ { "type" : "SQL", "object_name" : "fun", "content" : "ZnVuY3Rpb24gZXhlY3V0ZShkYXRhKSB7CiAgICByZXR1cm4gIkhlbGxvIHdvcmxkISIKfQ==", "created_time" : "2020-09-19T06:29:35Z", "modified_time" : "2020-09-19T06:29:35Z" } ], "status" : 1, "type" : "", "version" : "1.0.1"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:id. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3081", "error_msg" : "authorizer with id: 0d982c1ac3da493dae47627b6439fc5c not found"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 api_id 否 String 后端API编号 api_type 否 String API类型 data:数据API function:函数API scripts 否 Array of LdApiScript objects API脚本信息列表 表4 LdApiScript 参数 是否必选 参数类型 描述 ds_id 否 String 数据源编号,当api_type = data时,必选 ds_name 否 String 数据源名称 ds_type 否 String 数据源类型: oracle:oracle数据源类型 mysql:mysql数据源类型 mongodb:mongodb数据源类型 redis:redis数据源类型 postgresql:postgresql/opengauss数据源类型 hive:hive数据源类型 mssql:sqlserver数据源类型 sqlserver:sqlserver数据源类型 dws:dws数据源类型 gauss100:gauss100数据源类型 zenith:zenith数据源类型 hana: hana数据源类型 clickhouse: clickhouse数据源类型 mrshive: mrshive数据源类型(tag:Site_hybrid) dm : dameng数据源类型(tag:hcs) opengauss : opengauss数据源类型(tag:hcs) type 否 String 脚本类型 SQL:sql语句 SP:存储过程 object_name 是 String 返回对象。 最小长度:1 最大长度:32 content 是 String API脚本内容 请对脚本进行base64编码 最小长度:1 最大长度:100000 enable_result_paging 否 Boolean 数据脚本是否结果分页,当api_type = data时有效 缺省值:false enable_preparestatement 否 Boolean 数据脚本是否预编译,当api_type = data时有效 缺省值:false created_time 否 String 后端API脚本创建时间 modified_time 否 String 后端API脚本修改时间
  • 响应示例 状态码: 201 Created { "variable_value" : "192.168.1.5", "env_id" : "7a1ad0c350844ee69479b47df9a881cb", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "id" : "25054838a624400bbf2267cf5b3a3f70", "variable_name" : "address"} 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:variable_name"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3003", "error_msg" : "Environment 7a1ad0c350844ee69479b47df9a881cb does not exist"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 variable_value String 变量值支持英文字母、数字、英文格式的下划线、中划线,斜线(/)、点、冒号,1 ~ 255个字符。 env_id String 环境编号 最小长度:1 最大长度:65 group_id String API分组编号 最小长度:1 最大长度:65 variable_name String 变量名,支持英文字母、数字、英文格式的下划线、中划线,必须以英文字母开头,3~32个字符。在API定义中等于#Name的值#部分(区分大小写),发布到环境里的API被变量值替换。 说明: 中文字符必须为UTF-8或者unicode编码。 id String 环境变量编号 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 功能介绍 将API发布到不同的环境后,对于不同的环境,可能会有不同的环境变量,比如,API的服务部署地址,请求的版本号等。 用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,服务集成会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境变量定义在API分组上,该分组下的所有API都可以使用这些变量。 1.环境变量的变量名称必须保持唯一,即一个分组在同一个环境上不能有两个同名的变量 2.环境变量区分大小写,即变量ABC与变量abc是两个不同的变量 3.设置了环境变量后,使用到该变量的API的调试功能将不可使用。 4.定义了环境变量后,使用到环境变量的地方应该以对称的#标识环境变量,当API发布到相应的环境后,会对环境变量的值进行替换,如:定义的API的URL为:https://#address#:8080,环境变量address在RELEASE环境上的值为:192.168.1.5,则API发布到RELEASE环境后的真实的URL为:https://192.168.1.5:8080。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 variable_value 是 String 变量值支持英文字母、数字、英文格式的下划线、中划线,斜线(/)、点、冒号,1 ~ 255个字符。 env_id 是 String 环境编号 最小长度:1 最大长度:65 group_id 是 String API分组编号 最小长度:1 最大长度:65 variable_name 是 String 变量名,支持英文字母、数字、英文格式的下划线、中划线,必须以英文字母开头,3~32个字符。在API定义中等于#Name的值#部分(区分大小写),发布到环境里的API被变量值替换。 说明: 中文字符必须为UTF-8或者unicode编码。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 字典ID。 name String 字典名称。 字符集:中文、英文字母、数字、下划线和空格。 约束:实例下唯一。 remark String 字典描述。 code String 字典编码。 字符集:英文字母、数字、下划线和空格。 约束:实例下唯一。 extend_one String 字典扩展字段1。 字符集:中文、英文字母、数字、下划线和空格。 extend_two String 字典扩展字段2。 字符集:中文、英文字母、数字、下划线和空格。 parent_code String 父字典编码,为空时代表自身就是最顶级字典。 type String 字典类型。 system: 代表系统内置字典,用户可编辑但不可删除。 user: 代表用户创建字典。 create_time String 创建时间。 update_time String 更新时间。 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 error_details String 具体错误消息。 request_id String 请求处理ID。
  • 响应示例 状态码: 200 OK { "id" : "string", "name" : "string", "remark" : "string", "code" : "string", "extend_one" : "string", "extend_two" : "string", "parent_code" : "string", "type" : "system", "create_time" : "2019-12-06T06:49:04Z", "update_time" : "2019-12-06T06:49:04Z"} 状态码: 403 Forbidden { "error_code" : "ROMA.00000101", "error_msg" : "error summary", "error_details" : "some error details here", "request_id" : "13760c1fe8655e61209b75665e9bef43"}
  • 请求示例 创建一个数据字典,指定字典名称和字典编码,字典排序为1。 { "name" : "DictName", "remark" : "example", "code" : "13760c1fe8655e61209b75665e9bef43", "order" : "1", "extend_one" : "param1", "extend_two" : "param2", "parent_code" : ""}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 字典名称。 字符集:中文、英文字母、数字、下划线和空格。 约束:实例下唯一。 remark 否 String 字典描述。 code 是 String 字典编码。 字符集:英文字母、数字、下划线和空格。 约束:实例下唯一。 order 否 Integer 字典排序,值越小顺序越靠前。 extend_one 否 String 字典扩展字段1。 字符集:中文、英文字母、数字、下划线和空格。 extend_two 否 String 字典扩展字段2。 字符集:中文、英文字母、数字、下划线和空格。 parent_code 否 String 父字典编码,为空时代表自身就是最顶级字典。
  • 请求示例 为指定规则添加目标端数据源,目标类型为MQS,目标端不支持SSL加密。 { "destination_type" : 0, "app_id" : "ef3845be-091a-4ab5-869a-9de0025e2165", "destination_name" : "destination", "topic" : "/target_topic1", "server" : "xx.xx.xx.xx", "token" : "sd123r12312w12wdrfvgrt4t34t", "tag" : "tag1", "mqs_sasl_ssl" : false, "user_name" : "user1", "password" : "**********"}
  • 响应示例 状态码: 201 Created { "destination_id" : 27678, "destination_type" : 7, "app_id" : null, "destination_name" : null, "topic" : "8si8ST122893/in/214", "server" : "server", "token" : "token", "tag" : "device", "mqs_sasl_ssl" : "false", "user_name" : null, "password" : null} 状态码: 400 Bad Request { "error_code" : "SCB.00000000", "error_msg" : "Parameter is not valid for operation [romalink.link-ruledest.save]. Parameter is [rule_oid]. Processor is [path].", "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01"} 状态码: 404 Not Found { "error_code" : "ROMA.00110006", "error_msg" : "The resource does not exist. Check whether the resource ID ff38023c-0854-4779-847d-72528e1f5da5 is correct.", "request_id" : "72b07918-f6a2-4721-81bf-f3fd5486025e-1619663576836-cnnorth7a-P-romalink-service01"} 状态码: 500 Internal Server Error { "error_code" : "ROMA.00110002", "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611", "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01"}
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 destination_id Integer 目标数据源ID。 最小值:1 最大值:99999999999999999 destination_type Integer 操作类型,枚举值:0-目标端为本ROMA实例内MQS;7-目标端为设备。 最小值:0 最大值:10 app_id String 应用ID,目标端为0时需明确对方的APP_ID。 最小长度:0 最大长度:64 destination_name String 目标数据源名称。 最小长度:0 最大长度:255 topic String 目标数据源主题。 最小长度:0 最大长度:64 server String 目标端数据源服务。 最小长度:0 最大长度:200 token String 目标端数据源Token。 最小长度:0 最大长度:1000 tag String 目标数据源标签。 最小长度:0 最大长度:200 mqs_sasl_ssl Boolean 目标端数据源MQS的SASL字段是否需要支持SSL加密。 user_name String 目标数据源用户名。 最小长度:0 最大长度:80 password String 目标数据源密码。 最小长度:0 最大长度:500 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 系统错误码,针对4xx和5xx类HTTP错误码的详细错误码。 最小长度:0 最大长度:64 error_msg String 错误描述。 最小长度:0 最大长度:200 request_id String 消息ID。 最小长度:0 最大长度:64
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:100000 表3 请求Body参数 参数 是否必选 参数类型 描述 destination_type 是 Integer 操作类型,枚举值:0-目标端为ROMA实例MQS;1-目标端为本ROMA实例内FI KAFKA数据源; 2-目标端为本ROMA实例内 MRS KAFKA数据源;3-目标端为本ROMA实例内KAFKA数据源;6-目标端为DIS数据源;7-目标端为设备。 最小值:0 最大值:7 app_id 否 String 应用ID,destination_type值为0时,为MQS的Topic所属集成应用APP_ID;destination_type值为1、2或3时,为对应KAFKA类数据源所属集成应用APP_ID,destination_type值为7时,为设备所属集成应用APP_ID。 最小长度:0 最大长度:64 destination_name 否 String 目标数据源名称,destination_type值为1、2或3时, 为对应KAFKA类数据源的名称。 最小长度:0 最大长度:255 topic 是 String 目标数据源主题,destination_type值为0时,从MQS服务中获取已有Topic;destination_type值为1、2或3时, 从对应KAFKA类数据源中获取已有Topic。 最小长度:0 最大长度:64 server 否 String 目标端数据源服务,如下情况时server字段必填:destination_type值为0时, 为MQS连接地址;destination_type值为1、2或3时, 为KAFKA类数据源的连接地址,destination_type值为7时,为设备所属产品的产品名。 最小长度:0 最大长度:64 token 否 String 目标端数据源token,destination_type值为7时,为设备的ClientID。 最小长度:0 最大长度:1000 tag 否 String 目标数据源标签,destination_type值为7时,为设备的设备名。 最小长度:0 最大长度:64 mqs_sasl_ssl 否 Boolean 目标端数据源MQS的SASL字段是否需要支持SSL加密。 user_name 否 String 目标数据源用户名。 最小长度:0 最大长度:64 password 否 String 目标数据源密码。 最小长度:0 最大长度:64
  • 响应示例 状态码: 201 Created { "content_type" : "json", "created_time" : "2020-09-18T09:25:59Z", "description" : "", "id" : "bd42841c20184da6bbf457c6d8a06e37", "instance" : "f0fa1789-3b76-433b-a787-9892951c620e", "method" : "GET", "modified_time" : "2020-09-18T09:25:59Z", "name" : "livedata_api_demo", "parameters" : [ ], "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "scripts" : [ ], "status" : 1, "type" : "", "version" : "1.0.1"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3030", "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • 请求示例 { "content_type" : "json", "method" : "GET", "name" : "livedata_api_demo", "path" : "/test/function", "return_format" : false, "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d", "version" : "1.0.1"}
  • 响应示例 状态码: 200 OK { "dispatch_id" : "a0f7fa9897da423dadbe8391d7ea7a43", "task_id" : "15366328208d4d77b76532fe9f4006a6", "start_datetime" : 1605339505609, "period" : "DAY", "dispatch_interval" : 1, "created_date" : 1605311230685, "last_modified_date" : 1605311230685, "remark" : "123", "use_quartz_cron" : false} 状态码: 400 Bad Request { "code" : 400, "reason" : { "error_code" : "FDI.3149", "error_msg" : "The task ID is empty." }} 状态码: 404 Not Found { "code" : 404, "reason" : { "error_code" : "FDI.3180", "error_msg" : "This task is not in the project." }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 start_datetime 否 Integer 调度计划的执行开始时间,上限2147512447000,下限946684800000。 最小值:0 最大值:99999999999999999 period 否 String 调度计划执行周期的时间单位,当使用cron表达式时,为空。 MIN (分钟) HOUR (小时) DAY (日) WEEK (周) MON (月) 最小长度:0 最大长度:36 dispatch_interval 否 Integer 调度计划的执行间隔时间周期。 最小值:1 最大值:59 remark 否 String 调度计划的备注信息。 最小长度:8 最大长度:36 use_quartz_cron 否 Boolean 调度计划是否使用cron表达式,允许如下值: true (使用cron表达式) false (不使用cron表达式) 最小长度:4 最大长度:16 cron 否 String 调度计划的cron表达式。 最小长度:8 最大长度:255
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 dispatch_id String 调度计划ID。 最小长度:1 最大长度:64 task_id String 调度计划关联的任务ID。 最小长度:1 最大长度:64 start_datetime Integer 调度计划的执行开始时间,上限2147512447000,下限946684800000。 最小值:0 最大值:99999999999999999 period String 调度计划执行周期的时间单位,当使用cron表达式时,为空。 MIN (分钟) HOUR (小时) DAY (日) WEEK (周) MON (月) 最小长度:0 最大长度:36 dispatch_interval Integer 调度计划的执行间隔时间周期。 最小值:1 最大值:59 created_date Integer 调度计划的创建时间。 最小值:1 最大值:99999999999999999 last_modified_date Integer 调度计划最近一次的修改时间。 最小值:1 最大值:99999999999999999 remark String 调度计划的备注信息。 最小长度:8 最大长度:36 use_quartz_cron Boolean 调度计划是否使用cron表达式,允许如下值: true (使用cron表达式) false (不使用cron表达式) 最小长度:4 最大长度:16 cron String 调度计划的cron表达式。 最小长度:8 最大长度:255 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512
共99354条