概述 -奇异果体育app竞彩官网下载
简介
bgp高防自动化调度,是指为遭受攻击的eip创建临时高防实例并进行dns调度。在eip遭受攻击时,通过dns调度的方式将流量自动调度到高防机房,经高防机房清洗攻击流量后,将正常流量回源到调度eip,最终到达eip绑定的bcc/blb;攻击结束时,自动结束dns调度,流量正常到达eip。该场景配置时,需要指定调度eip、公有云区域、健康检查端口。
如果您是初次调用百度智能云产品的api,可以观看api入门视频指南,快速掌握调用api的能力。
服务域名
产品是全局产品,服务域名为adas.baidubce.com。
通用说明
api调用遵循http协议,数据交换格式为,所有request/response body内容均采用utf-8编码。url参数中所使用的ip均使用点分十进制表示。
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和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。
鉴权认证机制的详细内容请参见鉴权认证。
幂等性
当调用某些接口时如果遇到了请求超时或服务器内部错误,用户可能会尝试重发请求,这时用户通过clienttoken参数避免创建出比预期要多的资源,即保证请求的幂等性。
幂等性基于clienttoken,clienttoken是一个长度不超过64位的ascii字符串,通常放在query string里,如http://bcc.bj.baidubce.com/v1/instance?clienttoken=be31b98c-5e41-4838-9830-9be700de5a20
。
如果用户使用同一个clienttoken值调用创建接口,则服务端会返回相同的请求结果。因此用户在遇到错误进行重试的时候,可以通过提供相同的clienttoken值,来确保只创建一个资源;如果用户提供了一个已经使用过的clienttoken,但其他请求参数(包括querystring和requestbody)不同甚至url path不同,则会返回idempotentparametermismatch的错误代码。
clienttoken的有效期为24小时,以服务端最后一次收到该clienttoken为准。也就是说,如果客户端不断发送同一个clienttoken,那么该clienttoken将长期有效。
日期与时间规范
日期与时间的表示有多种方式。为统一起见,除非是约定俗成或者有相应规范的,凡需要日期时间表示的地方一律采用utc时间,遵循,并做以下约束:
- 表示日期一律采用yyyy-mm-dd方式,例如2014-06-01表示2014年6月1日
- 表示时间一律采用hh:mm:ss方式,并在最后加一个大写字母z表示utc时间。例如23:00:10z表示utc时间23点0分10秒。
- 凡涉及日期和时间合并表示时,在两者中间加大写字母t,例如2014-06-01t23:00:10z表示utc时间2014年6月1日23点0分10秒。
请求参数
请求参数包括如下4种:
参数类型 | 说明 |
---|---|
uri | 通常用于指明操作实体,如:put /v1/schedule/{scheduleid} |
query参数 | url中携带的请求参数 |
header | 通过http头域传入,如:x-bce-date |
requestbody | 通过json格式组织的请求数据体 |
返回值说明
返回值分为两种形式:
返回内容 | 说明 |
---|---|
http status code | 如200,400,403,404等 |
responsebody | json格式组织的响应数据体 |
公共请求头
下表列出了所有adasschedule api所携带的公共头域。http协议的标准头域不在此处列出
头域(header) | 是否必须 | 说明 |
---|---|---|
authorization | 是 | 包含access key与请求签名 |
content-type | 是 | application/json; charset=utf-8 |
x-bce-date | 否 | 表示日期的字符串,符合bce api规范 |
公共响应头
下表列出了所有adasschedule api的公共响应头域。http协议的标准响应头域不在此处列出
头域(header) | 说明 |
---|---|
content-type | 只支持json格式,application/json; charset=utf-8 |
x-bce-request-id | adasschedule后端生成,并自动设置到响应头域中 |
错误码
请求发生错误时通过respone body返回详细错误信息,遵循如下格式:
参数名 | 类型 | 说明 |
---|---|---|
code | string | 错误码 |
message | string | 错误描述 |
requestid | string | 本次请求的requestid |
示例:
{
"requestid" : "ae2225f7-1c2e-427a-a1ad-5413b762957d",
"code" : "nosuchkey",
"message" : "the resource you requested does not exist"
}
公共错误码
错误码 | 消息 | http状态码 | 语义 |
---|---|---|---|
accessdenied | access denied. | 403 forbidden | 无权限访问对应的资源 |
inappropriatejson | the json you provided was well-formed and valid, but not appropriate for this operation. | 400 bad request | 请求中的json格式正确,但语义上不符合要求。如缺少某个必需项,或者值类型不匹配等。出于兼容性考虑,对于所有无法识别的项应直接忽略,不应该返回这个错误。 |
internalerror | we encountered an internal error. please try again. | 500internal server error | 所有未定义的其他错误。在有明确对应的其他类型的错误时(包括通用的和服务自定义的)不应该使用。 |
invalidaccesskeyid | the access key id you provided does not exist in our records. | 403 forbidden | access key id不存在 |
invalidhttpauthheader | the http authorization header is invalid. consult the service documentation for details. | 400 bad request | authorization头域格式错误 |
invalidhttprequest | there was an error in the body of your http request. | 400 bad request | http body格式错误。例如不符合指定的encoding等 |
invaliduri | could not parse the specified uri. | 400 bad request | uri形式不正确。例如一些服务定义的关键词不匹配等。对于id不匹配等问题,应定义更加具体的错误码,例如nosuchkey。 |
malformedjson | the json you provided was not well-formed. | 400 bad request | json格式不合法 |
invalidversion | the api version specified was invalid. | 404 not found | uri的版本号不合法 |
optinrequired | a subscription for the service is required. | 403 forbidden | 没有开通对应的服务 |
preconditionfailed | the specified if-match header doesn't match the etag header. | 412 precondition failed | 详见etag |
requestexpired | request has expired. timestamp date is xxx. | 400 bad request | 请求超时。xxx要改成x-bce-date的值。如果请求中只有date,则需要将date转换为datetime。 |
idempotentparametermismatch | the request uses the same client token as a previous, but non-identical request. | 403 forbidden | clienttoken对应的api参数不一样。 |
signaturedoesnotmatch | 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. | 400 bad request | authorization头域中附带的签名和服务端验证不一致 |
adasschedule业务错误码
错误码 | 错误描述 | http状态码 | 语义 |
---|---|---|---|
scheduleinstancenotfound | the specified schedule instance does not exist. | 404 | 调度实例不存在 |
unsupportedscheduleinstanceoperation | the status of specified schedule instance does not support this operation. | 400 | 指定的调度实例状态不支持此类型操作 |
adasinstanceisinvalid | the specified adas instance is invalid. | 400 | 高防实例不合理 |
schedulenatalreadyexist | the specified schedule nat already exist. | 400 | 调度nat已经存在 |
schedulenatnotfound | the specified schedule nat does not exist. | 404 | 调度nat不存在 |
vpcinstancenotfound | the specified vpc instance does not exist. | 404 | vpc实例不存在 |
natinstancenotfound | the specified nat instance does not exist. | 404 | nat实例不存在 |
名词解释
下表列出了所有adasschedule api的涉及到的关键名词及解释。
名词 | 解释 |
---|---|
调度实例ip | 需要配置调度服务的ip,为用户eip |
高防实例ip | 调度发生后,创建的高防实例对应的ip |
高防回源ip | 调度发生后,高防回源到用户后端服务器的流量的源ip |
高防调度域名 | 正常情况下,解析到调度实例ip;调度发生后,解析到高防实例ip |