腾讯云计算cos-php-sdk-v5接口代码

原创
小哥 4年前 (2022-11-05) 阅读数 658 #大杂烩

获取Bucket列表

方法原型

public GuzzleServiceResourceModel listBucket(array $args = array())

请求示例

//获取bucket列表
$result = $cosClient->listBuckets();

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Owner] => Array
                (
                    [ID] => qcs::cam::uin/3210232098:uin/3210232098
                    [DisplayName] => 3210232098
                )

            [Buckets] => Array
                (
                    [0] => Array
                        (
                            [Name] => accesslog-10055004
                            [Location] => ap-shanghai
                            [CreationDate] => 2016-07-29T03:09:54Z
                        )

                    [1] => Array
                        (
                            [Name] => accesslogbj-10055004
                            [Location] => ap-beijing
                            [CreationDate] => 2017-08-02T04:00:24Z
                        )

                )

            [RequestId] => NWE3YzgxZmFfYWZhYzM1MGFfMzc3MF9iOGY5OQ==
        )

)

创建Bucket

方法原型

// 创建桶
public GuzzleServiceResourceModel createBucket(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Acl

ACL权限控制

string

否

请求示例

//创建桶
//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$result = $cosClient->createBucket(array(Bucket => testbucket-125000000));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Location] => 
            [RequestId] => NWE3YzgzMTZfMTdiMjk0MGFfNTQ1OF8xNjEyYmE=
        )
)

删除Bucket

方法原型

// 删除桶
public GuzzleServiceResourceModel deleteBucket(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

是

string

bucket名称

请求示例

//删除桶
//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$result = $cosClient->deleteBucket(array(Bucket => testbucket-125000000));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestId] => NWE3YzgzMTZfMTdiMjk0MGFfNTQ2MF8xNjBjZTI=
        )
)

简单文件上传

方法原型

public GuzzleServiceResourceModel putObject(array $args = array())

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

Bucket 名称,由数字和小写字母以及中划线 "-" 构成

string

是

Body

上传文件的内容,可以为文件流或字节流

file/string

是

Key

上传文件的路径名,默认从 Bucket 开始

string

是

ACL

设置文件的 ACL,如 private,public-read,public-read-write

string

否

GrantFullControl

赋予指定账户对文件的读写权限

string

否

GrantRead

赋予指定账户对文件读权限

string

否

GrantWrite

赋予指定账户对文件的写权限

string

否

StorageClass

设置文件的存储类型,STANDARD,STANDARD_IA,NEARLINE,默认值:STANDARD

String

否

Expires

设置 Content-Expires

string

否

CacheControl

缓存策略,设置 Cache-Control

string

否

ContentType

内容类型,设置 Content-Type

string

否

ContentDisposition

文件名称,设置 Content-Disposition

string

否

ContentEncoding

编码格式,设置 Content-Encoding

string

否

ContentLanguage

语言类型,设置 Content-Language

string

否

ContentLength

设置传输长度

string

否

ContentMD5

设置上传文件的 MD5 值用于校验

string

否

Metadata

用户自定义的文件元信息

array

否

ServerSideEncryption

服务端加密方法

string

否

请求示例

// 从内存中上传
#putObject
try {
    $result = $cosClient->putObject(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        Key => string,
        Body => Hello World!,
        CacheControl => string,
        ContentDisposition => string,
        ContentEncoding => string,
        ContentLanguage => string,
        ContentLength => integer,
        ContentType => string,
        Expires => mixed type: string (date format)|int (unix timestamp)|DateTime,
        GrantFullControl => string,
        GrantRead => string,
        GrantWrite => string,
        Metadata => array(
            string => string,
        ),
        StorageClass => string,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; } 上传本地文件

putObject

try {
    $result = $cosClient->putObject(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        Key => string,
        Body => fopen(./hello.txt, rb),
        CacheControl => string,
        ContentDisposition => string,
        ContentEncoding => string,
        ContentLanguage => string,
        ContentLength => integer,
        ContentType => string,
        Expires => mixed type: string (date format)|int (unix timestamp)|DateTime,
        GrantFullControl => string,
        GrantRead => string,
        GrantWrite => string,
        Metadata => array(
            string => string,
        ),
        StorageClass => string,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Expiration] => 
            [ETag] => "ed076287532e86365e841e92bfc50d8c"
            [ServerSideEncryption] => AES256
            [VersionId] => 
            [SSECustomerAlgorithm] => 
            [SSECustomerKeyMD5] => 
            [SSEKMSKeyId] => 
            [RequestCharged] => 
            [RequestId] => NWE3Yzg0M2NfOTcyMjViNjRfYTE1YV8xNTQzYTY=
            [ObjectURL] => http://testbucket-1252448703.cos.cn-south.myqcloud.com/11%2F%2F32%2F%2F43
        )
)

