边缘容器的服务地址为:veecc.volcengineapi.com。
仅支持通过HTTPS
方式进行请求通信。
如接口无特殊说明,则默认支持以下 HTTP 请求方法:
Content-Type
类型为:application/json
请求方法将在每个具体接口的请求示例中给出。
边缘容器 API 请求包含两类参数:公共参数和接口请求参数。其中,公共请求参数是每一个接口需要包含的,具体可参见公共参数。
接口请求参数是各个接口特有的,详见各个接口描述。
请求及返回结果使用UTF-8
的字符集进行编码。
公共参数是每个接口都需要使用的请求参数。您每次使用 API 发送请求时都需要携带这些公共请求参数,否则会导致请求失败。
Action 和 Version 需要放在 Query 中。
名称 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
Action | String | 是 | 接口名称,格式为 | CreateApplication |
Version | String | 是 | 接口版本信息,格式为 | 2022-10-01 |
签名参数是请求必不可少的部分。对于 GET 请求,既可以在 Query 当中,也可以在 Header 当中;对于 POST 请求,只能放在 Header 中。
签名参数放置在请求 Header
名称 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
X-Date | String | 是 | 使用 UTC 时间,精确到秒 | 20201103T104027Z |
Authorization | String | 是 | 签名值 | 见下文说明 |
Authorization 内容如下:
HMAC-SHA256 Credential = {AccessKey}/{ShortDate}/{Region}/{Service}/request, SignedHeaders={SignedHeaders}, Signature={Signature}
{}
内的各字段对应信息如下:
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
AccessKey | String | 火山引擎账号 AccessKey ID | 前往秘钥管理获取 |
ShortDate | String | 请求的短时间,精确到日 | 20210430 |
Region | String | 请求的 Region | cn-north-1 |
Service | String | 请求的服务 | veecc |
SignedHeaders | String | 参与签名的 Header,用分号分隔 | 详情参考签名方法 |
Signature | String | 计算完毕的签名 | 详情参考签名方法 |
签名参数放置在请求 Query
名称 | 类型 | 是否必填 | 描述 | 示例 |
---|---|---|---|---|
X-Date | String | 是 | 使用 UTC 时间,精确到秒 | 20201103T104027Z |
X-Algorithm | String | 是 | 固定值 | HMAC-SHA256 |
X-Credential | String | 是 | {AccessKey}/{ShortDate}/{Region}/{Service}/request | 详情参考签名方法 |
X-SignedHeaders | String | 是 | 参与签名的 Header,用分号分隔 | 详情参考签名方法 |
X-Signature | String | 是 | 计算完毕的签名 | 详情参考签名方法 |
为了保证请求者身份的合法性以及请求在传输过程中不被恶意篡改,火山引擎签名机制要求请求者对请求参数进行哈希值计算,经过加密后同 API 请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并以此与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。
计算签名的方法,请参见签名方法。
本文以 GetUser
接口为例,分别对成功返回结果和错误返回结果进行说明。
接口调用成功的返回结果示例如下:
{ "ResponseMetadata": { "RequestId": "202112021830130102252430810768****", "Action": "GetUser", "Version": "2018-01-01", "Service": "iam" }, "Result": { "User": { "CreateDate": "20210428T023119Z", "UpdateDate": "20211124T100123Z", "Status": "active", "AccountId": 20000*****, "UserName": "demo****", "Description": "", "DisplayName": "", "Email": "******", "EmailIsVerify": false, "MobilePhone": "******", "MobilePhoneIsVerify": false, "Trn": "trn:iam::20000*****:user/demo****" } } }
接口调用成功后,返回结果中会包含 ResponseMetadata
和 Result
两部分。接口不同,返回的 Result
部分内容也会不同。ResponseMetadata
字段解释如下:
字段 | 说明 |
---|---|
RequestID | RequestID 为每次 API 请求的唯一标识。 |
Action | 请求的接口名,属于公共参数。 |
Version | 请求的版本号,属于公共参数。 |
Service | 请求的服务,属于公共参数。 |
接口调用失败的的返回结果示例如下:
{ "ResponseMetadata": { "RequestId": "20211202183645010225243125026D****", "Action": "GetUser", "Version": "2018-01-01", "Service": "iam", "Region": "cn-north-1", "Error": { "CodeN": 100010, "Code": "SignatureDoesNotMatch", "Message": "The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. Consult the service documentation for details." } } }
相较于成功返回结果,错误返回结果将不再有 Result
部分,ResponseMetadata
中会出现 Error 字段,字段解释如下:
字段 | 说明 |
---|---|
Error | Error 出现表明本次请求失败。 |
Code | Code 内容为具体的错误码,您可以根据错误码文档自助排查问题。 |
CodeN | CodeN 为标识错误码的数字ID。 |
Message | Message 描述了错误发生的具体原因,供您排查问题参考。 |
RequestID | RequestID 是每次 API 请求的唯一标识。当出现了无法自助解决的问题时,您可通过工单系统联系我们,并提供请求的RequestID,我们将协助进行问题排查。 |