镜像回源
更新时间:2026-09-23
若您为 Bucket 配置了镜像回源,当用户访问该 Bucket 中某一 Object 时,发现该 Object 在 BOS 中并不存在,则 BOS 会立刻向预先配置好的回源地址请求该 Object,保证访问正常进行。在请求过程中,源站返回的数据会自动给到请求用户,而用户对该过程无感。同时,该数据也会自动存入 BOS,提升日后该类请求的流畅性。参考 镜像回源。
运行以下示例前,请先参考初始化完成 BOS Client 初始化,并将示例中的 bucket_name(及其它占位符)替换为实际值。
代码示例
Python
1# -*- coding: utf-8 -*-
2
3import logging
4
5logging.basicConfig(level=logging.DEBUG)
6logger = logging.getLogger(__name__)
7
8bucket_name = "example-bucket-name"
9
10mirror_args = [
11 {
12 "mode": "fetch",
13 "sourceUrl": "https://example.com",
14 "backSourceUrl": "https://example.com",
15 "resource": "*.jpeg",
16 "version": "v2",
17 "passQuerystring": False,
18 "storageClass": "STANDARD"
19 }
20]
21
22response = bos_client.put_bucket_mirroring(bucket_name, mirror_args=mirror_args)
23logger.debug("[Sample] put bucket mirroring response: %s", response)
24
25response = bos_client.get_bucket_mirroring(bucket_name)
26logger.debug("[Sample] get bucket mirroring response: %s", response)
27
28response = bos_client.delete_bucket_mirroring(bucket_name)
29logger.debug("[Sample] delete bucket mirroring response: %s", response)
put_bucket_mirroring 用于配置 Bucket 镜像回源,get_bucket_mirroring 用于查询 Bucket 镜像回源配置,delete_bucket_mirroring 用于删除 Bucket 镜像回源配置。接口调用成功后,SDK 返回对应请求的响应对象;查询镜像回源配置时,响应中包含当前 Bucket 的镜像回源配置内容。
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
bucket_name |
是 | 需要配置镜像回源的 Bucket 名称。 |
mirror_args |
是 | 镜像回源配置列表,传入 put_bucket_mirroring 方法。 |
mode |
是 | 镜像回源模式,可选 fetch(回源)或 redirect(重定向),示例值为 fetch。 |
sourceUrl |
是 | 镜像回源主源站地址。 |
backSourceUrl |
否 | 镜像回源备源站地址。 |
resource |
是 | 镜像回源匹配的资源范围,以 * 分割前后缀,例如 *.jpeg。 |
version |
否 | 回源前缀替换选项,为空默认 v1(老版本配置),v2 启用 object 前缀替换。示例值为 v2。 |
passQuerystring |
否 | 是否向源站透传请求中的 Query String,取值 True/False,默认 False。 |
storageClass |
否 | 回源后写入 BOS 的存储类型,示例值为 STANDARD。 |
评价此篇文章