分块文件上传

分块文件上传是通过将文件拆分成多个小块进行上传,多个小块可以并发上传, 最大支持40TB。

分块文件上传的步骤为:

  1. 初始化分块上传,获取uploadid。(createMultipartUpload)
  2. 分块数据上传(可并发). (uploadPart)
  3. 完成分块上传。 (completeMultipartUpload)

另外还包含获取已上传分块(listParts), 终止分块上传(abortMultipartUpload)。

方法原型

// 初始化分块上传
public GuzzleServiceResourceModel createMultipartUpload(array $args = array());

// 上传数据分块
public GuzzleServiceResourceModel uploadPart(array $args = array());

// 完成分块上传
public GuzzleServiceResourceModel completeMultipartUpload(array $args = array());

// 罗列已上传分块
public GuzzleServiceResourceModel listParts(array $args = array());

// 终止分块上传
public GuzzleServiceResourceModel abortMultipartUpload(array $args = array());

上传文件

请求示例

//上传文件
try {
    $result = $cosClient->upload(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        $bucket=testbucket-1252448703,
        $key = 111.txt,
        $body = fopen(./hello.txt, rb),
        $options = array(
            "ACL"=>private,
            CacheControl => private));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

单文件小于5M时,使用单文件上传
反之使用分片上传

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Location] => testbucket-1252448703.cos.cn-south.myqcloud.com/111.txt
            [Bucket] => testbucket
            [Key] => 111.txt
            [ETag] => "715691804ee474f2eb94adb2c5c01155-1"
            [Expiration] => 
            [ServerSideEncryption] => AES256
            [VersionId] => 
            [SSEKMSKeyId] => 
            [RequestCharged] => 
            [RequestId] => NWE3Yzg0YTRfOTUyMjViNjRfNWYyZF8xNTI5ZDQ=
        )
)

下载文件

将文件下载到本地或者下载到内存中.

方法原型

// 下载文件
public GuzzleServiceResourceModel getObject(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

对象名称

string

是

SaveAs

保存到本地的本地文件路径

string

否

VersionId

对象版本号

string

否

请求示例

// 下载文件到内存
$result = $cosClient->getObject(array(
    //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
    Bucket => testbucket-125000000,
    Key => hello.txt));
echo($result[Body])

// 下载文件到本地
$result = $cosClient->getObject(array(
    //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
    Bucket => testbucket-125000000,
    Key => hello.txt,
    SaveAs => ./hello.txt));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Body] =>
            [DeleteMarker] => 
            [AcceptRanges] => bytes
            [Expiration] => 
            [Restore] => 
            [LastModified] => Fri, 09 Feb 2018 01:10:56 GMT
            [ContentLength] => 5242880
            [ETag] => "715691804ee474f2eb94adb2c5c01155-1"
            [MissingMeta] => 
            [VersionId] => 
            [CacheControl] => private
            [ContentDisposition] => attachment; filename*="UTF-8111.txt"
            [ContentEncoding] => 
            [ContentLanguage] => 
            [ContentRange] => 
            [ContentType] => text/plain; charset=utf-8
            [Expires] => 
            [WebsiteRedirectLocation] => 
            [ServerSideEncryption] => AES256
            [SSECustomerAlgorithm] => 
            [SSECustomerKeyMD5] => 
            [SSEKMSKeyId] => 
            [StorageClass] => 
            [RequestCharged] => 
            [ReplicationStatus] => 
            [RequestId] => NWE3Yzg4ODlfMThiMjk0MGFfMmI3OV8xNWQxNDg=
        )
)

删除文件

删除COS上的对象.

方法原型

