在指定Bucket上设定一个跨域资源共享规则
更新时间:2021-12-29
接口说明
本接口用来在指定的Bucket上设定一个跨域资源共享(CORS)的规则,如果原规则存在则覆盖原规则。
权限说明 只有Bucket的所有者和被授予FULL_CONTROL权限的用户才能设置Bucket的CORS。没有权限时,返回403 Forbidden错误,错误码:AccessDenied。
注意事项
- 通过此接口设置CORS规则之前,Bucket的CORS权限设置为不允许跨域。
- 每个Bucket最多只允许有一个规则文件,因此新上传的规则文件会覆盖原有的。
- CORS规则文件大小限制为20KB,因此请求时大于20KB会返回超出大小错误(400 Bad Request: EntityTooLarge)。
请求URI
PUT /v1/{bucketName}/?cors
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
bucketName | String | 是 | bucket的名称 | "bucketName_example" | Path |
请求体参数
请求体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
corsConfiguration | List<CorsConfiguration> | 是 | Bucket的CORS规则容器。每个Bucket 最多允许有100条规则。 如果有多条配置,执行顺序为从上到下。 |
CorsConfiguration字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
allowedOrigins | List<String> | 是 | 存储允许的跨域请求的来源的容器。 | |
allowedMethods | List<String> | 是 | 存储允许的跨域请求方法的容器。 | |
allowedHeaders | List<String> | 是 | 存储允许的allowedHeaders容器。控制 在OPTIONS预取指令中Access-Control- Request-Headers头中指定的header是 否允许。 | |
allowedExposeHeaders | List<String> | 否 | 存储允许用户从应用程序中访问的响应头的容器。 | |
maxAgeSeconds | Integer | 否 | 指定浏览器对特定资源的预取(OPTIONS)请求返 回结果的缓存时间,在缓存时间内请求方不必发送重 复的preflight 请求,单位为秒。 类型:Int64。 | 1800 |
响应体参数
响应体字段数据结构说明
请求示例
PUT /v1/bucketName_example/?cors
<公共请求头>
{
"corsConfiguration" : [ {
"allowedExposeHeaders" : [ "user-custom-expose-header" ],
"allowedOrigins" : [ "http://www.example.com" ],
"allowedHeaders" : [ "Authorization" ],
"allowedMethods" : [ "GET" ],
"maxAgeSeconds" : 1800
} ]
}
响应示例
HTTP/1.1 200 OK
<公共响应头>
{ }
错误码
请参考通用错误码