在指定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 |
响应体参数
响应体字段数据结构说明
请求示例
JSON
1PUT /v1/bucketName_example/?cors
2<公共请求头>
3
4
5{
6 "corsConfiguration" : [ {
7 "allowedExposeHeaders" : [ "user-custom-expose-header" ],
8 "allowedOrigins" : [ "http://www.example.com" ],
9 "allowedHeaders" : [ "Authorization" ],
10 "allowedMethods" : [ "GET" ],
11 "maxAgeSeconds" : 1800
12 } ]
13}
响应示例
JSON
1HTTP/1.1 200 OK
2<公共响应头>
3
4{ }
错误码
请参考通用错误码