<?php
namespace Qcloud\Cos;
// http://guzzle3.readthedocs.io/webservice-client/guzzle-service-descriptions.html
class Service {
public static function getService() {
return array(
'name' => 'Cos Service',
'apiVersion' => 'V5',
'description' => 'Cos V5 API Service',
'operations' => array(
/**
舍弃一个分块上传且删除已上传的分片块的方法.
COS 支持舍弃一个分块上传且删除已上传的分片块. 注意,已上传但是未终止的分片块会占用存储空间进 而产生存储费用.因此,建议及时完成分块上传 或者舍弃分块上传.
关于分块上传的具体描述,请查看 https://cloud.tencent.com/document/product/436/14112.
关于舍弃一个分块上传且删除已上传的分片块接口的描述,请查看 https://cloud.tencent.com/document/product/436/7740.
cos php SDK 中舍弃一个分块上传且删除已上传的分片块请求的方法具体步骤如下:
1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。
2. 调用 AbortMultipfartUpload 接口发出请求。
3. 接收该接口的返回数据,若没有抛出异常,则操作成功。
*/
'AbortMultipartUpload' => array(
'httpMethod' => 'DELETE',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Qcloud\\Cos\\Command',
'responseClass' => 'AbortMultipartUploadOutput',
'responseType' => 'model',
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri'),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'minLength' => 1),
'UploadId' => array(
'required' => true,
'type' => 'string',
'location' => 'query',
'sentAs' => 'uploadId')),
'errorResponses' => array(
array(
'reason' => 'The specified multipart upload does not exist.',
'class' => 'NoSuchUploadException'))),
/**
创建存储桶(Bucket)的方法.
在开始使用 COS 时,需要在指定的账号下先创建一个 Bucket 以便于对象的使用和管理. 并指定 Bucket 所属的地域.创建 Bucket 的用户默认成为 Bucket 的持有者.若创建 Bucket 时没有指定访问权限,则默认 为私有读写(private)权限.
可用地域,可以查看https://cloud.tencent.com/document/product/436/6224.
关于创建 Bucket 描述,请查看 https://cloud.tencent.com/document/product/436/14106.
关于创建存储桶(Bucket)接口的具体 描述,请查看 https://cloud.tencent.com/document/product/436/7738.
cos php SDK 中创建 Bucket的方法具体步骤如下:
1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。
2. 调用 CreateBucket 接口发出请求。
3. 接收该接口的返回数据,若没有抛出异常,则创建成功。
示例:
$result = $cosClient->createBucket(array('Bucket' => 'testbucket-1252448703'));
*/
'CreateBucket' => array(
'httpMethod' => 'PUT',
'uri' => '/{Bucket}',
'class' => 'Qcloud\\Cos\\Command',
'responseClass' => 'CreateBucketOutput',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CreateBucketConfiguration')),
'parameters' => array(
'ACL' => array(
'type' => 'string',
'location' => 'header',
'sentAs' => 'x-cos-acl'),
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri')),
'errorResponses' => array(
array(
'reason' => 'The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.',
'class' => 'BucketAlreadyExistsException'))),
/**
完成整个分块上传的方法.
当使用分块上传(uploadPart(UploadPartRequest))完对象的所有块以后,必须调用该 completeMultiUpload(CompleteMultiUploadRequest) 或者 completeMultiUploadAsync(CompleteMultiUploadRequest, CosXmlResultListener) 来完成整个文件的分块上传.且在该请求的 Body 中需要给出每一个块的 PartNumber 和 ETag,用来校验块的准 确性.
分块上传适合于在弱网络或高带宽环境下上传较大的对象.SDK 支持自行切分对象并分别调用uploadPart(UploadPartRequest)上传各 个分块.
关于分块上传的描述,请查看 https://cloud.tencent.com/document/product/436/14112.
关于完成整个分片上传接口的描述,请查看 https://cloud.tencent.com/document/product/436/7742.
1. 初始化客户端cosClient,填入存储桶名,和一些额外需要的参数,如授权的具体信息等。
2. 调用 CompleteMultipartUpload 接口发出请求。
3. 接收该接口的返回数据,若没有抛出异常,则操作成功。
*/
'CompleteMultipartUpload' => array(
'httpMethod' => 'POST',
'uri' => '/{Bucket}{/Key*}',
'class' => 'Qcloud\\Cos\\Command',
'responseClass' => 'CompleteMultipartUploadOutput',
'responseType' => 'model',
'data' => array(
'xmlRoot' => array(
'name' => 'CompleteMultipartUpload')),
'parameters' => array(
'Bucket' => array(
'required' => true,
'type' => 'string',
'location' => 'uri'),
'Key' => array(
'required' => true,
'type' => 'string',
'location' => 'uri',
'minLength' => 1),
'Parts' => array(
'type' => 'array',
'location' => 'xml',
'data' => array(
'xmlFlattened' => true),
'items' => array(
'name' => 'CompletedPart',
'type' => 'object',
'sentAs' => 'Part',
'properties' => array(
'ETag' => array(
'type' => 'string'),
'PartNumber' => array(
'type' => 'num