// 删除文件
public GuzzleServiceResourceModel deleteObject(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

对象名称

string

是

VersionId

对象版本号

string

否

请求示例

// 删除COS对象
$result = $cosClient->deleteObject(array(
    //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
    Bucket => testbucket-125000000,
    Key => hello.txt));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [DeleteMarker] => 
            [VersionId] => 
            [RequestCharged] => 
            [RequestId] => NWE3Yzg5MzJfY2FhMzNiMGFfNDVjOV8yY2QyMzg=
        )
)

获取对象属性

查询获取COS上的对象属性

方法原型

// 获取文件属性
public GuzzleServiceResourceModel headObject(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

对象名称

string

是

VersionId

对象版本号

string

否

返回结果示例

Array
(
    [data:protected] => Array
        (
            [DeleteMarker] => 
            [AcceptRanges] => 
            [Expiration] => 
            [Restore] => 
            [LastModified] => Thu, 08 Feb 2018 17:34:53 GMT
            [ContentLength] => 12
            [ETag] => "ed076287532e86365e841e92bfc50d8c"
            [MissingMeta] => 
            [VersionId] => 
            [CacheControl] => 
            [ContentDisposition] => 
            [ContentEncoding] => 
            [ContentLanguage] => 
            [ContentType] => application/octet-stream
            [Expires] => 
            [WebsiteRedirectLocation] => 
            [ServerSideEncryption] => AES256
            [SSECustomerAlgorithm] => 
            [SSECustomerKeyMD5] => 
            [SSEKMSKeyId] => 
            [StorageClass] => 
            [RequestCharged] => 
            [ReplicationStatus] => 
            [RequestId] => NWE3YzhhM2RfMWViZTk0MGFfNWMzMF8xNTFiZDg=
        )
)

请求示例

// 获取COS文件属性
 //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$result $cosClient->headObject(array(Bucket => testbucket-125000000, Key => hello.txt));

查询Bucket是否存在

查询获取COS上的Bucket是否存在

方法原型

// 获取文件属性
public GuzzleServiceResourceModel headBucket(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

对象版本号

string

是

请求示例

// 获取COS文件属性
 //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$result $cosClient->headBucket(array(Bucket => testbucket-125000000));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestId] => NWE3YzhhN2VfY2VhMzNiMGFfMmNmXzJjNzc3Zg==
        )
)

获取文件列表

查询获取COS上的文件列表

方法原型

// 获取文件列表
public GuzzleServiceResourceModel listObjects(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Delimiter

分隔符

string

否

Marker

标记

string

否

MaxKeys

最大对象个数

int

否

Prefix

前缀

string

否

请求示例

// 获取bucket下成员
//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$result = $cosClient->listObjects(array(Bucket => testbucket-125000000));

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Name] => testbucket-1252448703
            [Prefix] => 
            [Marker] => 
            [MaxKeys] => 1000
            [IsTruncated] => 
            [Contents] => Array
                (
                    [0] => Array
                        (
                            [Key] => 11/32/43
                            [LastModified] => 2018-02-08T17:09:16.000Z
                            [ETag] => "ed076287532e86365e841e92bfc50d8c"
                            [Size] => 12
                            [Owner] => Array
                                (
                                    [ID] => 1252448703
                                    [DisplayName] => 1252448703
                                )

                            [StorageClass] => STANDARD
                        )

                    [1] => Array
                        (
                            [Key] => 111
                            [LastModified] => 2018-02-08T17:41:11.000Z
                            [ETag] => "ed076287532e86365e841e92bfc50d8c"
                            [Size] => 12
                            [Owner] => Array
                                (
                                    [ID] => 1252448703
                                    [DisplayName] => 1252448703
                                )

                            [StorageClass] => STANDARD
                        )

                    [2] => Array
                        (
                            [Key] => 111.txt
                            [LastModified] => 2018-02-08T17:11:00.000Z
                            [ETag] => "715691804ee474f2eb94adb2c5c01155-1"
                            [Size] => 5242880
                            [Owner] => Array
                                (
                                    [ID] => 1252448703
                                    [DisplayName] => 1252448703
                                )

                            [StorageClass] => STANDARD
                        )

                )

            [RequestId] => NWE3YzhiYjdfMWJiMjk0MGFfMzA4M18xNjdiNDM=
        )
)

