tencent cloud

文档反馈

存储桶操作

最后更新时间:2024-01-22 11:43:35

    简介

    本文档提供关于存储桶基本操作的相关 API 概览以及 SDK 示例代码。
    注意
    建议用户 使用临时密钥 调用 SDK,通过临时授权的方式进一步提高 SDK 使用的安全性。申请临时密钥时,请遵循 最小权限指引原则,防止泄漏目标存储桶或对象之外的资源。
    如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。
    API
    操作名
    操作描述
    查询存储桶列表
    查询指定账号下所有的存储桶列表
    创建存储桶
    在指定账号下创建一个存储桶
    检索存储桶及其权限
    检索存储桶是否存在且是否有权限访问
    删除存储桶
    删除指定账号下的空存储桶

    查询存储桶列表

    功能说明

    用于查询指定账号下所有存储桶列表(GET Service)。

    方法原型

    list_buckets()

    请求示例

    # -*- 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.tencentcloud.com/cam/capi
    secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    # COS支持的所有region列表参见https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
    token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://www.tencentcloud.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.list_buckets(
    )

    返回结果说明

    查询存储桶列表,类型为 dict。
    {
    'Buckets': {
    'Bucket': [
    {
    'Name': 'string',
    'Location': 'string',
    'CreationDate': 'string'
    },
    ],
    },
    'Owner': {
    'DisplayName': 'string',
    'ID': 'string'
    }
    }
    参数名称
    参数描述
    类型
    Buckets
    存储桶列表
    Dict
    Bucket
    存储桶列表
    List
    Name
    存储桶名称
    String
    Location
    存储桶所在的地域名
    String
    CreationDate
    存储桶创建的时间
    String
    Owner
    存储桶所有者信息
    Dict
    DisplayName
    存储桶所有者的名字信息
    String
    ID
    存储桶所有者 ID
    String

    创建存储桶

    功能说明

    在指定账号下创建一个存储桶(PUT Bucket)。

    方法原型

    create_bucket(Bucket, BucketAZConfig=None, **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.tencentcloud.com/cam/capi
    secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    # COS支持的所有region列表参见https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
    token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://www.tencentcloud.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)
    
    # 存储桶名称不支持大写字母,COS 后端会将用户传入的大写字母自动转换为小写字母用于创建存储桶
    response = client.create_bucket(
    Bucket='examplebucket-1250000000'
    )

    全部参数请求示例

    response = client.create_bucket(
    Bucket='examplebucket-1250000000',
    BucketAZConfig='string',
    ACL='private'|'public-read'|'public-read-write',
    GrantFullControl='string',
    GrantRead='string',
    GrantWrite='string'
    )

    参数说明

    参数名称
    参数描述
    类型
    是否必填
    Bucket
    待创建的存储桶名称,由 BucketName-APPID 构成。
    存储桶名称不支持大写字母,COS 后端会将用户传入的大写字母自动转换为小写字母用于创建存储桶
    String
    BucketAZConfig
    存储桶 AZ 配置,指定为 'MAZ' 以创建多 AZ 存储桶
    String
    ACL
    设置存储桶的 ACL,例如 'private','public-read','public-read-write'
    String
    GrantFullControl
    赋予指定账户对存储桶的读写权限,格式为id="OwnerUin"
    String
    GrantRead
    赋予指定账户对存储桶的读权限,格式为id="OwnerUin"
    String
    GrantWrite
    赋予指定账户对存储桶的写权限,格式为id="OwnerUin"
    String

    返回结果说明

    该方法返回值为 None。

    检索存储桶及其权限

    功能说明

    检索存储桶是否存在且是否有权限访问(HEAD Bucket)。

    方法原型

    head_bucket(Bucket)

    请求示例

    # -*- 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.tencentcloud.com/cam/capi
    secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    # COS支持的所有region列表参见https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
    token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://www.tencentcloud.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.head_bucket(
    Bucket='examplebucket-1250000000'
    )

    参数说明

    参数名称
    参数描述
    类型
    是否必填
    Bucket
    待查询的存储桶名称,由 BucketName-APPID 构成
    String

    返回结果说明

    该方法返回值为 None。

    删除存储桶

    功能说明

    删除指定账号下的空存储桶(DELETE Bucket)。

    方法原型

    delete_bucket(Bucket)

    请求示例

    # -*- 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.tencentcloud.com/cam/capi
    secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    # COS支持的所有region列表参见https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
    token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://www.tencentcloud.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(
    Bucket='examplebucket-1250000000'
    )

    参数说明

    参数名称
    参数描述
    类型
    是否必填
    Bucket
    待删除的存储桶名称,由 BucketName-APPID 构成
    String

    返回结果说明

    该方法返回值为 None。

    判断存储桶是否存在

    功能说明

    判断存储桶是否存在。

    方法原型

    bucket_exists(Bucket)

    请求示例

    # -*- 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.tencentcloud.com/cam/capi
    secret_key = 'SecretKey' # 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.tencentcloud.com/cam/capi
    region = 'ap-beijing' # 替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.tencentcloud.com/cos5/bucket
    # COS支持的所有region列表参见https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1
    token = None # 如果使用永久密钥不需要填入token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见https://www.tencentcloud.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.bucket_exists(
    Bucket='examplebucket-1250000000'
    )
    print(response)

    参数说明

    参数名称
    参数描述
    类型
    是否必填
    Bucket
    存储桶名称,由 BucketName-APPID 构成
    String

    返回结果说明

    True 表示存储桶存在,False 表示存储桶不存在。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持