通用说明
所有文档
menu

函数计算 CFC

通用说明

产品详情立即开通

API调用遵循HTTP协议,各Region采用不同的域名,具体域名为cfc.{region}.baidubce.com。 数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。

实名认证

使用CFC API的用户需要实名认证,没有通过实名认证的可以前往百度开放云官网控制台中的安全认证下的实名认证中进行认证。 没有通过实名认证的用户请求将会得到以下错误提示码:

错误码 错误描述 HTTP状态码 中文解释
QualifyNotPass The User has not pass qualify. 403 账号没有通过实名认证

API认证机制

所有API的安全认证一律采用Access Key与请求签名机制。 Access Key由Access Key ID和Secret Access Key组成,均为字符串。 对于每个HTTP请求,使用下面所描述的算法生成一个认证字符串。提交认证字符串放在Authorization头域里。服务端根据生成算法验证认证字符串的正确性。 认证字符串的格式为bce-auth-v{version}/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds}/{signedHeaders}/{signature}

  • version是正整数。
  • timestamp是生成签名时的UTC时间。
  • expirationPeriodInSeconds表示签名有效期限。
  • signedHeaders是签名算法中涉及到的头域列表。头域名之间用分号(;)分隔,如host;x-bce-date。列表按照字典序排列。(本API签名仅使用host和x-bce-date两个header)
  • signature是256位签名的十六进制表示,由64个小写字母组成。

当百度智能云接收到用户的请求后,系统将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。

鉴权认证机制的详细内容请参见鉴权认证机制

通信协议

API支持HTTP和HTTPS两种调用方式。为了提升数据的安全性,建议通过HTTPS调用。

请求结构说明

数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。

请求参数包括如下4种:

参数类型 说明
URI 通常用于指明操作实体,如:POST /{version}/functions/{FunctionName}
Query参数 URL中携带的请求参数
HEADER 通过HTTP头域传入,如:x-bce-date
RequestBody 通过JSON格式组织的请求数据体

响应结构说明

响应值分为两种形式:

返回内容 说明
HTTP STATUS CODE 如200,400,403,404等
ResponseBody JSON格式组织的响应数据体

API版本号

参数 类型 参数位置 描述 是否必须
version String URL参数 API版本号,当前取值为1

密码加密传输规范

所有涉及密码的接口参数都需要加密,禁止明文传输。密码一律采用AES 128位加密算法进行加密,用SK的前16位作为密钥,加密后生成的二进制字节流需要转成十六进制,并以字符串的形式传到服务端。具体步骤如下:

  • byte[] bCiphertext= AES(明文,SK)
  • String strHex = HexStr(bCiphertext)

日期与时间规范

日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡需要日期时间表示的地方一律采用UTC时间,遵循ISO 8601,并做以下约束:

  1. 表示日期一律采用YYYY-MM-DD方式,例如2014-06-01表示2014年6月1日
  2. 表示时间一律采用hh:mm:ss方式,并在最后加一个大写字母Z表示UTC时间。例如23:00:10Z表示UTC时间23点0分10秒。
  3. 凡涉及日期和时间合并表示时,在两者中间加大写字母T,例如2014-06-01T23:00:10Z表示UTC时间2014年6月1日23点0分10秒。

规范化字符串

通常一个字符串中可以包含任何Unicode字符。在编程中这种灵活性会带来不少困扰。因此引入“规范字符串”的概念。一个规范字符串只包含百分号编码字符以及URI(Uniform Resource Identifier)非保留字符(Unreserved Characters)。

RFC 3986规定URI非保留字符包括以下字符:字母(A-Z,a-z)、数字(0-9)、连字号(-)、点号(.)、下划线(_)、波浪线(~)。

将任意一个字符串转换为规范字符串的方式是:

  • 将字符串转换成UTF-8编码的字节流。
  • 保留所有URI非保留字符原样不变。
  • 对其余字节做一次RFC 3986中规定的百分号编码(Percent-Encoding),即一个%后面跟着两个表示该字节值的十六进制字母。字母一律采用大写形式。

示例:

原字符串:this is an example for 测试, 对应的规范字符串:this%20is%20an%20example%20for%20%E6%B5%8B%E8%AF%95

排版约定

排版格式 含义
< > 变量
[ ] 可选项
{ } 必选项
| 互斥关系
等宽字体 Courier New 屏幕输出
上一篇
概述
下一篇
服务域名