putBucketACL

方法原型

// 获取文件列表
public GuzzleServiceResourceModel putBucketACL(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

ACL

ACL权限控制

string

否

GrantRead

赋予被授权者读的权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

GrantWrite

赋予被授权者写的权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

GrantFullControl

赋予被授权者读写权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

请求示例

#putBucketACL
try {
    $result = $cosClient->PutBucketAcl(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        Grants => array(
            array(
                Grantee => array(
                    DisplayName => qcs::cam::uin/327874225:uin/327874225,
                    ID => qcs::cam::uin/327874225:uin/327874225,
                    Type => CanonicalUser,
                ),
                Permission => FULL_CONTROL,
            ),
            // ... repeated
        ),
        Owner => array(
            DisplayName => qcs::cam::uin/3210232098:uin/3210232098,
            ID => qcs::cam::uin/3210232098:uin/3210232098,
        ),));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestId] => NWE3YzhiZTZfZDRiMjk0MGFfODMwXzJjODllYw==
        )
)

getBucketACL

方法原型

// 获取文件列表
public GuzzleServiceResourceModel getBucketACL(array $args = array());

请求参数

字段名

类型

默认值

是否必填字段

描述

Bucket

string

无

是

bucket名称

请求示例

#getBucketACL
try {
    $result = $cosClient->GetBucketAcl(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Owner] => Array
                (
                    [ID] => qcs::cam::uin/3210232098:uin/3210232098
                    [DisplayName] => qcs::cam::uin/3210232098:uin/3210232098
                )

            [Grants] => Array
                (
                    [0] => Array
                        (
                            [Grantee] => Array
                                (
                                    [ID] => qcs::cam::uin/327874225:uin/327874225
                                    [DisplayName] => qcs::cam::uin/327874225:uin/327874225
                                )

                            [Permission] => FULL_CONTROL
                        )

                )

            [RequestId] => NWE3YzhjMTRfYzdhMzNiMGFfYjdiOF8yYzZmMzU=
        )
)

putObjectACL

方法原型

// 获取文件列表
public GuzzleServiceResourceModel putObjectACL(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

上传文件的路径名,默认从 Bucket 开始

string

是

ACL

ACL权限控制

string

否

GrantRead

赋予被授权者读的权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

GrantWrite

赋予被授权者写的权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

GrantFullControl

赋予被授权者读写权限。格式:id=" ",id=" ";当需要给子账户授权时,id="qcs::cam::uin/:uin/",当需要给根账户授权时,id="qcs::cam::uin/:uin/",例如:id="qcs::cam::uin/123:uin/123", id="qcs::cam::uin/123:uin/456"

string

否

请求示例

#putObjectACL
try {
    $result = $cosClient->PutObjectAcl(array(
        Bucket => testbucket-1252448703,
        Key => 111.txt,
        Grants => array(
            array(
                Grantee => array(
                    DisplayName => qcs::cam::uin/327874225:uin/327874225,
                    ID => qcs::cam::uin/327874225:uin/327874225,
                    Type => CanonicalUser,
                ),
                Permission => FULL_CONTROL,
            ),
            // ... repeated
        ),
        Owner => array(
            DisplayName => qcs::cam::uin/3210232098:uin/3210232098,
            ID => qcs::cam::uin/3210232098:uin/3210232098,
        ),));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

getObjectACL

方法原型

// 获取文件列表
public GuzzleServiceResourceModel getObjectACL(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

文件名称

string

是

请求示例

#getObjectACL
try {
    $result = $cosClient->getObjectAcl(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        Key => 11));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Owner] => Array
                (
                    [ID] => qcs::cam::uin/3210232098:uin/3210232098
                    [DisplayName] => qcs::cam::uin/3210232098:uin/3210232098
                )

            [Grants] => Array
                (
                    [0] => Array
                        (
                            [Grantee] => Array
                                (
                                    [ID] => qcs::cam::uin/327874225:uin/327874225
                                    [DisplayName] => qcs::cam::uin/327874225:uin/327874225
                                )

                            [Permission] => FULL_CONTROL
                        )

                )

            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjU5OF8yYzlkMmE=
        )
)

