You need to enable JavaScript to run this app.
导航
调用方式
最近更新时间:2024.06.28 17:02:17首次发布时间:2023.02.15 19:04:53

本文介绍了边缘函数API的调用方式。

请求结构

服务地址

边缘函数服务地址为:https://veefedge.volcengineapi.com

通信协议

支持通过 HTTPHTTPS 两种方式进行请求通信,推荐使用安全性更高的 HTTPS方式发送请求。

请求方法

如接口无特殊说明,则默认支持以下 HTTP 请求方法:

  • POST

注意

  • POST 请求支持的 Content-Type 类型为:application/json
  • GET 与 POST 请求都支持将公共信息放置在 header 中的模式;
  • GET 请求还支持将公共信息放置在 query string 中的模式。

请求参数

每个API请求都包含如下两类参数:

  • 公共请求参数:每个API接口都需要使用的参数为公共请求参数。关于公共参数的更多详情,请参见公共参数
  • 接口请求参数:每个API接口特有的参数为接口请求。关于各个接口的请求参数,请参见API概览中各接口的详细描述。

字符编码

均使用UTF-8编码。

公共参数

公共参数是每个接口都需要使用的请求参数,开发者每次使用 OpenAPI 发送请求时都需要携带这些公共请求参数,否则会导致请求失败。公共请求参数首字母均为大写,以此区分接口请求参数。

Action&Version

说明

Action和Version必须放在Query当中。

名称类型是否必填描述示例
ActionString接口名称,具体业务侧。接口格式为 [a-zA-Z]+CreateSparrow
VersionString接口版本信息,以具体业务接口说明为准。格式为 YYYY-MM-DD2021-04-30

签名参数

签名参数是请求必不可少的部分,可以放在Header或Query中:

  • 签名函数在Header中的场景
名称类型是否必填描述示例
X-DateString使用UTC时间,精确到秒。20201103T104027Z
AuthorizationString签名值见下文说明

Authorization内容如下:

HMAC-SHA256 Credential = {AccessKey}/{ShortDate}/{Region}/{Service}/request, SignedHeaders={SignedHeaders}, Signature={Signature}

Authorization中各字段含义如下:

名称类型描述示例
AccessKeyString火山引擎账号的 AccessKey ID前往 秘钥管理 页面获取。
ShortDateString请求的短时间,精确到日,格式为 YYYYMMDD20210430
RegionString请求的 Regioncn-north-1
ServiceString请求的服务名称veefedge
SignedHeadersString参与签名的Header,用分号分隔详情参考签名方法
SignatureString计算完毕的签名详情参考签名方法
  • 签名函数在Query中的场景
    X-Date与Authorization的信息可以直接存在在Query当中。
名称类型是否必填描述示例
X-DateString使用UTC时间,精确到秒20201103T104027Z
X-AlgorithmString固定值HMAC-SHA256
X-CredentialString{AccessKey}/{ShortDate}/{Region}/{Service}/request组成详情参考签名方法
X-SignedHeadersString参与签名的Header,用分号分隔详情参考签名方法
X-SignatureString计算完毕的签名详情参考签名方法

签名机制

为了保证请求者身份的合法性以及请求在传输过程中不被恶意篡改,火山引擎签名机制要求请求者对请求参数进行哈希值计算,经过加密后同API请求一起发送到服务器中,服务器将以同样的机制对收到的请求进行签名计算,并以此与请求者传来的签名进行比对,若签名未通过验证,请求将被拒绝。

具体签名机制请参考签名方法文档。

返回结构

说明

  • 如果返回结果中存在Error字段,则表示调用API接口失败。

返回结果示例

  • 请求调用成功返回结果(以CreateSparrow为例)
{
    "ResponseMetadata": {
        "RequestId": "2022011110011401022524308102B1****",
        "Action": "CreateSparrow",
        "Version": "2021-04-30",
        "Service": "veefedge",
        "Region": "cn-north-1"
    },
    "Result": { /* 具体业务的返回信息 */
        "domain": "test-sparrow.test.test"
    }
}

说明

  • ResponseMetadata及其内部的RequestId、Action、Version、Service、Region是固定的字段,无论请求成功与否,只要发起了API请求,必定会返回。
  • 除了固定的字段外,其余均为具体API定义的字段,不同的API所返回的字段请参见各API文档中的具体定义。
  • 请求调用失败返回结果
{
    "ResponseMetadata": {
        "RequestId": "2022012515175801022524312505****",
        "Action": "CreateSparrow",
        "Version": "2021-04-30",
        "Service": "veefedge",
        "Region": "cn-north-1",
        "Error": {
            "Code": "SparrowDomainExisted",
            "Message": "Sparrow domain existed"
        }
    }
}

说明

  • 请求调用失败时必定会出现Error字段,Error字段中包含了Code和Message字段,其中:
    • Code表示具体出错的错误码,您可以先根据该错误码参考文档错误码查找对应原因和解决方案。
    • Message会给出错误发生的具体原因,随着业务发展或体验优化,此文本可能会变更。
  • 请求调用失败时,不会返回Result字段。