本文档提供关于跨域访问、生命周期、版本控制和跨地域复制相关的 API 概览以及 SDK 示例代码。
跨域访问
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket cors | 设置跨域配置 | 设置存储桶的跨域访问权限 |
GET Bucket cors | 查询跨域配置 | 查询存储桶的跨域访问配置信息 |
DELETE Bucket cors | 删除跨域配置 | 删除存储桶的跨域访问配置信息 |
生命周期
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket lifecycle | 设置生命周期 | 设置存储桶的生命周期管理的配置 |
GET Bucket lifecycle | 查询生命周期 | 查询存储桶生命周期管理的配置 |
DELETE Bucket lifecycle | 删除生命周期 | 删除存储桶的生命周期管理的配置 |
版本控制
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket versioning | 设置版本控制 | 设置存储桶的版本控制功能 |
GET Bucket versioning | 查询版本控制 | 查询存储桶的版本控制信息 |
跨地域复制
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket replication | 设置跨地域复制 | 设置存储桶的跨地域复制规则 |
GET Bucket replication | 查询跨地域复制 | 查询存储桶的跨地域复制规则 |
DELETE Bucket replication | 删除跨地域复制 | 删除存储桶的跨地域复制规则 |
权限策略
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket policy | 设置权限策略 | 设置存储桶的权限策略规则 |
GET Bucket policy | 查询权限策略 | 查询存储桶的权限策略规则 |
DELETE Bucket policy | 删除权限策略 | 删除存储桶的权限策略规则 |
设置指定存储桶的跨域访问配置信息(PUT Bucket cors)。
put_bucket_cors(Bucket, CORSConfiguration={}, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_cors(
Bucket='examplebucket-1250000000',
CORSConfiguration={
'CORSRule': [
{
'ID': 'string',
'MaxAgeSeconds': 100,
'AllowedOrigin': [
'string',
],
'AllowedMethod': [
'string',
],
'AllowedHeader': [
'string',
],
'ExposeHeader': [
'string',
]
}
]
},
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
CORSRule | 设置对应的跨域规则,包括 ID,MaxAgeSeconds,AllowedOrigin,AllowedMethod,AllowedHeader,ExposeHeader | List | 是 |
ID | 设置规则的 ID | String | 否 |
MaxAgeSeconds | 设置 OPTIONS 请求得到结果的有效期 | Int | 否 |
AllowedOrigin | 设置允许的访问来源,如 "http://cloud.tencent.com" ,支持通配符 * |
Dict | 是 |
AllowedMethod | 设置允许的方法,如 GET,PUT,HEAD,POST,DELETE | Dict | 是 |
AllowedHeader | 设置请求可以使用哪些自定义的 HTTP 请求头部,支持通配符 * |
Dict | 否 |
ExposeHeader | 设置浏览器可以接收到的来自服务器端的自定义头部信息 | Dict | 否 |
该方法返回值为 None。
查询指定存储桶的跨域访问配置信息(GET Bucket cors)。
get_bucket_cors(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_cors(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
存储桶跨域配置,类型为 dict。
{
'CORSRule': [
{
'ID': 'string',
'MaxAgeSeconds': 100,
'AllowedOrigin': [
'string',
],
'AllowedMethod': [
'string',
],
'AllowedHeader': [
'string',
],
'ExposeHeader': [
'string',
],
}
]
}
参数名称 | 参数描述 | 类型 |
---|---|---|
CORSRule | 跨域规则,包括 ID,MaxAgeSeconds,AllowedOrigin,AllowedMethod,AllowedHeader,ExposeHeader | List |
ID | 规则的 ID | String |
MaxAgeSeconds | OPTIONS 请求得到结果的有效期 | String |
AllowedOrigin | 允许的访问来源,如 "http://cloud.tencent.com" ,支持通配符 * |
Dict |
AllowedMethod | 允许的方法,如 GET,PUT,HEAD,POST,DELETE | Dict |
AllowedHeader | 请求可以使用哪些自定义的 HTTP 请求头部,支持通配符 * |
Dict |
ExposeHeader | 浏览器可以接收到的来自服务器端的自定义头部信息 | Dict |
删除指定存储桶的跨域访问配置(DELETE Bucket cors)。
delete_bucket_cors(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.delete_bucket_cors(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
该方法返回值为 None。
设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。
put_bucket_lifecycle(Bucket, LifecycleConfiguration={}, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_lifecycle(
Bucket='examplebucket-1250000000',
LifecycleConfiguration={
'Rule': [
{
'ID': 'string', # 设置规则的 ID,例如Rule-1
'Filter': {
'Prefix': '', # 配置前缀为空,桶内所有对象都会执行此规则
},
'Status': 'Enabled', # Enabled表示启用规则
'Expiration': {
'Days': 200 # 设置对象的当前版本200天后过期删除
},
'Transition': [
{
'Days': 100, # 设置对象的当前版本100天后沉降
'StorageClass': 'Standard_IA' # 沉降为低频存储
},
],
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': 7 # 设置7天后回收未合并的分块
}
}
]
}
)
from qcloud_cos import get_date
response = client.put_bucket_lifecycle(
Bucket='examplebucket-1250000000',
LifecycleConfiguration={
'Rule': [
{
'ID': 'string', # 设置规则的 ID,例如Rule-1
'Filter': {
'Prefix': 'string', # 配置前缀非空,只有符合前缀的对象才会执行此规则
'Tag': [ # 配置标签过滤规则,只有标签匹配的对象才会执行此规则,和前缀二选一
{
'Key': 'string',
'Value': 'string'
}
]
},
'Status': 'Enabled'|'Disabled', # Enabled表示启用规则,Disabled表示不启用,二选一
'Expiration': {
'Days': 100, # 设置对象的当前版本100天后过期删除
'Date': get_date(2021, 4, 20) # 设置对象的当前版本在2021年4月20日之后过期删除,和Days二选一
},
'Transition': [
{
'Days': 60, # 设置对象的当前版本60天后沉降
'Date': get_date(2021, 4, 20), # 设置对象的当前版本在2021年4月20日之后沉降,和Days二选一
'StorageClass': 'Archive' # 沉降为归档存储
},
],
'NoncurrentVersionExpiration': {
'NoncurrentDays': 100 # 设置对象的历史版本100天后过期删除
},
'NoncurrentVersionTransition': [
{
'NoncurrentDays': 60, # 设置对象的历史版本60天后沉降
'StorageClass': 'Standard_IA' # 沉降为低频存储
},
],
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': 100 # 设置100天后回收未合并的分块
}
}
]
}
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Rule | 设置对应的规则,包括 ID,Filter,Status,Expiration,Transition,NoncurrentVersionExpiration,NoncurrentVersionTransition,AbortIncompleteMultipartUpload | List | 是 |
ID | 设置规则的 ID | String | 否 |
Filter | 用于描述规则影响的 Object 集合,如需设置 Bucket 中的所有 objects,请设置 Prefix 为空'' | Dict | 是 |
Status | 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled | Dict | 是 |
Expiration | 设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601,建议使用 get_date 方法来指定具体的日期 | Dict | 否 |
Transition | 设置 Object 转换存储类型规则,可以指定天数 Days 或者指定日期 Date,Date 的格式必须是 GMT ISO 8601,建议使用 get_date 方法来指定具体的日期。StorageClass 可选 Standard_IA,Archive,Deep_Archive,可以同时设置多条此类规则 | List | 否 |
NoncurrentVersionExpiration | 设置非当前版本 Object 过期规则,可以指定天数 NoncurrentDays | Dict | 否 |
NoncurrentVersionTransition | 设置非当前版本 Object 转换存储类型规则,可以指定天数 NoncurrentDays,StorageClass 可选 Standard_IA,可以同时设置多条此类规则 | List | 否 |
AbortIncompleteMultipartUpload | 指明分块上传开始后多少天内必须完成上传 | Dict | 否 |
该方法返回值为 None。
查询指定存储桶的生命周期(GET Bucket lifecycle)。
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_lifecycle(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Bucket 生命周期配置,类型为 dict。
{
'Rule': [
{
'ID': 'string',
'Filter': {
'Prefix': 'string',
'Tag': [
{
'Key': 'string',
'Value': 'string'
}
]
},
'Status': 'string',
'Expiration': {
'Days': 100,
'Date': 'string'
},
'Transition': [
{
'Days': 100,
'Date': 'string',
'StorageClass': 'STANDARD_IA'|'Archive'
},
],
'NoncurrentVersionExpiration': {
'NoncurrentDays': 100
},
'NoncurrentVersionTransition': [
{
'NoncurrentDays': 100,
'StorageClass': 'STANDARD_IA'
},
],
'AbortIncompleteMultipartUpload': {
'DaysAfterInitiation': 100
}
}
]
}
参数名称 | 参数描述 | 类型 |
---|---|---|
Rule | 对应的规则,包括 ID,Filter,Status,Expiration,Transition,NoncurrentVersionExpiration,NoncurrentVersionTransition,AbortIncompleteMultipartUpload | List |
ID | 规则的 ID | String |
Filter | 必用于描述规则影响的 Object 集合 | Dict |
Status | Rule 是否启用,可选值为 Enabled 或者 Disabled | Dict |
Expiration | Object 过期规则,可以指定天数 Days 或者指定日期 Date | Dict |
Transition | Object 转换存储类型规则,可以指定天数 Days 或者指定日期 Date,StorageClass 可选 STANDARD_IA,Archive | List |
NoncurrentVersionExpiration | 非当前版本 Object 过期规则,可以指定天数 NoncurrentDays | Dict |
NoncurrentVersionTransition | 非当前版本 Object 转换存储类型规则,可以指定天数 NoncurrentDays,StorageClass 可选 STANDARD_IA | List |
AbortIncompleteMultipartUpload | 分块上传开始后多少天内必须完成上传 | Dict |
删除指定存储桶的生命周期(DELETE Bucket lifecycle)。
delete_bucket_lifecycle(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.delete_bucket_lifecycle(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
该方法返回值为 None。
设置指定存储桶的版本控制功能(PUT Bucket versioning)。
put_bucket_versioning(Bucket, Status, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_versioning(
Bucket='examplebucket-1250000000',
Status='Enabled'
)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_versioning(
Bucket='examplebucket-1250000000',
Status='Suspended'
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Status | 设置存储桶版本控制的状态,可选值为 'Enabled', 'Suspended' | String | 是 |
该方法返回值为 None。
查询指定存储桶的版本控制信息(GET Bucket versioning)。
get_bucket_versioning(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_versioning(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Bucket 版本控制配置,类型为 dict。
{
'Status': 'Enabled'|'Suspended'
}
参数名称 | 参数描述 | 类型 |
---|---|---|
Status | 存储桶版本控制的状态,可选值为 'Enabled',Suspended' | String |
设置指定存储桶的跨地域复制规则(PUT Bucket replication)。
put_bucket_replication(Bucket, ReplicationConfiguration={}, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_replication(
Bucket='examplebucket-1250000000',
ReplicationConfiguration={
'Role': 'qcs::cam::uin/100000000001:uin/100000000001',
'Rule': [
{
'ID': 'string',
'Status': 'Enabled',
'Destination': {
'Bucket': 'qcs::cos:ap-shanghai::destinationbucket-1250000000',
'StorageClass': 'STANDARD'
}
}
]
}
)
response = client.put_bucket_replication(
Bucket='examplebucket-1250000000',
ReplicationConfiguration={
'Role': 'qcs::cam::uin/100000000001:uin/100000000001',
'Rule': [
{
'ID': 'string',
'Status': 'Enabled'|'Disabled',
'Prefix': 'string',
'Destination': {
'Bucket': 'qcs::cos:ap-beijing::destinationbucket-1250000000',
'StorageClass': 'STANDARD'|'STANDARD_IA'
}
},
{
'ID': 'string',
'Status': 'Enabled'|'Disabled',
'Prefix': 'string',
'Destination': {
'Bucket': 'qcs::cos:ap-beijing::destinationbucket2-1250000000',
'StorageClass': 'STANDARD'|'STANDARD_IA'
}
},
]
}
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 源存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Role | 发起者身份标示, 格式为 qcs::cam::uin/<owneruin>:uin/<subuin> |
String | 否 |
Rule | 设置对应的规则,包括 ID,Status,Prefix,Destination | List | 是 |
ID | 设置规则的 ID | String | 否 |
Status | 设置 Rule 是否启用,可选值为 Enabled 或者 Disabled | String | 是 |
Prefix | 设置 Rule 的前缀匹配规则,为空时表示作用存储桶中的所有对象 | String | 是 |
Destination | 描述目的资源,包括 Bucket 和StorageClass | Dict | 是 |
Bucket | 设置跨地域复制的目标存储桶,格式为 qcs::cos:[region]::[BucketName-APPID] |
String | 是 |
StorageClass | 设置目的文件的存储类型,可选值为 'STANDARD','STANDARD_IA' | String | 否 |
该方法返回值为 None。
查询指定存储桶的跨地域复制规则(GET Bucket replication)。
get_bucket_replication(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_replication(
Bucket='examplebucket-1250000000'
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Bucket 跨地域复制配置,类型为 dict。
{
'Role': 'qcs::cam::uin/100000000001:uin/100000000001',
'Rule': [
{
'ID': 'string',
'Status': 'Enabled'|'Disabled',
'Prefix': 'string',
'Destination': {
'Bucket': 'qcs::cos:ap-beijing::destinationbucket-1250000000',
'StorageClass': 'STANDARD'|'STANDARD_IA'
}
},
{
'ID': 'string',
'Status': 'Enabled'|'Disabled',
'Prefix': 'string',
'Destination': {
'Bucket': 'qcs::cos:ap-beijing::destinationbucket2-1250000000',
'StorageClass': 'STANDARD'|'STANDARD_IA'
}
},
]
}
参数名称 | 参数描述 | 类型 |
---|---|---|
Role | 发起者身份标示, 格式为 qcs::cam::uin/<owneruin>:uin/<subuin> |
String |
Rule | 跨地域复制对应的规则,包括 ID,Status,Prefix,Destination | List |
ID | 跨地域复制规则的 ID | String |
Status | 跨地域复制 Rule 是否启用,可选值为 Enabled 或者 Disabled | String |
Prefix | 跨地域复制 Rule 的前缀匹配规则,为空时表示作用存储桶中的所有对象 | String |
Destination | 描述目的资源,包括 Bucket 和 StorageClass | Dict |
Bucket | 跨地域复制的目标存储桶,格式为 qcs::cos:[region]::[BucketName-APPID] |
String |
StorageClass | 目的文件的存储类型,可选值为 'STANDARD','STANDARD_IA' | String |
删除指定存储桶的跨地域复制规则(DELETE Bucket replication)。
delete_bucket_replication(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.delete_bucket_replication(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
该方法返回值为 None。
设置指定存储桶的权限策略(PUT Bucket policy)。
put_bucket_policy(Bucket, Policy, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_policy(
Bucket='examplebucket-1250000000',
Policy={
"Statement": [
{
"Principal": {
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000011"
]
},
"Effect": "allow",
"Action": [
"name/cos:GetBucket"
],
"Resource": [
"qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"
]
"condition": {
"ip_equal": {
"qcs:ip": "10.121.2.10/24"
}
}
}
],
"version": "2.0"
}
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Statement | 描述一条或多条权限的详细信息 | List | 是 |
Principal | 描述策略授权的实体,详情请参见 访问策略语言概述 | Dict | 是 |
Version | 策略语法版本,默认为2.0 | String | 是 |
Effect | 有 allow(允许)和 deny(显式拒绝)两种情况 | String | 是 |
Action | 此处是指 COS API,根据需求指定一个或者一序列操作的组合或所有操作(*),例如 action 为 name/cos:GetService,请注意区分英文大小写 | List | 是 |
Resource | 授权操作的具体数据,可以是任意资源、指定路径前缀的资源、指定绝对路径的资源或它们的组合 | List | 是 |
Condition | 约束条件,可以不填,具体说明请参见 condition 说明 | List | 否 |
该方法返回值为 None。
查询指定存储桶的权限策略(GET Bucket policy)。
get_bucket_policy(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_policy(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Bucket 权限策略规则,类型为 dict。
{
"Statement": [
{
"Principal": {
"qcs": [
"qcs::cam::uin/100000000001:uin/100000000011"
]
},
"Effect": "allow",
"Action": [
"name/cos:GetBucket"
],
"Resource": [
"qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"
]
"condition": {
"ip_equal": {
"qcs:ip": "10.121.2.10/24"
}
}
}
],
"version": "2.0"
}
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Statement | 描述一条或多条权限的详细信息 | List | 是 |
Principal | 描述策略授权的实体,详情请参见 访问策略语言概述 | Dict | 是 |
Version | 策略语法版本,默认为2.0 | String | 是 |
Effect | 有 allow(允许)和 deny(显式拒绝)两种情况 | String | 是 |
Action | 此处是指 COS API,根据需求指定一个或者一序列操作的组合或所有操作(*),例如 action 为 name/cos:GetService,请注意区分英文大小写 | List | 是 |
Resource | 授权操作的具体数据,可以是任意资源、指定路径前缀的资源、指定绝对路径的资源或它们的组合 | List | 是 |
Condition | 约束条件,可以不填,具体说明请参见 condition 说明 | List | 否 |
删除指定存储桶的权限策略(DELETE Bucket policy)。
delete_bucket_policy(Bucket, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# 正常情况日志级别使用INFO,需要定位时可以修改为DEBUG,此时SDK会打印和服务端的通信信息
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. 设置用户属性, 包括 secret_id, secret_key, region等。Appid 已在CosConfig中移除,请在参数 Bucket 中带上 Appid。Bucket 由 BucketName-Appid 组成
secret_id = 'SecretId' # 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
# COS支持的所有region列表参见https://intl.cloud.tencent.com/document/product/436/6224
token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # 指定使用 http/https 协议来访问 COS,默认为 https,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.delete_bucket_policy(
Bucket='examplebucket-1250000000',
)
参数名称 | 参数描述 | 类型 | 必填 |
---|---|---|---|
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
该方法返回值为 None。
本页内容是否解决了您的问题?