putBucketCors

方法原型

// 获取文件列表
public GuzzleServiceResourceModel putBucketCors(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

CORSRules

CORS规则

array

是

AllowedMethods

允许的 HTTP 操作,枚举值:GET,PUT,HEAD,POST,DELETE

array

否

AllowedOrigins

允许的访问来源,支持通配符 * 格式为:协议://域名[:端口]如: http://www.qq.com

array

否

AllowedHeaders

在发送 OPTIONS 请求时告知服务端,接下来的请求可以使用哪些自定义的 HTTP 请求头部,支持通配符 *

array

否

ExposeHeaders

设置浏览器可以接收到的来自服务器端的自定义头部信息

array

否

MaxAgeSeconds

设置 OPTIONS 请求得到结果的有效期

string

否

ID

配置规则的 ID

string

否

请求示例

###putBucketCors
try {
    $result = $cosClient->putBucketCors(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        // CORSRules is required
        CORSRules => array(
            array(
                AllowedHeaders => array(*,),
            // AllowedMethods is required
            AllowedMethods => array(Put, ),
            // AllowedOrigins is required
            AllowedOrigins => array(*, ),
            ExposeHeaders => array(*, ),
            MaxAgeSeconds => 1,
        ),
        // ... repeated
    ),
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

getBucketCors

方法原型

// 获取文件列表
public GuzzleServiceResourceModel getBucketCors(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

请求示例

#getBucketCors
try {
    $result = $cosClient->getBucketCors(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [CORSRules] => Array
                (
                    [0] => Array
                        (
                            [ID] => 1234
                            [AllowedHeaders] => Array
                                (
                                    [0] => *
                                )

                            [AllowedMethods] => Array
                                (
                                    [0] => PUT
                                )

                            [AllowedOrigins] => Array
                                (
                                    [0] => http://www.qq.com
                                )

                        )

                )

            [RequestId] => NWE3YzhkMmRfMTdiMjk0MGFfNTQzZl8xNWUwMGU=
        )
)

deleteBucketCors

方法原型

// 获取文件列表
public GuzzleServiceResourceModel deleteBucketCors(array $args = array());

请求参数

  • params (Object) : 参数列表
    • Bucket —— (String) : Bucket 名称

请求示例

#deleteBucketCors
try {
    $result = $cosClient->deleteBucketCors(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

复制对象

方法原型

// 获取文件列表
public GuzzleServiceResourceModel copyObject(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

Bucket 名称,由数字和小写字母以及中划线 "-" 构成

string

是

CopySource

复制来源

string

是

Key

上传文件的路径名,默认从 Bucket 开始

string

是

ACL

设置文件的 ACL,如 private,public-read,public-read-write

string

否

GrantFullControl

赋予指定账户对文件的读写权限

string

否

GrantRead

赋予指定账户对文件读权限

string

否

GrantWrite

赋予指定账户对文件的写权限

string

否

StorageClass

设置文件的存储类型,STANDARD,STANDARD_IA,NEARLINE,默认值:STANDARD

String

否

Expires

设置 Content-Expires

string

否

CacheControl

缓存策略,设置 Cache-Control

string

否

ContentType

内容类型,设置 Content-Type

string

否

ContentDisposition

文件名称,设置 Content-Disposition

string

否

ContentEncoding

编码格式,设置 Content-Encoding

string

否

ContentLanguage

语言类型,设置 Content-Language

string

否

ContentLength

设置传输长度

string

否

ContentMD5

设置上传文件的 MD5 值用于校验

string

否

Metadata

用户自定义的文件元信息

array

否

ServerSideEncryption

服务端加密方法

string

否

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

Bucket 名称,由数字和小写字母以及中划线 "-" 构成

string

是

CopySource

复制来源

string

是

Key

上传文件的路径名,默认从 Bucket 开始

string

是

ACL

设置文件的 ACL,如 private,public-read,public-read-write

string

否

GrantFullControl

赋予指定账户对文件的读写权限

string

否

GrantRead

赋予指定账户对文件读权限

string

否

GrantWrite

赋予指定账户对文件的写权限

string

否

StorageClass

设置文件的存储类型,STANDARD,STANDARD_IA,NEARLINE,默认值:STANDARD

String

否

Expires

设置 Content-Expires

string

否

CacheControl

缓存策略,设置 Cache-Control

string

否

ContentType

内容类型,设置 Content-Type

string

否

ContentDisposition

文件名称,设置 Content-Disposition

string

否

ContentEncoding

编码格式,设置 Content-Encoding

string

否

ContentLanguage

语言类型,设置 Content-Language

string

否

ContentLength

设置传输长度

string

否

ContentMD5

设置上传文件的 MD5 值用于校验

string

否

Metadata

用户自定义的文件元信息

array

否

ServerSideEncryption

服务端加密方法

string

否

请求示例

#copyobject
#简单copy接口
try {
    $result = $cosClient->copyObject(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket => testbucket-125000000,
        // CopySource is required
        CopySource => lewzylu03-1252448703.cos.ap-guangzhou.myqcloud.com/tox.ini,
        // Key is required
        Key => string,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

#copy
#大于5g会自动使用分块copy
try {
    $result = $cosClient->Copy($bucket = lewzylu01-1252448703,
        $key = string,
        $copysource = lewzylu02-1252448703.cos.ap-guangzhou.myqcloud.com/test1G,
        $options = array(VersionId=>MTg0NDY3NDI1NTk0MzUwNDQ1OTg));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

putBucketLifecycle

方法原型

// 获取文件列表
public GuzzleServiceResourceModel putBucketLifecycle(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

Bucket 名称,由数字和小写字母以及中划线 "-" 构成

string

是

Rules

设置对应的规则,包括 ID,Filter,Status,Expiration,Transition,NoncurrentVersionExpiration,NoncurrentVersionTransition,AbortIncompleteMultipartUpload

array

是

ID

配置规则的 ID

string

否

Filter

用于描述规则影响的 Object 集合

array

是

Status

设置 Rule 是否启用,可选值为 Enabled 或者 Disabled

string

是

Expiration

设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date

array

否

Transition

设置 Object 转换存储类型规则,可以指定天数 Days 或者指定日期 Date,StorageClass 可选 Standard_IA, Nearline

array

否

请求示例

#putBucketLifecycle
try {
    $result = $cosClient->putBucketLifecycle(array(
    //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
    Bucket => testbucket-125000000,
    // Rules is required
    Rules => array(
        array(
            Expiration => array(
                Days => 1,
            ),
            ID => id1,
            Filter => array(
                Prefix => documents/
            ),
            // Status is required
            Status => Enabled,
            Transitions => array(
                array(
                    Days => 200,
                    StorageClass => NEARLINE)),
            // ... repeated
        ),
    )));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

getBucketLifecycle

方法原型

// 获取文件列表
public GuzzleServiceResourceModel getBucketLifecycle(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

请求示例

#getBucketLifecycle
try {
    $result = $cosClient->getBucketLifecycle(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket =>testbucket-125000000,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Rules] => Array
                (
                    [0] => Array
                        (
                            [ID] => id1
                            [Filter] => Array
                                (
                                    [Prefix] => documents/
                                )

                            [Status] => Enabled
                            [Transition] => Array
                                (
                                    [Days] => 200
                                    [StorageClass] => NEARLINE
                                )

                            [Expiration] => Array
                                (
                                    [Days] => 1000
                                )

                        )

                )

            [RequestId] => NWE3YzhlZjNfY2FhMzNiMGFfNDVkNF8yZDIxODE=
        )
)

deleteBucketLifecycle

方法原型

// 获取文件列表
public GuzzleServiceResourceModel deleteBucketLifecycle(array $args = array());

请求参数

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

请求示例

#deleteBucketLifecycle
try {
    $result = $cosClient->deleteBucketLifecycle(array(
        //bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
        Bucket =>testbucket-125000000,
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

获得object下载url

获得object带签名的下载url

请求示例

//获得object的下载url
//bucket的命名规则为{name}-{appid} ,此处填写的存储桶名称必须为此格式
$bucket =  testbucket-125000000;
$key = hello.txt;
$region = cn-south;
$url = "/{$key}";
$request = $cosClient->get($url);
$signedUrl = $cosClient->getObjectUrl($bucket, $key, +10 minutes);

使用临时密钥

$cosClient = new QcloudCosClient(
    array(
        region => cn-south,
        timeout => ,
        credentials=> array(
            appId => ,
            secretId    => ,
            secretKey => ,
            token => )));

恢复归档文件

方法原型

//  恢复归档文件
public GuzzleServiceResourceModel deleteObject(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Key

对象名称

string

是

Days

保存时间

integer

是

Tier

恢复类型

string

否

请求示例

  try {
    $result = $cosClient->restoreObject(array(
        // Bucket is required
        Bucket => lewzylu02,
        // Objects is required
        Key => 11,
        Days => 7,
        CASJobParameters => array(
            Tier =>Bulk
        )
    ));
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

开启多版本

方法原型

// 开启多版本
public GuzzleServiceResourceModel putBucketVersioning(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Status

多版本状态

string

是

请求示例

#putBucketVersioning
try {
    $result = $cosClient->putBucketVersioning(
    array(Bucket => lewzylu02,
    Status => Enabled)
    );
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [RequestCharged] => 
            [RequestId] => NWE3YzhjZDdfY2JhMzNiMGFfNjVhOV8yZDJhNjY=
        )
)

获取bucket版本

方法原型

// 获取bucket版本
public GuzzleServiceResourceModel getBucketVersioning(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

请求示例

try {
    $result = $cosClient->getBucketVersioning(
        array(Bucket => lewzylu02,)
    );
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
    [data:protected] => Array
        (
            [Status] => Enabled
            [RequestId] => NWE3YzhmZTVfNjIyNWI2NF80YzQ3XzJkNjU4NQ==
        )
)

打印各个版本的文件列表

方法原型

// 打印各个版本的文件列表
public GuzzleServiceResourceModel listObjectVersions(array $args = array());

请求参数

$args是包含以下字段的关联数组:

参数名称

描述

类型

是否必填字段

Bucket

bucket名称

string

是

Delimiter

分隔符

string

否

Marker

标记

string

否

MaxKeys

最大对象个数

int

否

Prefix

前缀

string

否

请求示例

try {
    $result = $cosClient->listObjectVersions(
        array(Bucket => lewzylu02,
            Prefix=>test1G)
    );
    print_r($result);
} catch (Exception $e) {
    echo "$e

"; }

返回结果示例

Array
(
   [data:protected] => Array
        (
            [Name] => lewzylu02-1252448703
            [Prefix] => test1G
            [KeyMarker] => 
            [VersionIdMarker] => 
            [MaxKeys] => 1000
            [IsTruncated] => 
            [Versions] => Array
                (
                    [0] => Array
                        (
                            [Key] => test1G
                            [VersionId] => MTg0NDY3NDI1NTg1ODc4Nzk3NjI
                            [IsLatest] => 1
                            [LastModified] => 2018-01-05T03:07:51.000Z
                            [ETag] => "202cb962ac59075b964b07152d234b70"
                            [Size] => 3
                            [StorageClass] => STANDARD
                            [Owner] => Array
                                (
                                    [UID] => 1252448703
                                )

                        )

                    [1] => Array
                        (
                            [Key] => test1G
                            [VersionId] => MTg0NDY3NDI1NTk0MzI3NDU3NTk
                            [IsLatest] => 
                            [LastModified] => 2017-12-26T08:26:50.000Z
                            [ETag] => "13ddf6552868644926ba606cd287106b-1"
                            [Size] => 5242880
                            [StorageClass] => STANDARD
                            [Owner] => Array
                                (
                                    [UID] => 1252448703
                                )

                        )

                    [2] => Array
                        (
                            [Key] => test1G
                            [VersionId] => MTg0NDY3NDI1NTk0MzI3ODAzODc
                            [IsLatest] => 
                            [LastModified] => 2017-12-26T08:26:16.000Z
                            [ETag] => "3c86b7371340b2174b875fa7bcc0bd9a-1"
                            [Size] => 5242880
                            [StorageClass] => STANDARD
                            [Owner] => Array
                                (
                                    [UID] => 1252448703
                                )

                        )
                )

            [RequestId] => NWE3YzkwMGFfMTliYjk0MGFfMWUwOWRfMmJlZWIx
        )
)
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除