PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date...

113
Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Transcript of PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date...

Page 1: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Object Storage Service

PHP SDK API Reference

Issue 01

Date 2020-03-31

HUAWEI TECHNOLOGIES CO., LTD.

Page 2: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Copyright © Huawei Technologies Co., Ltd. 2021. All rights reserved.

No part of this document may be reproduced or transmitted in any form or by any means without priorwritten consent of Huawei Technologies Co., Ltd. Trademarks and Permissions

and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd.All other trademarks and trade names mentioned in this document are the property of their respectiveholders. NoticeThe purchased products, services and features are stipulated by the contract made between Huawei andthe customer. All or part of the products, services and features described in this document may not bewithin the purchase scope or the usage scope. Unless otherwise specified in the contract, all statements,information, and recommendations in this document are provided "AS IS" without warranties, guaranteesor representations of any kind, either express or implied.

The information in this document is subject to change without notice. Every effort has been made in thepreparation of this document to ensure accuracy of the contents, but all statements, information, andrecommendations in this document do not constitute a warranty of any kind, express or implied.

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. i

Page 3: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Contents

1 Overview....................................................................................................................................1

2 Initialization..............................................................................................................................22.1 ObsClient Initialization.......................................................................................................................................................... 22.2 Log Initialization...................................................................................................................................................................... 42.3 Request Array........................................................................................................................................................................... 52.4 SDK Common Result Objects.............................................................................................................................................. 52.5 SDK Custom Exceptions........................................................................................................................................................ 62.6 Asynchronous Method Call.................................................................................................................................................. 7

3 Predefined Constants..............................................................................................................83.1 Permission Types..................................................................................................................................................................... 83.2 Available Grantee Groups.....................................................................................................................................................93.3 Available Grantee Types........................................................................................................................................................93.4 Pre-defined Access Control Policies................................................................................................................................ 103.5 Storage Classes...................................................................................................................................................................... 103.6 Restore Options..................................................................................................................................................................... 103.7 Event Types............................................................................................................................................................................. 103.8 Metadata Replication Policy............................................................................................................................................. 11

4 Bucket-Related APIs..............................................................................................................124.1 PUT Bucket.............................................................................................................................................................................. 124.2 GET Buckets............................................................................................................................................................................ 144.3 HEAD Bucket.......................................................................................................................................................................... 154.4 DELETE Bucket....................................................................................................................................................................... 164.5 GET Objects.............................................................................................................................................................................174.6 GET Object versions............................................................................................................................................................. 204.7 List Multipart uploads......................................................................................................................................................... 244.8 Obtain Bucket Metadata.................................................................................................................................................... 264.9 GET Bucket location............................................................................................................................................................. 284.10 GET Bucket storageinfo.................................................................................................................................................... 294.11 PUT Bucket quota...............................................................................................................................................................304.12 GET Bucket quota............................................................................................................................................................... 314.13 Set Bucket storagePolicy.................................................................................................................................................. 324.14 GET Bucket storagePolicy................................................................................................................................................ 33

Object Storage ServicePHP SDK API Reference Contents

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. ii

Page 4: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.15 PUT Bucket acl.....................................................................................................................................................................344.16 GET Bucket acl..................................................................................................................................................................... 364.17 PUT Bucket logging........................................................................................................................................................... 374.18 GET Bucket logging........................................................................................................................................................... 404.19 PUT Bucket policy...............................................................................................................................................................424.20 GET Bucket policy............................................................................................................................................................... 434.21 DELETE Bucket policy........................................................................................................................................................ 444.22 PUT Bucket lifecycle.......................................................................................................................................................... 444.23 GET Bucket lifecycle...........................................................................................................................................................494.24 DELETE Bucket lifecycle....................................................................................................................................................514.25 PUT Bucket website........................................................................................................................................................... 524.26 GET Bucket website........................................................................................................................................................... 544.27 DELETE Bucket website.................................................................................................................................................... 574.28 PUT Bucket versioning...................................................................................................................................................... 574.29 GET Bucket versioning...................................................................................................................................................... 584.30 PUT Bucket cors.................................................................................................................................................................. 594.31 GET Bucket cors.................................................................................................................................................................. 614.32 DELETE Bucket cors........................................................................................................................................................... 634.33 PUT Bucket notification....................................................................................................................................................634.34 GET Bucket notification.................................................................................................................................................... 654.35 PUT Bucket tagging........................................................................................................................................................... 664.36 GET Bucket tagging........................................................................................................................................................... 684.37 DELETE Bucket tagging.................................................................................................................................................... 69

5 Objects-Related APIs............................................................................................................ 705.1 PUT Object.............................................................................................................................................................................. 705.2 GET Object.............................................................................................................................................................................. 725.3 PUT Object - Copy................................................................................................................................................................ 775.4 DELETE Object....................................................................................................................................................................... 805.5 DELETE Objects......................................................................................................................................................................815.6 Obtain Object Metadata.................................................................................................................................................... 835.7 PUT Object acl....................................................................................................................................................................... 865.8 GET Object acl....................................................................................................................................................................... 885.9 Initiate Multipart Upload................................................................................................................................................... 895.10 PUT Part.................................................................................................................................................................................915.11 PUT Part - Copy.................................................................................................................................................................. 935.12 List Parts................................................................................................................................................................................ 965.13 Complete Multipart Upload............................................................................................................................................985.14 DELETE Multipart upload.............................................................................................................................................. 1005.15 POST Object restore........................................................................................................................................................ 101

6 Other APIs.............................................................................................................................1036.1 Creating a Signed URL...................................................................................................................................................... 1036.2 Generating Browser-Based Upload Parameters with Authentication Information......................................106

Object Storage ServicePHP SDK API Reference Contents

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. iii

Page 5: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

A Change History....................................................................................................................108

Object Storage ServicePHP SDK API Reference Contents

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. iv

Page 6: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

1 Overview

This document describes all APIs of OBS (Object Storage Service) PHP SDK,including the API description, method definition, and parameter description.

For details about the end-to-end usage of OBS PHP SDK (such as installation,initialization, development, and FAQs), application scenarios of interfaces, andcode examples in various scenarios, see the Object Storage Service PHP SDKDeveloper Guide.

Object Storage ServicePHP SDK API Reference 1 Overview

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 1

Page 7: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

2 Initialization

2.1 ObsClient Initialization

API DescriptionObsClient functions as the PHP client for accessing OBS. It offers callers a seriesof APIs for interaction with OBS. These APIs are used for managing and operatingresources, such as buckets and objects, stored in OBS.

NamespaceClass Parent Namespace

ObsClient Obs

Method Definition1. Constructor form: ObsClient(array $parameter)2. Factory form: ObsClient::factory(array $parameter)

Parameter DescriptionField Type Option

al orMandatory

Description

key string Mandatory

AK

secret string Mandatory

SK

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 2

Page 8: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Optional orMandatory

Description

endpoint string Mandatory

Endpoint for accessing OBS, whichcontains the protocol type, domainname (or IP address), and portnumber. For example, https://your-endpoint:443.You can click here to view theendpoints of OBS.

ssl_verify booleanorstring

Optional

Whether to verify server-sidecertificates. Possible values are:● Path to the server-side root

certificate file in .pem format● true: The default CAs are used to

verify the server-side certificate.● false: The server-side certificates

will not be verified.The default value is false.

max_retry_count integer Optional

Maximum number of retries whenan HTTP/HTTPS connection isabnormal. The default value is 3.

socket_timeout integer Optional

Timeout duration for transmittingdata at the socket layer, in seconds.The default value is 60.

connect_timeout integer Optional

Timeout period for establishing anHTTP/HTTPS connection, inseconds. The default value is 60.

chunk_size integer Optional

Block size for reading socketstreams, in bytes. The default valueis 65536.

Sample Code// Import the dependency library.require 'vendor/autoload.php';// Import the SDK code library during source code installation.// require 'obs-autoloader.php';// Declare the namespace.use Obs\ObsClient;

// Create an instance of ObsClient.$obsClient = new ObsClient([ 'key' => '*** Provide your Access Key ***', 'secret' => '*** Provide your Secret Key ***', 'endpoint' => 'https://your-endpoint', 'ssl_verify' => false, 'max_retry_count' => 1,

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 3

Page 9: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

'socket_timeout' => 20, 'connect_timeout' => 20, 'chunk_size' => 8196]);

2.2 Log Initialization

API DescriptionYou can enable the SDK log function to record log information generated duringAPI calling into log files for subsequent data analysis or fault location.

Method DefinitionObsClient->initLog(array $parameter)

Parameter DescriptionField Type Option

al orMandatory

Description

FilePath string Mandatory

Save directory of log files

FileName string Mandatory

Log file name

MaxFiles integer Mandatory

Maximum number of log files that canbe retained

Level integer Mandatory

Log level. SDK defines four types ofinteger constant corresponding todifferent log levels, which are:● DEBUG (100)● INFO (200)● WARN (300)● ERROR (400)

Sample Code$obsClient->initLog ([ 'FilePath' => './logs', 'FileName' => 'OBS-SDK.log', 'MaxFiles' => 10, 'Level' => INFO]);

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 4

Page 10: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

2.3 Request Array

API DescriptionEach time you call an API of ObsClient, you need to pass the associative array tothe request as the input. For a bucket-related API, the Bucket field contained inthe associative array is used to specify the bucket name (excluding ObsClient->listBuckets). For an object-related API, the Bucket field and Key field containedin the associative array are used to specify the bucket name and object name,respectively.

Parameter DescriptionField Type Option

al orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory forobject-relatedAPIs

Object name

Otherparameters

For details, see "Bucket-Related APIs" and "Object-Related APIs".

2.4 SDK Common Result Objects

API DescriptionAfter an API is called using an instance of ObsClient, view whether an exception isthrown. If no, an SDK common result object will be returned, indicating asuccessful operation. If yes, the operation fails and you need to obtain the errorinformation from the instance of Obs\Common\ObsException.

NamespaceClass Parent Namespace

Model Obs\Internal\Common

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 5

Page 11: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Parameter DescriptionField Type Description

HttpStatusCode

integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Other fields For details, see "Bucket-Related APIs" and "Object-RelatedAPIs".

2.5 SDK Custom Exceptions

API DescriptionSDK custom exceptions are thrown by ObsClient and are inherited from class\RuntimeException. Exceptions are usually OBS server-side errors, including OBSerror codes and error information. This facilitates users to locate problems andtroubleshot faults.

NamespaceClass Parent Namespace

ObsException Obs

Method DescriptionMethod Return

Value TypeDescription

ObsException->getExceptionCode

string Error code returned by the OBS server

ObsException->getExceptionMessage

string Error description returned by the OBS server

ObsException->getRequestId

string Request ID returned by the OBS server

ObsException->getHostId

string Requested server ID

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 6

Page 12: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method ReturnValue Type

Description

ObsException->getResponse

GuzzleHttp\Psr7\Response

HTTP response object

ObsException->getRequest

GuzzleHttp\Psr7\Request

HTTP request object

ObsException->getStatusCode

integer HTTP status code

2.6 Asynchronous Method Call

API DescriptionAll bucket- and object-related APIs provided by OBS PHP SDK can be called byasynchronous methods whose names end with Async (such as ObsClient->putObjectAsync if the synchronous method is named ObsClient->putObject).The returned result will be output to a callback function. A callback functioncontains an SDK custom exception and an SDK common result object insequence. If the SDK custom exception is not null, the operation fails. Otherwise,the operation succeeds.

Sample Code$promise = $obsClient->putObjectAsync ( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Body' => 'Hello OBS' ], function ($obsException, $resp) { if ($obsException === null) { printf ( "RequestId:%s\n", $resp ['RequestId'] ); } else { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () ); }} );$promise->wait ();

NO TE

A result object (GuzzleHttp\Promise\Promise) will be returned upon an asynchronousmethod call. You need to call the wait method of the object to wait until the asynchronousmethod call is complete.

Object Storage ServicePHP SDK API Reference 2 Initialization

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 7

Page 13: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

3 Predefined Constants

3.1 Permission TypesAccess Method Type Description

ObsClient::PermissionRead string A grantee with this permission for abucket can obtain the list of objects,multipart uploads, and multipleobject versions in and the bucket, aswell as metadata of the bucket.A grantee with this permission foran object can obtain the objectcontent and metadata.

ObsClient::PermissionWrite string A grantee with this permission for abucket can upload, overwrite, anddelete any object or part in thebucket.This permission is not applicable toobjects.

ObsClient::PermissionReadAcp string A grantee with this permission canobtain the ACL of a bucket orobject.A bucket or object owner has thispermission permanently.

Object Storage ServicePHP SDK API Reference 3 Predefined Constants

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 8

Page 14: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Access Method Type Description

ObsClient::PermissionWriteAcp string A grantee with this permission canupdate the ACL of a bucket orobject.A bucket or object owner has thispermission permanently.A grantee with this permission canmodify the access control policy andthus the grantee obtains full accesspermissions.

ObsClient::PermissionFullCon-trol

string A grantee with this permission for abucket has PermissionRead,PermissionWrite,PermissionReadAcp, andPermissionWriteAcp permissionsfor the bucket.A grantee with this permission foran object has PermissionRead,PermissionWriteAcp, andPermissionWriteAcp permissionsfor the object.

3.2 Available Grantee GroupsAccess Method Type Description

ObsClient::GranteeGroup string Grants permissions to usergroups.

ObsClient::GranteeUser string Grants permissions to a singleuser.

3.3 Available Grantee TypesAccess Method Type Description

ObsClient::GroupAllUsers string Indicates all users.

ObsClient::GroupAuthenticatedUs-ers

string Authorized users. This constantis deprecated.

ObsClient::GroupLogDelivery string Log delivery group. Thisconstant is deprecated.

Object Storage ServicePHP SDK API Reference 3 Predefined Constants

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 9

Page 15: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

3.4 Pre-defined Access Control PoliciesAccess Method Type Description

ObsClient::AclPrivate string Private read/write

ObsClient::AclPublicRead string Public read

ObsClient::AclPublicReadWrite string Public read/write

ObsClient::AclPublicReadDelivered string Public read on a bucket aswell as objects in the bucket

ObsClient::AclPublicReadWriteDeliv-ered

string Public read/write on a bucketas well as objects in thebucket

3.5 Storage ClassesAccess Method Type Description

ObsClient::StorageClassStandard string OBS Standard

ObsClient::StorageClassWarm string OBS Infrequent Access

ObsClient::StorageClassCold string OBS Archive

3.6 Restore OptionsAccess Method Type Description

ObsClient::RestoreTierExpedited string Expedited restoration, whichrestores an object in 1 to 5minutes.

ObsClient::RestoreTierStandard string Standard restoration, whichrestores an object in 3 to 5hours.

3.7 Event TypesAccess Method Type Description

ObsClient::ObjectCreatedAll string All events for creatingobjects

Object Storage ServicePHP SDK API Reference 3 Predefined Constants

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 10

Page 16: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Access Method Type Description

ObsClient::ObjectCreatedPut string PUT Object events

ObsClient::ObjectCreatedPost string POST Object events

ObsClient::ObjectCreatedCopy string PUT Object - Copy events

ObsClient::ObjectCreatedComple-teMultipartUpload

string Complete Multipart Uploadevents

ObsClient::ObjectRemovedAll string All events for deletingobjects

ObsClient::ObjectRemovedDelete string Events for deleting objectsby specifying object versionIDs

ObsClient::ObjectRemovedDelete-MarkerCreated

string Events for deleting objectswithout specifying objectversion IDs, when versioningis enabled

3.8 Metadata Replication PolicyAccess Method Type Description

ObsClient::CopyMetadata string Copies metadata.

ObsClient::ReplaceMetadata string Replaces metadata.

Object Storage ServicePHP SDK API Reference 3 Predefined Constants

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 11

Page 17: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4 Bucket-Related APIs

4.1 PUT Bucket

API DescriptionYou can use this API to create a bucket and name it as you specify. The createdbucket name must be unique in OBS. Buckets with the same name can only becreated by the same user in the same region. In other cases, creating a bucketwith a used name will fail. Each user can create a maximum of 100 buckets.

Method Definition1. ObsClient->createBucket(array $parameter)2. ObsClient->createBucketAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 12

Page 18: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket nameA bucket name must comply with thefollowing rules:● Contains 3 to 63 characters

chosen from lowercase letters,digits, hyphens (-), and periods (.),and starts with a digit or letter.

● Cannot be an IP-like address.● Cannot start or end with a hyphen

(-) or period (.).● Cannot contain two consecutive

periods (.), for example,my..bucket.

● Cannot contain periods (.) andhyphens (-) adjacent to eachother, for example, my-.bucket ormy.-bucket.

ACL string Optional Pre-defined access control policythat can be specified during thebucket creation

StorageClass string Optional Bucket storage class that can bespecified during the bucket creation

LocationConstraint

string Mandatory unlessthe regionwhere theOBSserviceresides isnot thedefaultregion.

Bucket locationThis parameter is not required if theendpoint belongs to the defaultNorth China 1 region (cn-north-1).This parameter is a must if theendpoint belongs to any otherregions. Click here to query currentlyvalid regions. For details about OBSregions and endpoints, see Regionsand Endpoints.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 13

Page 19: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> createBucket([ 'Bucket' => 'bucketname', 'ACL' => 'private', 'StorageClass' => ObsClient::StorageClassStandard ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.2 GET Buckets

API Description

You can use this API to obtain the bucket list. In the list, bucket names aredisplayed in lexicographical order.

Method Definition1. ObsClient->listBuckets(array $parameter)2. ObsClient->listBucketsAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

QueryLocation boolean Optional Whether to query the bucket location

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBSserver

Buckets indexedarray

List of buckets

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 14

Page 20: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

Name string Bucket name

CreationDate string Time when the bucket is created

Location string Bucket location

Owner associativearray

Bucket owner

ID string ID of the domain to which the bucketowner belongs

Sample Codetry{ $resp = $obsClient -> listBuckets([ 'QueryLocation' => true ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Owner[ID]:%s\n", $resp['Owner']['ID']); foreach ($resp['Buckets'] as $index => $bucket){ printf("Buckets[%d]\n", $index + 1); printf("Name:%s\n", $bucket['Name']); printf("CreationDate:%s\n", $bucket['CreationDate']); printf("Location:%s\n", $bucket['Location']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.3 HEAD Bucket

API DescriptionYou can use this API to check whether a bucket exists. If the HTTP status code inthe thrown exception is 200, the bucket exists. If the HTTP status code is 404, thebucket does not exist.

Method Definition1. ObsClient->headBucket(array $parameter)2. ObsClient->headBucketAsync(array $parameter, callable callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 15

Page 21: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optiona

l orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> headBucket([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Bucket exists\n");}catch (Obs\Common\ObsException $obsException){ if($obsException->getStatusCode() === 404){ printf("Bucket does not exist\n"); }else{ printf("StatusCode:%d\n", $obsException->getStatusCode()); } }

4.4 DELETE Bucket

API DescriptionYou can use this API to delete a bucket. The bucket to be deleted must be empty(containing no objects, noncurrent object versions, or part fragments).

Method Definition1. ObsClient->deleteBucket(array $parameter)2. ObsClient->deleteBucketAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 16

Page 22: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> deleteBucket([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.5 GET Objects

API DescriptionYou can use this API to list objects in a bucket. By default, a maximum of 1000objects are listed.

Method Definition1. ObsClient->listObjects(array $parameter)2. ObsClient->listObjectsAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 17

Page 23: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optiona

l orMandatory

Description

Bucket string Mandatory

Bucket name

Prefix string Optional Prefix that the object names to be listedmust contain

Marker string Optional Object name to start with when listingobjects in a bucket. All objects are listedin the lexicographical order.

MaxKeys integer Optional Maximum number of objects returned inthe response. The value ranges from 1 to1000. If the value is not in this range,1000 is returned by default.

Delimiter string Optional Character used to group object names. Ifthe object name contains the Delimiterparameter, the character string from thefirst character to the first delimiter in theobject name is grouped under a singleresult element, CommonPrefix. (If aprefix is specified in the request, the prefixmust be removed from the object name.)

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBSserver

Location string Bucket location

Name string Bucket name

Delimiter string Character used to group objectnames, which is consistent withthat set in the request

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 18

Page 24: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

IsTruncated boolean Whether all objects are returned.If the field value is true, not allobjects are returned. If the fieldvalue is false, all objects arereturned.

Prefix string Object name prefix, which isconsistent with that set in therequest

Marker string Start position for listing objects,which is consistent with that setin the request

NextMarker string Object name to start with uponnext request for listing objects

MaxKeys integer Maximum number of listedobjects, which is consistent withthat set in the request

Contents indexed array Object list.

ETag string MD5 value of the object (If theobject is encrypted using server-side encryption, the ETag is notthe MD5 value of the object.)

Size integer Object size in bytes

Key string Object name

LastModified string Time when the last modificationwas made to the object

Owner associativearray

Object owner

ID string ID of the domain to which theobject owner belongs

StorageClass string Storage class of the object

CommonPrefixes indexed array List of object name prefixesgrouped according to theDelimiter parameter (ifspecified)

Prefix string Object name prefix groupedaccording to the Delimiterparameter

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 19

Page 25: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> listObjects([ 'Bucket' => 'bucketname', 'Prefix' => 'prefix', 'MaxKeys' => 100 ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ($resp['Contents'] as $index => $content){ printf("Contents[%d]\n", $index + 1); printf("ETag:%s\n", $content['ETag']); printf("Size:%s\n", $content['Size']); printf("StorageClass:%s\n", $content['StorageClass']); printf("Key:%s\n", $content['Key']); printf("LastModified:%s\n", $content['LastModified']); printf("Owner[ID]:%s\n", $content['Owner']['ID']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.6 GET Object versions

API Description

You can use this API to list versioning objects in a bucket. By default, a maximumof 1000 versioning objects are listed.

Method Definition1. ObsClient->listVersions(array $parameter)2. ObsClient->listVersionsAsync(array $parameter, callable $callback)

Request Parameter

Field Type Optional orMandatory

Description

Bucket string Mandatory

Bucket name

Prefix string Optional

Prefix that the object names to belisted must contain

KeyMarker string Optional

Object name to start with when listingversioning objects in a bucket. Allversioning objects following thisparameter are listed in thelexicographical order.

MaxKeys integer Optional

Maximum number of objects returned.The value ranges from 1 to 1000. If thevalue is not in this range, 1000 isreturned by default.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 20

Page 26: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Optional orMandatory

Description

Delimiter string Optional

Character used to group object names.If the object name contains theDelimiter parameter, the characterstring from the first character to thefirst delimiter in the object name isgrouped under a single result element,CommonPrefix. (If a prefix is specifiedin the request, the prefix must beremoved from the object name.)

VersionIdMarker string Optional

Object name to start with when listingversioning objects in a bucket. Allversioning objects are listed in thelexicographical order by object nameand version ID. This parameter must beused together with KeyMarker.If the value of VersionIdMarker is nota version ID specified by KeyMarker,VersionIdMarker does not take effect.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBSserver

Location string Bucket location

Name string Bucket name

Delimiter string Character used to group objectnames, which is consistent withthat set in the request

Prefix string Object name prefix, which isconsistent with that set in therequest

IsTruncated boolean Whether all versioning objects arereturned. If the field value is true,not all versioning objects arereturned. If the field value is false,all versioning objects are returned.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 21

Page 27: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

KeyMarker string Start position for listing objects,which is consistent with that set inthe request

VersionIdMarker string Start position for listing objects,which is consistent with that set inthe request

NextKeyMarker string Object name to start with upon thenext request for listing versioningobjects in a bucket

NextVersionIdMarker string Version ID to start with upon thenext request for listing versioningobjects. It is used with theNextKeyMarker parameter.

MaxKeys integer Maximum number of listedversioning objects, which isconsistent with that set in therequest

Versions indexedarray

List of versioning objects.

ETag string MD5 value of the object

Size integer Object size in bytes

Key string Object name

VersionId string Object version ID

IsLatest boolean Whether the object is of the latestversion. If the field value is true,the object is of the latest version.

LastModified string Time when the last modificationwas made to the object

Owner associativearray

Object owner

ID string ID of the domain to which theobject owner belongs

StorageClass string Storage class of the object

DeleteMarkers indexedarray

List of versioning delete markers

Owner associativearray

Object owner

ID string ID of the domain to which theobject owner belongs

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 22

Page 28: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

Key string Object name

VersionId string Object version ID

IsLatest boolean Whether the object is of the latestversion. If the field value is true,the object is of the latest version.

LastModified string Time when the last modificationwas made to the object

CommonPrefixes indexedarray

List of object name prefixesgrouped according to the Delimiterparameter (if specified)

Prefix string Object name prefix groupedaccording to the Delimiterparameter

Sample Codetry{ $resp = $obsClient -> listVersions([ 'Bucket' => 'bucketname', 'Prefix' => 'prefix', 'MaxKeys' => 100 ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Versions:\n"); foreach ($resp['Versions'] as $index => $version){ printf("Versions[%d]\n", $index + 1); printf("ETag:%s\n", $version['ETag']); printf("Size:%s\n", $version['Size']); printf("StorageClass:%s\n", $version['StorageClass']); printf("Key:%s\n", $version['Key']); printf("VersionId:%s\n", $version['VersionId']); printf("LastModified:%s\n", $version['LastModified']); printf("Owner[ID]:%s\n", $version['Owner']['ID']); } printf("DeleteMarkers:\n"); foreach ($resp['DeleteMarkers'] as $index => $deleteMarker){ printf("DeleteMarkers[%d]\n", $index + 1); printf("Key:%s\n", $deleteMarker['Key']); printf("VersionId:%s\n", $deleteMarker['VersionId']); printf("IsLatest:%s\n", $deleteMarker['IsLatest']); printf("LastModified:%s\n", $deleteMarker['LastModified']); printf("Owner[ID]:%s\n", $deleteMarker['Owner']['ID']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 23

Page 29: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.7 List Multipart uploads

API Description

You can use this API to list the multipart uploads that are initialized but notcombined or aborted in a specified bucket.

Method Definition1. ObsClient->listMultipartUploads(array $parameter)2. ObsClient->listMultipartUploadsAsync(array $parameter, callable $callback)

Request Parameter

Field Type Optional orMandatory

Description

Bucket string Mandatory

Bucket name

Delimiter string Optional

Character used to group object namesinvolved in multipart uploads. If theobject name contains the Delimiterparameter, the character string from thefirst character to the first delimiter inthe object name is grouped under asingle result element, CommonPrefix.(If a prefix is specified in the request,the prefix must be removed from theobject name.)

Prefix string Optional

Prefix that the object names in themultipart uploads to be listed mustcontain

MaxUploads integer Optional

Maximum number of returned multipartuploads. The value ranges from 1 to1000. If the value is not in this range,1000 is returned by default.

KeyMarker string Optional

Object name to start with when listingmultipart uploads

UploadIdMarker string Optional

Upload ID after which the multipartupload listing begins. It is effective onlywhen used with KeyMarker so thatmultipart uploads afterUploadIdMarker of KeyMarker will belisted.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 24

Page 30: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Bucket string Bucket name

KeyMarker string Object name after which listingmultipart uploads begins, which isconsistent with that set in the request

UploadIdMarker string Upload ID after which the multipartupload listing begins, which isconsistent with that set in the request

NextKeyMarker string Object name to start with upon thenext request for listing multipartuploads

NextUploadIdMarker string Upload ID to start with upon the nextrequest for listing multipart uploads. Itis used with the NextKeyMarkerparameter.

Delimiter string Character used to group object namesin multipart uploads, which isconsistent with that set in the request

Prefix string Object name prefix in multipartuploads, which is consistent with thesame parameter in the request

MaxUploads integer Maximum number of listed multipartuploads, which is consistent with thesame parameter in the request

IsTruncated boolean

Whether all multipart uploads arereturned. If the field value is true, notall multipart uploads are returned. Ifthe field value is false, all multipartuploads are returned.

Uploads indexed array

List of multipart uploads.

Key string Name of the object to be uploaded

UploadId string Multipart upload ID

Initiator associativearray

Initiator of the multipart upload

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 25

Page 31: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

ID string ID of the domain to which the initiatorbelongs

Owner associativearray

Owner of the multipart upload, whichis consistent with Initiator

ID string ID of the domain to which the initiatorbelongs

Initiated string Time when the multipart upload wasinitiated

StorageClass string Storage class of the object to beuploaded

CommonPrefixes indexed array

List of object name prefixes groupedaccording to the Delimiter parameter(if specified)

Prefix string Object name prefix grouped accordingto the Delimiter parameter

Sample Codetry{ $resp = $obsClient -> listMultipartUploads([ 'Bucket' => 'bucketname', 'Prefix' => 'prefix', 'MaxUploads' => 100 ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ($resp['Uploads'] as $index => $upload){ printf("Versions[%d]\n", $index + 1); printf("UploadId:%s\n", $upload['UploadId']); printf("Initiated:%s\n", $upload['Initiated']); printf("StorageClass:%s\n", $upload['StorageClass']); printf("Key:%s\n", $upload['Key']); printf("Initiator[ID]:%s\n", $upload['Initiator']['ID']); printf("Initiator[DisplayName]:%s\n", $upload['Initiator']['DisplayName']); printf("Owner[ID]:%s\n", $upload['Owner']['ID']); printf("Owner[DisplayName]:%s\n", $upload['Owner']['DisplayName']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.8 Obtain Bucket Metadata

API DescriptionYou can use this API to send a HEAD request to a bucket to obtain the bucketmetadata such as the storage class and CORS rules (if set).

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 26

Page 32: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->getBucketMetadata(array $parameter)2. ObsClient->getBucketMetadata(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Origin string Optional Origin of the cross-domainrequest specified by the pre-request. Generally, it is a domainname.

RequestHeader string Optional HTTP header in a cross-domainrequest

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Location string Bucket location

StorageClass string Storage class of the bucket. When thestorage class is OBS Standard, the valueis null.

AllowOrigin string If Origin in the request meets theCORS rules of the server,AllowedOrigin in the CORS rules isreturned.

AllowHeader string If RequestHeader in the request meetsthe CORS rules of the server,AllowedHeader in the CORS rules isreturned.

AllowMethod string AllowedMethod in the CORS rules ofthe server

ExposeHeader string ExposeHeader in the CORS rules of theserver

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 27

Page 33: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

MaxAgeSeconds integer MaxAgeSeconds in the CORS rules ofthe server

Sample Codetry{ $resp = $obsClient -> getBucketMetadata([ 'Bucket' => 'bucketname', 'Origin' => 'http://www.a.com', 'RequestHeader' => 'x-obs-header' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("StorageClass:%s\n", $resp['StorageClass']); printf("AllowOrigin:%s\n", $resp['AllowOrigin']); printf("AllowHeader:%s\n", $resp['AllowHeader']); printf("AllowMethod:%s\n", $resp['AllowMethod']); printf("ExposeHeader:%s\n", $resp['ExposeHeader']); printf("MaxAgeSeconds:%s\n", $resp['MaxAgeSeconds']);}catch (Obs\Common\ObsException $obsException){ printf("StatusCode:%s\n", $obsException->getStatusCode()); }

4.9 GET Bucket location

API Description

You can use this API to obtain the bucket location.

Method Definition1. ObsClient->getBucketLocation(array $parameter)2. ObsClient->getBucketLocationAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 28

Page 34: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

RequestId string Request ID returned by the OBS server

Location string Bucket location

Sample Codetry{ $resp = $obsClient -> getBucketLocation([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Location:%s\n", $resp['Location']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.10 GET Bucket storageinfo

API Description

You can use this API to obtain storage information about a bucket, including thebucket size and number of objects in the bucket.

Method Definition1. ObsClient->getBucketStorageInfo(array $parameter)2. ObsClient->getBucketStorageInfo(array $parameter, callback $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory Bucket name

Returned Result (InterfaceResult)

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Size double Bucket size

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 29

Page 35: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

ObjectNumber integer Number of objects in the bucket

Sample Codetry{ $resp = $obsClient -> getBucketStorageInfo([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Size:%s\n", $resp['Size']); printf("ObjectNumber:%s\n", $resp['ObjectNumber']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.11 PUT Bucket quota

API Description

You can use this API to set the bucket quota. A bucket quota must be expressed inbytes and the maximum value is 263-1. Value 0 indicates that no upper limit is setfor the bucket quota.

Method Definition1. ObsClient->setBucketQuota(array $parameter)2. ObsClient->setBucketQuotaAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

StorageQuota integer Mandatory

Bucket quota. The value is a non-negative integer.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 30

Page 36: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketQuota([ 'Bucket' => 'bucketname', 'StorageQuota' => 100 * 1024 * 1024 ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.12 GET Bucket quota

API Description

You can use this API to obtain the bucket quota. Value 0 indicates that no upperlimit is set for the bucket quota.

Method Definition1. ObsClient->getBucketQuota(array $parameter)2. ObsClient->getBucketQuotaAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

StorageQuota integer Bucket quota

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 31

Page 37: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> getBucketQuota([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("StorageQuota:%s\n", $resp['StorageQuota']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.13 Set Bucket storagePolicy

API DescriptionYou can use this API to set storage classes for buckets. The storage class of anobject defaults to be that of its residing bucket.

Method Definition1. ObsClient->setBucketStoragePolicy(array $parameter)2. ObsClient->setBucketStoragePolicyAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

StorageClass string Mandatory

Storage class of the bucket

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketStoragePolicy([ 'Bucket' => 'bucketname', 'StorageClass' => ObsClient::StorageClassWarm

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 32

Page 38: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.14 GET Bucket storagePolicy

API Description

You can use this API to obtain the storage class of a bucket.

Method Definition1. ObsClient->getBucketStoragePolicy(array $parameter)2. ObsClient->getBucketStoragePolicyAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

StorageClass string Storage class of the bucket

Sample Codetry{ $resp = $obsClient -> getBucketStoragePolicy([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("StorageClass:%s\n", $resp['StorageClass']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 33

Page 39: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.15 PUT Bucket acl

API DescriptionYou can use this API to set the ACL for a bucket.

Method Definition1. ObsClient->setBucketAcl(array $parameter)2. ObsClient->setBucketAclAsync(array $parameter, callable $callback)

Request ParameterField Type Optio

nal orMandatory

Description

Bucket string Mandatory

Bucket name

ACL string Optional

Pre-defined access controlpolicy

Owner associative array

Optional

Bucket owner

ID string Mandatory

ID of the domain to which thebucket owner belongs

DisplayName string Optional

Name of the bucket owner

Grants indexedarray

Optional

List of grantees' permissioninformation

Grantee associative array

Mandatory

Grantee

Type string Mandatory

Grantee type

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 34

Page 40: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Optional orMandatory

Description

ID string MandatorywhenTypeisCanonicalUser. Inothercases,leaveit null.

ID of the domain to which thegrantee belongs

URI string MandatorywhenTypeisGroup.Inothercases,leaveit null.

Grantee group

Permission string Mandatory

Granted permission

Delivered boolean Optional

Whether an object inherits theACL of its residing bucket

NO TE

● Owner and Grants must be used together and they cannot be used with ACL.

● You must set either the two fields or ACL.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 35

Page 41: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> setBucketAcl([ 'Bucket' => 'bucketname', 'Owner' => ['ID' => 'ownerid', 'DisplayName' => 'ownername'], 'Grants' => [ ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionRead], ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionWrite], ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupLogDelivery], 'Permission' => ObsClient::PermissionWrite], ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupLogDelivery], 'Permission' => ObsClient::PermissionReadAcp], ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.16 GET Bucket acl

API DescriptionYou can use this API to obtain a bucket ACL.

Method Definition1. ObsClient->getBucketAcl(array $parameter)2. ObsClient->getBucketAclAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 36

Page 42: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

Owner associativearray

Bucket owner

ID string ID of the domain to which the bucketowner belongs

Grants indexedarray

List of grantees' permissioninformation

Grantee associativearray

Grantee

ID string ID of the domain to which the granteebelongs. This field is null when Type ofGrantee is Group.

URI string Grantee group. This field is null whenType of Grantee is CanonicalUser.

Permission string Granted permission

Delivered boolean

Whether an object inherits the ACL ofits residing bucket

Sample Codetry{ $resp = $obsClient -> getBucketAcl([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Owner[ID]:%s\n", $resp['Owner']['ID']); printf("Owner[DisplayName]:%s\n", $resp['Owner']['DisplayName']); printf("Grants\n"); foreach ($resp['Grants'] as $index => $grant){ printf("Grants[%d]", $index + 1); printf("Grantee[ID]:%s\n", $grant['Grantee']['ID']); printf("Grantee[DisplayName]:%s\n", $grant['Grantee']['DisplayName']); printf("Grantee[URI]:%s\n", $grant['Grantee']['URI']); printf("Permission:%s\n", $grant['Permission']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.17 PUT Bucket logging

API DescriptionYou can use this API to configure access logging for a bucket.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 37

Page 43: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->setBucketLogging(array $parameter)2. ObsClient->setBucketLoggingAsync(array $parameter, callable $callback)

Request ParameterField Type Opti

onalorMandatory

Description

Bucket string Mandatory

Bucket name

Agency string Mandatorywhenconfiguringbucketlogging

Agency name

LoggingEnabled associative array

Optional

Log configuration information

TargetBucket string Mandatory

Target bucket for which logsare generated

TargetPrefix string Mandatory

Name prefix of a to-be-logged object in the targetbucket

TargetGrants indexedarray

Optional

List of grantees' permissioninformation

Grantee associative array

Optional

Grantee

Type

string Mandatory

Grantee type

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 38

Page 44: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

ID string MandatorywhenTypeisCanonicalUser.Inothercases,leave itnull.

ID of the domain to which thegrantee belongs

URI

string MandatorywhenTypeisGroup. Inothercases,leave itnull.

Grantee group

Permission string Optional

Granted permission

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 39

Page 45: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketLogging([ 'Bucket' => 'bucketname', 'LoggingEnabled' => [ 'TargetBucket' => 'targetbucketname', 'TargetPrefix' => 'prefix', 'TargetGrants' => [ ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionWriteAcp], ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionRead] ] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.18 GET Bucket logging

API DescriptionYou can use this API to obtain the access logging settings of a bucket.

Method Definition1. ObsClient->getBucketLogging(array $parameter)2. ObsClient->getBucketLoggingAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 40

Page 46: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by theOBS server

Agency string Agency name

LoggingEnabled associativearray

Log configuration information

TargetBucket string Target bucket for which logsare generated

TargetPrefix string Name prefix of a to-be-loggedobject in the target bucket

TargetGrants indexedarray

List of grantees' permissioninformation

Grantee associativearray

Grantee

ID string ID of the domain to which thegrantee belongs. This field isnull when Type of Grantee isGroup.

URI string Grantee group. This field is nullwhen Type of Grantee isCanonicalUser.

Permission string Granted permission

Sample Codetry{ $resp = $obsClient -> getBucketLogging([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("LoggingEnabled[TargetBucket]:%s\n", $resp['LoggingEnabled']['TargetBucket']); printf("LoggingEnabled[TargetPrefix]:%s\n", $resp['LoggingEnabled']['TargetPrefix']); printf("TargetGrants\n"); foreach ($resp['LoggingEnabled']['TargetGrants'] as $index => $grant){ printf("Grants[%d]", $index + 1); printf("Grantee[ID]:%s\n", $grant['Grantee']['ID']); printf("Grantee[DisplayName]:%s\n", $grant['Grantee']['DisplayName']); printf("Grantee[URI]:%s\n", $grant['Grantee']['URI']); printf("Permission:%s\n", $grant['Permission']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 41

Page 47: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.19 PUT Bucket policy

API DescriptionYou can use this API to set a bucket policy. If the bucket already has a policy, thepolicy will be overwritten by the one specified in this request.

Method Definition1. ObsClient->setBucketPolicy(array $parameter)2. ObsClient->setBucketPolicyAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Policy string Mandatory

Policy information in JSONformat. For details about theformat, see Policy Format.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketPolicy([ 'Bucket' => 'bucketname', 'Policy' => 'your policy' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 42

Page 48: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

NO TICE

The bucket name contained in the Resource field in Policy must be the onespecified for the bucket policy.

4.20 GET Bucket policy

API Description

You can use this API to obtain the bucket policy.

Method Definition1. ObsClient->getBucketPolicy(array $parameter)2. ObsClient->getBucketPolicyAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Policy string Policy information in JSON format

Sample Codetry{ $resp = $obsClient -> getBucketPolicy([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Policy:%s\n", $resp['Policy']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 43

Page 49: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.21 DELETE Bucket policy

API Description

You can use this API to delete a bucket policy.

Method Definition1. ObsClient->deleteBucketPolicy(array $parameter)2. ObsClient->deleteBucketPolicyAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> deleteBucketPolicy([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.22 PUT Bucket lifecycle

API Description

You can use this API to set lifecycle rules for a bucket, so as to periodically deleteobjects in the bucket.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 44

Page 50: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->setBucketLifecycle(array $parameter)2. ObsClient->setBucketLifecycleAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory Bucketname

Rules indexedarray

Mandatory Lifecyclerules of thebucket

Transitions indexedarray

Optional List ofobjecttransitionpolicies

StorageClass

string Mandatory Storageclass ofthe objectaftertransitionNOTE

TheStandardstorageclass is notsupported.

Date stringor\DateTime

Mandatorywhen Daysis not set

Date whenan objectwill betransited.The valuemustconformwith theISO8601standardsand mustbe at 00:00(UTCtime), forexample,2018-01-01T00:00:00Z.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 45

Page 51: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

Days integer Mandatorywhen Dateis not set

Number ofdays afterwhich anobject willbetransitedsince itscreation.The valuemust be apositiveinteger.

Expiration associativearray

Optional Expirationtime of anobject

Date stringor\DateTime

Mandatorywhen Daysis not set

Date whenan objectexpires. Ifthe valuetype isstring, thevalue mustconform totheISO8601standardsand mustbe at 00:00(UTCtime), forexample,2018-01-01T00:00:00Z.

Days integer Mandatorywhen Dateis not set

Number ofdays afterwhich anobjectexpiressince itscreation.The valuemust be apositiveinteger.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 46

Page 52: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

ID string Optional Rule ID. Itis a 1-255characterstring.

Prefix string Mandatory Objectnameprefixidentifyingone ormoreobjects towhich theruleapplies.The valuecan beempty,indicatingthat therule appliesto allobjects inthe bucket.

Status string Mandatory Whetherthis rule isenabled.Possiblevalues are:● Enabled● Disabled

NoncurrentVersionTransi-tions

indexedarray

Optional List ofnoncurrentobjectversiontransitionpolicies

StorageClass

string Mandatory Storageclass ofthenoncurrentobjectversionaftertransition

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 47

Page 53: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

NoncurrentDays

integer Mandatory Number ofdays afterwhich anobject willbetransitedsince itbecomes anoncurrentversion.Theparametervalue mustbe apositiveinteger.

NoncurrentVersionExpi-ration

associativearray

Optional Expirationtime of anoncurrentobjectversion

NoncurrentDays

integer Mandatory Number ofdays afterwhich anobjectexpiressince itbecomes anoncurrentversion.The fieldvalue mustbe apositiveinteger.

NO TE

Transitions, Expiration, NoncurrentVersionTransitions, and NoncurrentVersionExpirationcannot be all null.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 48

Page 54: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketLifecycle([ 'Bucket' => 'bucketname', 'Rules' => [ ['ID' => 'rule1', 'Prefix' => 'prefix1', 'Status' => 'Enabled', 'Expiration' => ['Days' => 60], 'NoncurrentVersionExpiration' => ['NoncurrentDays' => 60]], ['ID' => 'rule2', 'Prefix' => 'prefix2', 'Status' => 'Enabled', 'Expiration' => ['Date' => '2018-12-31T00:00:00Z']] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.23 GET Bucket lifecycle

API DescriptionYou can use this API to obtain the lifecycle rules of a bucket.

Method Definition1. ObsClient->getBucketLifecycle(array $parameter)2. ObsClient->getBucketLifecycleAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 49

Page 55: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Rules indexedarray

Lifecycle rules of the bucket

Transitions indexedarray

List of object transition policies

StorageClass

string Storage class of the object aftertransition

Date string Date when an object will be transited

Days string Number of days after which an objectwill be transited since its creation

Expiration associativearray

Expiration time of an object

Date string Date when an object expires

Days integer Number of days after which an objectexpires since its creation

ID string Rule ID

Prefix string Object name prefix identifying one ormore objects to which the rule applies

Status string Whether the rule is enabled

NoncurrentVersionTransitions

indexedarray

List of noncurrent object versiontransition policies

StorageClass

string Storage class of the noncurrent objectversion after transition

NoncurrentDays

string Number of days after which an objectwill be transited since it becomes anoncurrent version

NoncurrentVersionExpiration

associativearray

Expiration time of a noncurrent objectversion

NoncurrentDays

integer Number of days after which an objectexpires since it becomes a noncurrentversion

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 50

Page 56: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> getBucketLifecycle([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ($resp['Rules'] as $index => $rule){ printf("Rules[%d]\n", $index + 1); printf("ID:%s\n", $rule['ID']); printf("Prefix:%s\n", $rule['Prefix']); printf("Status:%s\n", $rule['Status']); printf("Expiration[Days]:%s\n", $rule['Expiration']['Days']); printf("Expiration[Date]:%s\n", $rule['Expiration']['Date']); printf("NoncurrentVersionExpiration[NoncurrentDays]:%s\n", $rule['NoncurrentVersionExpiration']['NoncurrentDays']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.24 DELETE Bucket lifecycle

API DescriptionYou can use this API to delete all lifecycle rules of a bucket.

Method Definition1. ObsClient->deleteBucketLifecycle(array $parameter)2. ObsClient->deleteBucketLifecycleAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 51

Page 57: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> deleteBucketLifecycle([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.25 PUT Bucket website

API Description

You can use this API to set website hosting for a bucket.

Method Definition1. ObsClient->setBucketWebsite(array $parameter)2. ObsClient->setBucketWebsiteAsync(array $parameter, callable $callback)

Request Parameter

Field Type Optional orMandatory

Description

Bucket string Mandatory

Bucket name

RedirectAllRequestsTo associativearray

Optional

Redirection rule of all requests

HostName string Mandatory

Host name used for redirection

Protocol string Optional

Protocol used for redirection.Possible values are:● http (default)● https

ErrorDocument associativearray

Optional

Error page settings

Key string Optional

Page that is returned when a4XX error occurs

IndexDocument associativearray

Optional

Default page settings

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 52

Page 58: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Optional orMandatory

Description

Suffix string Mandatory

Suffix that is appended to arequest initiated for a folder. Forexample, if the suffix isindex.html and you request forsamplebucket/images/, thereturned data will be the objectnamed images/index.html inthe samplebucket bucket. Thesuffix can neither be null norcontain slashes (/).

RoutingRules indexedarray

Optional

Redirection rule list

Condition associativearray

Optional

Matching condition of aredirection rule

HttpErrorCodeReturnedEquals

string Optional

HTTP error code to be matchedwhen a redirection rule takeseffect

KeyPrefixEquals

string Optional

Object name prefix to bematched when a redirection ruletakes effect

Redirect associativearray

Mandatory

Details about a redirectionrequest

Protocol string Optional

Protocol used for redirection.Possible values are:● http● https

HostName string Optional

Host name used for redirection

ReplaceKeyPrefixWith

string Optional

Object name prefix used in theredirection request

ReplaceKeyWith

string Optional

Object name used in theredirection request. Thisparameter cannot be usedtogether withReplaceKeyPrefixWith.

HttpRedirectCode

string Optional

HTTP status code in the responseto the redirection request

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 53

Page 59: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

NO TE

● ErrorDocument, IndexDocument, and RoutingRules must be used together and theycannot be used with RedirectAllRequestsTo.

● When ErrorDocument, IndexDocument, and RoutingRules are used together,RoutingRules can be null.

● You must set either these three fields or RedirectAllRequestsTo.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketWebsite([ 'Bucket' => 'bucketname',// 'RedirectAllRequestsTo' => ['HostName' => 'www.example.com', 'Protocol' => 'https'], 'IndexDocument' => ['Suffix' => 'index.html'], 'ErrorDocument' => ['Key' => 'error.html'], 'RoutingRules' => [ ['Condition' => ['HttpErrorCodeReturnedEquals' => 404, 'KeyPrefixEquals' => 'prefix'], 'Redirect' => ['Protocol' => 'http', 'ReplaceKeyWith' => 'key']], ['Condition' => ['HttpErrorCodeReturnedEquals' => 404, 'KeyPrefixEquals' => 'prefix'], 'Redirect' => ['Protocol' => 'http', 'ReplaceKeyWith' => 'key']] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.26 GET Bucket website

API DescriptionYou can use this API to obtain the website hosting settings of a bucket.

Method Definition1. ObsClient->getBucketWebsite(array $parameter)2. ObsClient->getBucketWebsiteAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 54

Page 60: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer

HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBSserver

RedirectAllRequestsTo associativearray

Redirection rule of all requests

HostName

string Host name used for redirection

Protocol

string Host name used for redirection

ErrorDocument associativearray

Error page settings

Key string Page that is returned when a 4XXerror occurs

IndexDocument associativearray

Default page settings

Suffix string Suffix that is appended to a requestinitiated for a folder. For example, ifthe suffix is index.html and yourequest for samplebucket/images/,the returned data will be the objectnamed images/index.html in thesamplebucket bucket. The suffix canneither be null nor contain slashes(/).

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 55

Page 61: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

RoutingRules indexedarray

Redirection rule list

Condition associativearray

Matching condition of a redirectionrule

HttpErrorCodeReturnedEquals

integer

HTTP error code to be matchedwhen a redirection rule takes effect

KeyPrefixEquals

string Object name prefix to be matchedwhen a redirection rule takes effect

Redirect associativearray

Details about a redirection request

Protocol string Protocol used for redirection

HostName string Host name used for redirection

ReplaceKeyPrefixWith

string Object name prefix used in theredirection request

ReplaceKeyWith

string Object name used in the redirectionrequest. This parameter cannot beused together withReplaceKeyPrefixWith.

HttpRedirectCode

integer

HTTP status code in the response tothe redirection request

Sample Codetry{ $resp = $obsClient -> getBucketWebsite([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("ErrorDocument[Key]:%s\n", $resp['ErrorDocument']['Key']); printf("IndexDocument[Suffix]:%s\n", $resp['IndexDocument']['Suffix']); foreach ($resp['RoutingRules'] as $index => $routingRule){ printf("RoutingRules[%d]", $index + 1); printf("Condition[HttpErrorCodeReturnedEquals]:%s\n", $routingRule['Condition']['HttpErrorCodeReturnedEquals']); printf("Condition[KeyPrefixEquals]:%s\n", $routingRule['Condition']['KeyPrefixEquals']); printf("Redirect[Protocol]:%s\n", $routingRule['Redirect']['Protocol']); printf("Redirect[ReplaceKeyWith]:%s\n", $routingRule['Redirect']['ReplaceKeyWith']); printf("Redirect[HttpRedirectCode]:%s\n", $routingRule['Redirect']['HttpRedirectCode']); printf("Redirect[HostName]:%s\n", $routingRule['Redirect']['HostName']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 56

Page 62: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.27 DELETE Bucket website

API Description

You can use this API to delete the website hosting settings of a bucket.

Method Definition1. ObsClient->deleteBucketWebsite(array $parameter)2. ObsClient->deleteBucketWebsiteAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> deleteBucketWebsite([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.28 PUT Bucket versioning

API Description

You can use this API to set the versioning status for a bucket.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 57

Page 63: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->setBucketVersioning(array $parameter)2. ObsClient->getBucketVersioningAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Status string Mandatory

Versioning status of the bucket.Possible values are:● Enabled● Suspended

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketVersioning([ 'Bucket' => 'bucketname', 'Status' => 'Enabled' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.29 GET Bucket versioning

API DescriptionYou can use this API to obtain the versioning status of a bucket.

Method Definition1. ObsClient->getBucketVersioning(array $parameter)2. ObsClient->getBucketVersioningAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 58

Page 64: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Status string Versioning status of the bucket

Sample Codetry{ $resp = $obsClient -> getBucketVersioning([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("Status:%s\n", $resp['Status']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.30 PUT Bucket cors

API DescriptionYou can use this API to set CORS rules for a bucket to allow client browsers tosend cross-domain requests.

Method Definition1. ObsClient->setBucketCors(array $parameter)2. ObsClient->setBucketCorsAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 59

Page 65: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request Parameter

Field Type Optional orMandatory

Description

Bucket string Mandatory

Bucket name

CorsRules indexedarray

Mandatory

CORS rules of the bucket

ID string Optional

CORS rule ID. It is a 1-255character string.

AllowedMethod

indexedarray ofstrings

Mandatory

HTTP methods allowed by theCORS rule. Possible values are:● GET● PUT● HEAD● POST● DELETE

AllowedOrigin

indexedarray ofstrings

Mandatory

Origins (character stringsrepresenting domain names)allowed by the CORS rule. EachAllowedOrigin can contain upto one wildcard character (*).

AllowedHeader

indexedarray ofstrings

Optional

Request headers allowed by theCORS rule. Each AllowedHeadercan contain up to one wildcardcharacter (*).

MaxAgeSeconds

integer Optional

Cache duration (in seconds) ofthe cross-region request result inthe client allowed by the CORSrule. The value must be aninteger.

ExposeHeader

indexedarray ofstrings

Optional

Additional response headersallowed by the CORS rule. Itcannot contain spaces.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 60

Page 66: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketCors([ 'Bucket' => 'bucketname', 'CorsRules' => [ [ 'ID' => 'rule1', 'AllowedMethod' => ['PUT','POST','GET','DELETE','HEAD'], 'AllowedOrigin' => ['obs.hostname','obs.hostname1'], 'AllowedHeader' => ['obs-header-1'], 'MaxAgeSeconds' => 60 ], [ 'ID' => 'rule2', 'AllowedMethod' => ['PUT','POST','GET'], 'AllowedOrigin' => ['obs.hostname','obs.hostname1'], 'AllowedHeader' => ['header-1','header-2'], 'MaxAgeSeconds' => 50 ] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.31 GET Bucket cors

API DescriptionYou can use this API to obtain the CORS rules of a specified bucket.

Method Definition1. ObsClient->setBucketCors(array $parameter)2. ObsClient->setBucketCorsAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory Bucket name

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 61

Page 67: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

CorsRules indexedarray

CORS rules of the bucket

ID string CORS rule ID

AllowedMethod

indexedarray ofstrings

HTTP methods allowed by the CORS rule

AllowedOrigin indexedarray ofstrings

Origins (character strings representingdomain names) allowed by the CORSrule

AllowedHeader

indexedarray ofstrings

Request headers allowed by the CORSrule

MaxAgeSecond

integer Cache duration (in seconds) of the cross-region request result in the clientallowed by the CORS rule. The valuemust be an integer.

ExposeHeader indexedarray ofstrings

Additional response headers allowed bythe CORS rule

Sample Codetry{ $resp = $obsClient -> getBucketCors([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ($resp['CorsRules'] as $index => $corsRule){ printf("CorsRule[%d]\n", $index + 1); printf("MaxAgeSeconds:%s\n", print_r($corsRule['MaxAgeSeconds'], true)); printf("AllowedMethod:%s\n", print_r($corsRule['AllowedMethod'], true)); printf("AllowedOrigin:%s\n", print_r($corsRule['AllowedOrigin'], true)); printf("AllowedHeader:%s\n", print_r($corsRule['AllowedHeader'], true)); printf("ExposeHeader:%s\n", print_r($corsRule['ExposeHeader'],true)); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 62

Page 68: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.32 DELETE Bucket cors

API Description

You can use this API to delete the CORS rules of a specified bucket.

Method Definition1. ObsClient->setBucketCors(array $parameter)2. ObsClient->setBucketCorsAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> deleteBucketCors([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.33 PUT Bucket notification

API Description

You can use this API to set event notification for a bucket. You will be notified ofall specified operations performed on the bucket.

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 63

Page 69: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->setBucketNotification(array $parameter)2. ObsClient->setBucketNotificationAsync(array $parameter, callable $callback)

Request ParameterField Type Optio

nal orMandatory

Description

Bucket string Mandatory

Bucket name

TopicConfigurations indexedarray

Optional

Event notification setting list of thebucket

ID string Optional

Event notification setting ID

Topic string Mandatory

URN of the event notification topic.After detecting a specific event inthe bucket, OBS sends a message tothe topic.

Event indexedarray ofstrings

Mandatory

Type of events that need to benotified

Filter indexedarray

Optional

List of filtering rules

Name string Optional

Prefix or suffix of object names forfiltering. Possible values are:● prefix● suffix

Value string Optional

Keyword of object names forfiltering objects by prefix or suffix

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 64

Page 70: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry{ $resp = $obsClient -> setBucketNotification([ 'Bucket' => 'bucketname', 'TopicConfigurations' => [ [ 'ID' => '001', 'Topic' => 'your topic', 'Event' => [ObsClient::ObjectCreatedAll], 'Filter' => [ ['Name' => 'prefix', 'Value' => 'smn'], ['Name' => 'suffix', 'Value' => '.jpg'] ] ] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.34 GET Bucket notification

API DescriptionYou can use this API to obtain the event notification settings of a bucket.

Method Definition1. ObsClient->getBucketNotification(array $parameter)2. ObsClient->getBucketNotificationAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory Bucket name

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

TopicConfigurations indexedarray

Event notification setting list of thebucket

ID string Event notification setting ID

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 65

Page 71: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

Topic string URN of the event notification topic.After detecting a specific event in thebucket, OBS sends a message to thetopic.

Event indexedarray ofstrings

Type of events that need to benotified

Filter indexedarray

List of filtering rules

Name string Prefix or suffix of object names forfiltering

Value string Keyword of object names for filteringobjects by prefix or suffix

Sample Codetry{ $resp = $obsClient -> getBucketNotification([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ( $resp ['TopicConfigurations'] as $index => $topicConfiguration ) { printf ( "TopicConfigurations[%d]\n", $index + 1 ); printf ( "ID:%s\n", $topicConfiguration ['ID'] ); printf ( "Topic:%s\n", $topicConfiguration ['Topic'] ); printf ( "Event:%s\n", print_r ( $topicConfiguration ['Event'], true ) ); foreach ( $topicConfiguration ['Filter'] as $index => $filter ) { printf ( "Filter[%d]", $index + 1 ); printf ( "Name:%s\n", $filter ['Name'] ); printf ( "Value:%s\n", $filter ['Value'] ); } }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.35 PUT Bucket tagging

API DescriptionYou can use this API to set bucket tags.

Method Definition1. ObsClient->setBucketTagging(array $parameter)2. ObsClient->setBucketTaggingAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 66

Page 72: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optio

nalorMandatory

Description

Bucket string Mandatory

Bucket name

Tags indexedarray

Mandatory

Bucket tag set

Key string Mandatory

Tag name, which contains 1 to 36characters and cannot include non-printable ASCII characters (0–31)and the following specialcharacters: *<>\= The tag keys inone bucket must be unique.

Value string Mandatory

Tag value, which can contain up to43 characters and cannot includenon-printable ASCII characters (0–31) and the following specialcharacters: *<>\=

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> setBucketTagging([ 'Bucket' => 'bucketname', 'Tags' => [ ['Key' => 'tag1', 'Value' => 'value1'], ['Key' => 'tag2', 'Value' => 'value2'] ] ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 67

Page 73: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

4.36 GET Bucket tagging

API DescriptionYou can use this API to obtain tags of a specified bucket.

Method Definition1. ObsClient->getBucketTagging(array $parameter)2. ObsClient->getBucketTaggingAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer

HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Tags indexedarray

Bucket tag set

Key string Tag name, which can contain up to 36characters

Value string Tag value, which can contain up to 43characters

Sample Codetry{ $resp = $obsClient -> getBucketTagging([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']); foreach ($resp['Tags'] as $index => $tag){ printf("TagSet[%d]\n", $index + 1); printf("Key:%s\n", $tag['Key']);

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 68

Page 74: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

printf("Value:%s\n", $tag['Value']); }}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

4.37 DELETE Bucket tagging

API DescriptionYou can use this API to delete the tags of a specified bucket.

Method Definition1. ObsClient->deleteBucketTagging(array $parameter)2. ObsClient->deleteBucketTaggingAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry{ $resp = $obsClient -> deleteBucketTagging([ 'Bucket' => 'bucketname' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

Object Storage ServicePHP SDK API Reference 4 Bucket-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 69

Page 75: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

5 Objects-Related APIs

5.1 PUT Object

API DescriptionYou can use this API to upload an object to a specified bucket.

Method Definition1. ObsClient->putObject(array $parameter)2. ObsClient->putObjectAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

ACL string Optional Pre-defined access controlpolicy specified during objectcreation

StorageClass string Optional Storage class, which can bespecified during the objectcreation

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 70

Page 76: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

Body stringorresourceorGuzzleHttp\Psr7\StreamInterface

Optional Object content to be uploaded

SourceFile string Optional Path to the source file of theobject

Metadata associativearray

Optional Customized metadata of theobject

WebsiteRedirect-Location

string Optional Location where the object isredirected to, when the bucket isconfigured with website hosting.

ContentType string Optional MIME type of the object

ContentLength integer Optional Object size in bytes

ContentMD5 string Optional Base64-encoded MD5 value ofthe object data to be uploaded. Itis provided for the OBS server toverify data integrity.

SseKms string Optional Algorithm used in SSE-KMSencryption. The value can be:● kms

SseKmsKey string Optional Master key used in SSE-KMSencryption. The value can be null.

SseC string Optional Algorithm used in SSE-Cencryption. The value can be:● AES256

SseCKey string Optional Key used in SSE-C encryption. It iscalculated by using AES-256.

NO TE

● Body and SourceFile cannot be used together.● If both Body and SourceFile are null, the size of the object to be uploaded is 0 bytes.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 71

Page 77: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

ObjectURL string Object URL

ETag string Object ETag

VersionId string Object version ID

StorageClass string Storage class of the object. When thestorage class is OBS Standard, the valueis null.

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry{ $resp = $obsClient -> putObject([ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Metadata' => ['meta1' => 'value1', 'meta2' => 'value2'],// 'SourceFile' => 'localfile', 'Body' => 'Hello OBS', 'ContentType' => 'text/plain' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("VersionId:%s\n", $resp['VersionId']); printf("StorageClass:%s\n", $resp['StorageClass']); printf("ETag:%s\n", $resp['ETag']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

5.2 GET Object

API DescriptionYou can use this API to download an object in a specified bucket.

Method Definition1. ObsClient->getObject(array $parameter)2. ObsClient->getObjectAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 72

Page 78: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional Object version ID

IfMatch string Optional Returns the source object if itsETag is the same as the onespecified by this parameter;otherwise, an exception is thrown.

IfModifiedSince stringor\DateTime

Optional Returns the object if it is modifiedafter the time specified by thisparameter; otherwise, anexception is thrown. If thisparameter value is a characterstring, it must conform to theHTTP time format specified inhttp://www.ietf.org/rfc/rfc2616.txt.

IfNoneMatch string Optional Returns the source object if itsETag is different from the onespecified by this parameter;otherwise, an exception is thrown.

IfUnmodifiedSince

stringor\DateTime

Optional Returns the object if it remainsunchanged since the timespecified by this parameter;otherwise, an exception is thrown.If this parameter value is acharacter string, it must conformto the HTTP time format specifiedin http://www.ietf.org/rfc/rfc2616.txt.

Range string Optional Download range. The value rangeis [0, object length-1] and is in theformat of bytes = x-y. Themaximum length of Range is thelength of the object minus 1. If itexceeds this value, the length ofthe object minus 1 is used.

Origin string Optional Origin of the cross-domain requestspecified by the pre-request.Generally, it is a domain name.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 73

Page 79: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

RequestHeader string Optional HTTP header in a cross-domainrequest

ResponseCacheControl

string Optional Rewrites the Cache-Controlheader in the response.

ResponseContentDisposition

string Optional Rewrites the Content-Dispositionheader in the response.

ResponseContentEncoding

string Optional Rewrites the Content-Encodingheader in the response.

ResponseContentLanguage

string Optional Rewrites the Content-Languageheader in the response.

ResponseContentType

string Optional Rewrites the Content-Type headerin the response.

ResponseExpires string Optional Rewrites the Expires header in theresponse.

SaveAsFile string Optional Target path to which the object isdownloaded (containing the filename)

SaveAsStream boolean Optional Whether to return the object inthe format of data stream

FilePath string Optional Target path to which the object isdownloaded (containing the filename). This is a deprecatedparameter and is used to maintaincompatibility with earlier versions.

SseC string Optional Algorithm used in SSE-Cdecryption. The value can be:● AES256

SseCKey string Optional Key used in SSE-C decryption,which is calculated by usingAES-256.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 74

Page 80: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

NO TE

● If SaveAsStream is true, it cannot be used with SaveAsFile or FilePath.

● SaveAsFile and FilePath cannot be used together.

● If the download request includes IfUnmodifiedSince or IfMatch andIfUnmodifiedSince or IfMatch is not met, an exception will be thrown with HTTPstatus code 412 Precondition Failed.

● If the download request includes IfModifiedSince or IfNoneMatch andIfModifiedSince or IfNoneMatch is not met, an exception will be thrown with HTTPstatus code 304 Not Modified.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

DeleteMarker boolean Whether the deleted object is a deletemarker

LastModified string Time when the last modification wasmade to the object

ContentLength integer Object size in bytes

CacheControl string Cache-Control header in the response

ContentDisposition string Content-Disposition header in theresponse

ContentEncoding string Content-Encoding header in theresponse

ContentLanguage string Content-Language header in theresponse

ContentType string MIME type of the object

Expires string Expires header in the response

ETag string Object ETag

VersionId string Object version ID

WebsiteRedirectLocation string Location where the object is redirectedto, when the bucket is configured withwebsite hosting.

StorageClass string Storage class of the object. When thestorage class is STANDARD, the value isnull.

Restore string Restore status of the object in the OBSArchive storage class

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 75

Page 81: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

AllowOrigin string If Origin in the request meets the CORSrules of the bucket, AllowedOrigin inthe CORS rules is returned.

AllowHeader string If RequestHeader in the request meetsthe CORS rules of the bucket,AllowedHeader in the CORS rules isreturned.

AllowMethod string AllowedMethod in the CORS rules ofthe bucket

ExposeHeader string ExposeHeader in the CORS rules of thebucket

MaxAgeSeconds string MaxAgeSeconds in the CORS rules ofthe bucket

SseKms string Algorithm used in SSE-KMS decryption

SseKmsKey string Master key used in SSE-KMS decryption

SseC string Algorithm used in SSE-C decryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cdecryption

Expiration string Expiration details

Body GuzzleHttp\Psr7\Stream

Object content. If SaveAsFile is set, thisfield is null. If SaveAsStream is set totrue, this field is a readable stream. Youneed to call the GuzzleHttp\Psr7\Stream->read method to read thedata.

SaveAsFile string Target path to which the object isdownloaded (containing the file name),which is consistent with that set in therequest

Metadata associative array

Customized metadata of the object

Sample Codetry{ $resp = $obsClient -> getObject([ 'Bucket' => 'bucketname', 'Key' => 'objectkey',// 'SaveAsFile' => 'localfile',// 'SaveAsStream' => true, 'Range' => 'bytes=0-10' ]); printf("RequestId:%s\n", $resp['RequestId']); printf("ETag:%s\n", $resp['ETag']);

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 76

Page 82: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

printf("VersionId:%s\n", $resp['VersionId']); printf("StorageClass:%s\n", $resp['StorageClass']); printf("ContentLength:%s\n", $resp['ContentLength']); printf("DeleteMarker:%s\n", $resp['DeleteMarker']); printf("LastModified:%s\n", $resp['LastModified']); printf("Body:%s\n", $resp['Body']); printf("Metadata:%s\n", print_r($resp['Metadata'], true));}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

5.3 PUT Object - Copy

API DescriptionYou can use this API to create a copy for an object in a specified bucket.

Method Definition1. ObsClient->copyObject(array $parameter)2. ObsClient->copyObjectAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Target bucket name

Key string Mandatory

Target object name

ACL string Optional Pre-defined access control policyspecified during object copy

StorageClass string Optional Storage class of the object.Possible values are:

CopySource string Mandatory

Parameter used to specify thesource bucket, source object, andsource object version ID which canbe null. It is in the format ofSourceBucketName/SourceObjectName?versionId=SourceObjectVersionId.

CopySourceIfMatch

string Optional Copies the source object if its ETagis the same as the one specified bythis parameter; otherwise, anexception is thrown.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 77

Page 83: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

CopySourceIfModifiedSince

stringor\DateTime

Optional Copies the source object if it ischanged after the time specifiedby this parameter; otherwise, anexception is thrown. If thisparameter value is a characterstring, it must conform to theHTTP time format specified inhttp://www.ietf.org/rfc/rfc2616.txt.

CopySourceIfNoneMatch

string Optional Copies the source object if its ETagis different from the one specifiedby this parameter; otherwise, anexception is thrown.

CopySourceIfUnmodifiedSince

stringor\DateTime

Optional Copies the source object if it ischanged before the time specifiedby this parameter; otherwise, anexception is thrown. If thisparameter value is a characterstring, it must conform to theHTTP time format specified inhttp://www.ietf.org/rfc/rfc2616.txt.

CacheControl string Optional Rewrites the Cache-Controlheader in the response.

ContentDisposition

string Optional Rewrites the Content-Dispositionheader in the response.

ContentEncoding string Optional Rewrites the Content-Encodingheader in the response.

ContentLanguage string Optional Rewrites the Content-Languageheader in the response.

ContentType string Optional Rewrites the Content-Type headerin the response.

Expires string Optional Rewrites the Expires header in theresponse.

MetadataDirective string Optional Replication policy

Metadata associative array

Optional Customized metadata of thetarget object

WebsiteRedirect-Location

string Optional Location where the object isredirected to, when the bucket isconfigured with website hosting.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 78

Page 84: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

SseKms string Optional Algorithm used to encrypt thetarget object in SSE-KMS mode.The value can be:● kms

SseKmsKey string Optional Master key used to encrypt thetarget object in SSE-KMS mode.The value can be null.

SseC string Optional Algorithm used to encrypt thetarget object in SSE-C mode. Thevalue can be:● AES256

SseCKey string Optional Key used to encrypt the targetobject in SSE-C mode, which iscalculated by using AES-256

CopySourceSseC string Optional Algorithm used to decrypt thesource object in SSE-C mode. Thevalue can be:● AES256

CopySourceSseCK-ey

string Optional Key used to decrypt the sourceobject in SSE-C mode, which iscalculated by using AES-256

NO TE

● If the object copy request includes CopySourceIfUnmodifiedSince, CopySourceIfMatch,CopySourceIfModifiedSince, or CopySourceIfNoneMatch, and the specified conditionis not met, an exception will be thrown with HTTP status code 412 Precondition Failedreturned.

● CopySourceIfModifiedSince and CopySourceIfNoneMatch can be used together. So doCopySourceIfUnmodifiedSince and CopySourceIfMatch.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

ETag string ETag of the target object

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 79

Page 85: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

LastModified string Time when the last modification wasmade to the object

VersionId string Version ID of the target object. Thisfield is null if versioning is not enabledfor the target bucket.

CopySourceVersionId string Version ID of the source object. Thisfield is null if versioning is not enabledfor the source bucket.

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Master key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry{ $resp = $obsClient -> copyObject([ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'CopySource' => 'srcbucketname/srcobjectkey', 'Metadata' => ['meta1' => 'value1'] ]); printf("RequestId:%s\n", $resp['RequestId']); printf("ETag:%s\n", $resp['ETag']); printf("VersionId:%s\n", $resp['VersionId']); printf("CopySourceVersionId:%s\n", $resp['CopySourceVersionId']); printf("LastModified:%s\n", $resp['LastModified']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

5.4 DELETE Object

API DescriptionYou can use this API to delete an object from a specified bucket.

Method Definition1. ObsClient->deleteObject(array $parameter)1. ObsClient->deleteObject(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 80

Page 86: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional Version ID of the object to bedeleted

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

DeleteMarker boolean Whether the deleted object is a deletemarker

VersionId string Version ID of the object to be deleted

Sample Codetry{ $resp = $obsClient -> deleteObject([ 'Bucket' => 'bucketname', 'Key' => 'objectkey' ]); printf("RequestId:%s\n", $resp['RequestId']);}catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage());}

5.5 DELETE Objects

API DescriptionYou can use this API to batch delete objects from a specified bucket.

Method Definition1. ObsClient->deleteObjects(array $parameter)2. ObsClient->deleteObjectsAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 81

Page 87: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optiona

l orMandatory

Description

Bucket string Mandatory

Bucket name

Objects indexedarray

Mandatory

List of objects to be deleted

Key string Mandatory

Object name

VersionId string Optional Version ID of the object to bedeleted

Quiet boolean Optional Response mode of a batchdeletion request. If this field isset to false, objects involved inthe deletion will be returned. Ifthis field is set to true, onlyobjects failed to be deleted willbe returned.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Deleteds indexedarray

List of successfully deleted objects

Key string Object name

VersionId string Object version ID

DeleteMarker boolean Whether the deleted object is a deletemarker

DeleteMarkerVersionId

string Version ID of the delete marker

Errors indexedarray

List of objects failed to be deleted

Key string Object name

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 82

Page 88: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

VersionId string Object version ID

Code string Error code of the deletion failure

Message string Error message of the deletion failure

Sample Codetry { $resp = $obsClient->deleteObjects ( [ 'Bucket' => 'bucketname', 'Quiet' => false, 'Objects' => [ [ 'Key' => 'objectkey1', 'VersionId' => null ], [ 'Key' => 'objectkey2', 'VersionId' => null ] ] ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "Deleteds:\n" ); foreach ( $resp ['Deleteds'] as $index => $deleted ) { printf ( "Deleteds[%d]", $index + 1 ); printf ( "Key:%s\n", $deleted ['Key'] ); printf ( "VersionId:%s\n", $deleted ['VersionId'] ); printf ( "DeleteMarker:%s\n", $deleted ['DeleteMarker'] ); printf ( "DeleteMarkerVersionId:%s\n", $deleted ['DeleteMarkerVersionId'] ); } printf ( "Errors:\n" ); foreach ( $resp ['Errors'] as $index => $error ) { printf ( "Errors[%d]", $index + 1 ); printf ( "Key:%s\n", $error ['Key'] ); printf ( "VersionId:%s\n", $$error ['VersionId'] ); printf ( "Code:%s\n", $error ['Code'] ); printf ( "Message:%s\n", $error ['Message'] ); }} catch ( Obs\Common\ObsException $obsException ) { printf("StatusCode:%s\n", $obsException->getStatusCode());}

5.6 Obtain Object Metadata

API DescriptionYou can use this API to send a HEAD request to the object of a specified bucket toobtain its metadata.

Method Definition1. ObsClient->getObjectMetadata(array $parameter)2. ObsClient->getObjectMetadataAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 83

Page 89: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional Object version ID

Origin string Optional Origin of the cross-domainrequest specified by the pre-request. Generally, it is a domainname.

RequestHeader string Optional HTTP header in a cross-domainrequest

SseC string Optional Algorithm used in SSE-Cdecryption. The value can be:● AES256

SseCKey string Optional Key used in SSE-C decryption,which is calculated by usingAES-256

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

LastModified string Time when the last modification wasmade to the object

ContentLength integer Object size in bytes

ContentType string MIME type of the object

ETag string Object ETag

VersionId string Object version ID

WebsiteRedirectLocation string Location where the object is redirectedto, when the bucket is configured withwebsite hosting.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 84

Page 90: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

StorageClass string Storage class of the object. When thestorage class is OBS Standard, the valueis null.

Restore string Restore status of the object in the OBSArchive storage class

AllowOrigin string If Origin in the request meets the CORSrules of the bucket, AllowedOrigin inthe CORS rules is returned.

AllowHeader string If RequestHeader in the request meetsthe CORS rules of the bucket,AllowedHeader in the CORS rules isreturned.

AllowMethod string AllowedMethod in the CORS rules ofthe bucket

ExposeHeader string ExposeHeader in the CORS rules of thebucket

MaxAgeSeconds integer MaxAgeSeconds in the CORS rules ofthe bucket

SseKms string Algorithm used in SSE-KMS decryption

SseKmsKey string Master key used in SSE-KMS decryption

SseC string Algorithm used in SSE-C decryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cdecryption

Expiration string Expiration details

Metadata associative array

Customized metadata of the object

Sample Codetry { $resp = $obsClient->getObjectMetadata( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "ETag:%s\n", $resp ['ETag'] ); printf ( "VersionId:%s\n", $resp ['VersionId'] ); printf ( "ContentLength:%s\n", $resp ['ContentLength'] ); printf ( "LastModified:%s\n", $resp ['LastModified'] ); printf ( "Expiration:%s\n", $resp ['Expiration'] ); printf ( "StorageClass:%s\n", $resp ['StorageClass'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 85

Page 91: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

5.7 PUT Object acl

API DescriptionYou can use this API to set the ACL for an object in a specified bucket.

Method Definition1. ObsClient->setObjectAcl(array $parameter)2. ObsClient->setObjectAclAsync(array $parameter, callable $callback)

Request ParameterField Type Optio

nal orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional

Object version ID

ACL string Optional

Pre-defined access controlpolicy

Owner associative array

Optional

Object owner

ID string Mandatory

ID of the domain to which theobject owner belongs

Delivered boolean Optional

Whether the bucket ACL isapplied to objects in the bucket

Grants indexedarray

Optional

List of grantees' permissioninformation

Grantee Object Mandatory

Grantee

Type string Mandatory

Grantee type

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 86

Page 92: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Optional orMandatory

Description

ID string MandatorywhenTypeisCanonicalUser. Inothercases,leaveit null.

ID of the domain to which thegrantee belongs

URI string MandatorywhenTypeisGroup.Inothercases,leaveit null.

Grantee group

Permission string Mandatory

Granted permission

NO TE

● Owner and Grants must be used together and they cannot be used with ACL.● You must set either the two fields or ACL.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId String Request ID returned by the OBS server

Sample Codetry { $resp = $obsClient->setObjectAcl( [

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 87

Page 93: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Owner' => ['ID' => 'ownerid'], 'Grants' => [ ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionRead], ['Grantee' => ['Type' => 'CanonicalUser', 'ID' => 'userid'], 'Permission' => ObsClient::PermissionWriteAcp], ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionWriteAcp], ['Grantee' => ['Type' => 'Group', 'URI' => ObsClient::GroupAuthenticatedUsers], 'Permission' => ObsClient::PermissionRead], ] ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

5.8 GET Object acl

API Description

You can use this API to obtain an object ACL in a specified bucket.

Method Definition1. ObsClient->getObjectAcl(array $parameter)2. ObsClient->getObjectAclAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional Object version ID

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 88

Page 94: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

VersionId string Object version ID

Owner associativearray

Object owner

ID string ID of the domain to which the objectowner belongs

Delivered boolean

Whether the bucket ACL is applied toobjects in the bucket

Grants indexedarray

List of grantees' permissioninformation

Grantee associativearray

Grantee

ID string ID of the domain to which the granteebelongs. This field is null when Type ofGrantee is Group.

URI string Grantee group. This field is null whenType of Grantee is CanonicalUser.

Permission string Granted permission

Sample Codetry { $resp = $obsClient->getObjectAcl( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf("Owner[ID]:%s\n", $resp['Owner']['ID']); printf("Grants\n"); foreach ($resp['Grants'] as $index => $grant){ printf("Grants[%d]", $index + 1); printf("Grantee[ID]:%s\n", $grant['Grantee']['ID']); printf("Grantee[URI]:%s\n", $grant['Grantee']['URI']); printf("Permission:%s\n", $grant['Permission']); }} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

5.9 Initiate Multipart Upload

API Description

You can use this API to initialize a multipart upload in a specified bucket.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 89

Page 95: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->initiateMultipartUpload(array $parameter)2. ObsClient->initiateMultipartUploadAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

ACL string Optional Pre-defined access controlpolicy

StorageClass string Optional Storage class of the object

Metadata associative array

Optional Customized metadata of theobject

WebsiteRedirect-Location

string Optional Location where the object isredirected to, when the bucket isconfigured with website hosting.

ContentType string Optional MIME type of the object

SseKms string Optional Algorithm used in SSE-KMSencryption. The value can be:● kms

SseKmsKey string Optional Master key used in SSE-KMSencryption. The value can be null.

SseC string Optional Algorithm used in SSE-Cencryption. The value can be:● AES256

SseCKey string Optional Key used in SSE-C encryption. It iscalculated by using AES-256.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 90

Page 96: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

Bucket string Name of the bucket involved in themultipart upload

Key string Name of the object to be uploaded

UploadId string Multipart upload ID

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry { $resp = $obsClient->initiateMultipartUpload( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'ContentType' => 'text/plain' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "Bucket:%s\n", $resp ['Bucket'] ); printf ( "Key:%s\n", $resp ['Key'] ); printf ( "UploadId:%s\n", $resp ['UploadId'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

5.10 PUT Part

API DescriptionAfter a multipart upload is initialized, you can use this API to upload a part to aspecified bucket by using the multipart upload ID. Except for the part lastly beinguploaded whose size ranging from 0 to 5 GB, sizes of the other parts range from100 KB to 5 GB. The upload part ID ranges from 1 to 10000.

Method Definition1. ObsClient->uploadPart(array $parameter)2. ObsClient->uploadPartAsync(array $parameter, callable $callback)

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 91

Page 97: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

PartNumber integer Mandatory

Part number, which ranges from 1to 10000

UploadId string Mandatory

Multipart upload ID

ContentMD5 string Optional Base64-encoded MD5 value of thepart to be uploaded. It is providedfor the OBS server to verify dataintegrity.

Body stringorresourceorGuzzleHttp\Psr7\StreamInterface

Optional Part content to be uploaded

SourceFile string Optional Path to the source file of the part

Offset integer Optional Start offset (in bytes) of a part inthe source file. The default value is0.

PartSize integer Optional Size (in bytes) of a part in thesource file. The default value is thefile size minus Offset. Except forthe part lastly being uploadedwhose size ranging from 0 to 5GB, sizes of the other parts rangefrom 100 KB to 5 GB.

SseC string Optional Algorithm used in SSE-Cencryption. The value can be:● AES256

SseCKey string Optional Key used in SSE-C encryption. It iscalculated by using AES-256.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 92

Page 98: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

NO TE

● Body and SourceFile cannot be used together.

● If both Body and SourceFile are null, the size of the object to be uploaded is 0 bytes.

● Offset, PartSize, and SourceFile are used together to specify a part of the source file tobe uploaded.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

ETag string ETag of the uploaded part

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry { $resp = $obsClient->uploadPart( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid', 'PartNumber' => 1, 'Body' => 'Hello OBS' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "ETag:%s\n", $resp ['ETag'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

5.11 PUT Part - Copy

API Description

After a multipart upload is initialized, you can use this API to copy a part to aspecified bucket by using the multipart upload ID.

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 93

Page 99: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Method Definition1. ObsClient->copyPart(array $parameter)2. ObsClient->copyPartAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

PartNumber integer Mandatory

Part number, which ranges from 1to 10000

UploadId string Mandatory

Multipart upload ID

CopySource string Mandatory

Parameter used to specify thesource bucket, source object, andsource object version ID whichcan be null. It is in the format ofSourceBucketName/SourceObjectName?versionId=SourceObjectVersionId.

CopySourceRange string Optional Copy range of the source object.The value range is [0, sourceobject length-1] and is in theformat of bytes=x-y. If themaximum length ofCopySourceRange is larger thanthe length of the source objectminus 1, the length of the sourceobject minus 1 is used.

SseC string Optional Algorithm used to encrypt thetarget part in SSE-C mode. Thevalue can be:● AES256

SseCKey string Optional Key used to encrypt the targetpart in SSE-C mode. It iscalculated by using AES-256.

CopySourceSseC string Optional Algorithm used to decrypt thesource object in SSE-C mode. Thevalue can be:● AES256

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 94

Page 100: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

CopySourceSseCK-ey

string Optional Key used to decrypt the sourceobject in SSE-C mode, which iscalculated by using AES-256

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

ETag string ETag of the target part

LastModified string Time when the last modification wasmade to the target part

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry { $resp = $obsClient->copyPart( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid', 'PartNumber' => 1, 'CopySource' => 'sourcebucketname/sourceobjectkey', 'CopySourceRange' => 'bytes=0-10' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "ETag:%s\n", $resp ['ETag'] ); printf ( "LastModified:%s\n", $resp ['LastModified'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 95

Page 101: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

5.12 List Parts

API Description

You can use this API to list the uploaded parts in a specified bucket by using themultipart upload ID.

Method Definition1. ObsClient->listParts(array $parameter)2. ObsClient->listPartsAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

UploadId string Mandatory

Multipart upload ID

MaxParts integer Optional Maximum number of uploadedparts that can be listed per page

PartNumberMarker

integer Optional Part number after which listinguploaded parts begins. Only partswhose part numbers are largerthan this value will be listed.

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Bucket string Bucket name

Key string Object name

UploadId string Multipart upload ID

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 96

Page 102: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type Description

PartNumberMarker string Part number after which the listinguploaded parts begins, which is consistentwith that set in the request

NextPartNumberMark-er

string Part number to start with upon the nextrequest for listing uploaded parts

MaxParts string Maximum number of listed parts, which isconsistent with that set in the request

IsTruncated boolean Whether all uploaded parts are returned. Ifthe field value is true, not all uploadedparts are returned. If the field value is false,all uploaded parts are returned.

Parts indexedarray

List of uploaded parts

PartNumber integer Part number

LastModified string Time when the part was last modified

ETag string Part ETag

Size integer Part size

Initiator associative array

Initiator of the multipart upload

ID string ID of the domain to which the initiatorbelongs

DisplayName

string Initiator name

Owner associative array

Owner of the multipart upload, which isconsistent with Initiator

ID string ID of the domain to which the initiatorbelongs

DisplayName

string Initiator name

StorageClass string Storage class of the object to be uploaded

Sample Codetry { $resp = $obsClient->listParts( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid', 'MaxParts' => 10 ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 97

Page 103: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

printf ( "Initiator[ID]:%s\n", $resp ['Initiator']['ID'] ); printf ( "Initiator[DisplayName]:%s\n", $resp ['Initiator']['DisplayName'] ); foreach ($resp['Parts'] as $index => $part){ printf("Parts[%d]\n", $index + 1); printf ( "PartNumber:%s\n", $part['PartNumber'] ); printf ( "LastModified:%s\n", $part['LastModified'] ); printf ( "ETag:%s\n", $part['ETag'] ); printf ( "Size:%s\n", $part['Size'] ); }} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

5.13 Complete Multipart Upload

API DescriptionYou can use this API to combine the uploaded parts in a specified bucket by usingthe multipart upload ID.

Method Definition1. ObsClient->completeMultipartUpload(array $parameter)2. ObsClient->completeMultipartUploadAsync(array $parameter, callable $callback)

Request ParameterField Type Optiona

l orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

UploadId string Mandatory

Multipart upload ID

Parts indexedarray

Mandatory

List of parts to be combined

PartNumber integer Mandatory

Part number

ETag string Mandatory

Part ETag

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 98

Page 104: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

ETag string ETag calculated based on the ETags ofall combined parts

Bucket string Bucket in which parts are combined

Key string Object name obtained after partcombination

Location string URL of the object generated after partcombination

VersionId string Version ID of the object obtained afterpart combination

SseKms string Algorithm used in SSE-KMS encryption

SseKmsKey string Master key used in SSE-KMS encryption

SseC string Algorithm used in SSE-C encryption

SseCKeyMd5 string MD5 value of the key used in SSE-Cencryption

Sample Codetry { $resp = $obsClient->completeMultipartUpload( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid', 'Parts' => [ ['PartNumber' => 1, 'ETag' => 'etag1'], ['PartNumber' => 2, 'ETag' => 'etag2'] ] ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] ); printf ( "Bucket:%s\n", $resp ['Bucket'] ); printf ( "Key:%s\n", $resp ['Key'] ); printf ( "ETag:%s\n", $resp ['ETag'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 99

Page 105: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

5.14 DELETE Multipart upload

API Description

You can use this API to abort a multipart upload in a specified bucket by using themultipart upload ID.

Method Definition1. ObsClient->abortMultipartUpload(array $parameter)2. ObsClient->abortMultipartUploadAsync(array $parameter, callable $callback)

Request Parameter

Field Type OptionalorMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

UploadId string Mandatory

Multipart upload ID

Returned Result

Field Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId String Request ID returned by the OBS server

Sample Codetry { $resp = $obsClient->abortMultipartUpload( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'UploadId' => 'uploadid' ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 100

Page 106: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

5.15 POST Object restore

API DescriptionYou can use this API to restore an object in the OBS Archive storage class in aspecified bucket.

Method Definition1. ObsClient->restoreObject(array $parameter)2. ObsClient->restoreObjectAsync(array $parameter, callable $callback)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Mandatory

Bucket name

Key string Mandatory

Object name

VersionId string Optional Version ID of the to-be-restoredobject in the OBS Archive storageclass

Days integer Mandatory

Retention period of the restoredobject, in days. The value rangesfrom 1 to 30.

Tier string Optional Restore option

Returned ResultField Type Description

HttpStatusCode integer HTTP status code

Reason string Reason description

RequestId string Request ID returned by the OBS server

Sample Codetry { $resp = $obsClient->restoreObject( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey',

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 101

Page 107: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

'Days' => 1, 'Tier' => ObsClient::RestoreTierExpedited ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 5 Objects-Related APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 102

Page 108: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

6 Other APIs

6.1 Creating a Signed URL

API DescriptionYou can use this API to generate a URL whose Query parameters are carried withauthentication information, by specifying the AK and SK, HTTP method, andrequest parameters. You can use a signed URL to perform specific operations onOBS.

Method DefinitionObsClient->createSignedUrl(array $parameter)

Request ParameterField Type Optional

orMandatory

Description

Method string Mandatory

HTTP method. Possible values are:● GET● POST● PUT● DELETE● HEAD

Bucket string Optional Bucket name

Key string Optional Object name

Object Storage ServicePHP SDK API Reference 6 Other APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 103

Page 109: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Field Type OptionalorMandatory

Description

SpecialParam string Optional Special operator, which indicatesthe sub-resource to be operated.Possible values are:● versions● uploads● location● storageinfo● quota● storagePolicy● acl● logging● policy● lifecycle● website● versioning● cors● notification● tagging● delete● restore

Expires integer Optional Expiration time of the signed URL,in seconds. The default value is300.

Headers associative array

Optional Headers in the request

QueryParams associative array

Optional Query parameters in the request

Returned ResultField Type Description

SignedUrl string Signed URL

ActualSignedReques-tHeaders

associativearray

Actual headers in the request initiated byusing the signed URL

Object Storage ServicePHP SDK API Reference 6 Other APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 104

Page 110: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Sample Codetry { // Generate a signed URL for creating a bucket. $resp = $obsClient->createSignedUrl( [ 'Method' => 'PUT', 'Bucket' => 'bucketname', 'Expires' => 3600, ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) ); // Generate a signed URL for uploading an object. $resp = $obsClient->createSignedUrl( [ 'Method' => 'PUT', 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Expires' => 3600, 'Headers' => ['content-type' => 'text/plain'] ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) );

// Generate a signed URL for setting an object ACL. $resp = $obsClient->createSignedUrl( [ 'Method' => 'PUT', 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Expires' => 3600, 'SpecialParam' => 'acl', 'Headers' => ['x-obs-acl' => 'public-read'] ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) ); // Generate a signed URL for downloading an object. $resp = $obsClient->createSignedUrl( [ 'Method' => 'GET', 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Expires' => 3600 ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) );

// Generate a signed URL for deleting an object. $resp = $obsClient->createSignedUrl( [ 'Method' => 'DELETE', 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Expires' => 3600 ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) ); // Generate a signed URL for deleting a bucket. $resp = $obsClient->createSignedUrl( [ 'Method' => 'DELETE', 'Bucket' => 'bucketname', 'Expires' => 3600 ] ); printf ( "SignedUrl:%s\n", $resp ['SignedUrl'] ); printf ( "ActualSignedRequestHeaders:%s\n", print_r($resp ['ActualSignedRequestHeaders'], true) );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 6 Other APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 105

Page 111: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

6.2 Generating Browser-Based Upload Parameters withAuthentication Information

API DescriptionYou can use this API to generate parameters for authentication. The parameterscan be used to upload data through POST operations based on a browser.

NO TE

There are two request parameters generated:● Policy, which corresponds to the policy field in the form● Signature: which corresponds to the signature field in the form

Method DefinitionObsClient->createPostSignature(array $parameter)

Request ParameterField Type Optional

orMandatory

Description

Bucket string Optional Bucket name

Key string Optional Object name, which correspondsto the key field in the form

Expires integer Optional Validity period of the browser-based upload authentication, inseconds. The default value is 300.

FormParams associative array

Optional Other parameters of the browser-based upload except for key,policy, and signature. Possiblevalues are:● acl● cache-control● content-type● content-disposition● content-encoding● expires

Object Storage ServicePHP SDK API Reference 6 Other APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 106

Page 112: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

Returned ResultField Type Description

OriginPolicy String Value of Policy that is not encoded bybase64. This parameter can only be usedfor verification.

Policy String policy in the form

Signature String signature in the form

Sample Codetry { $resp = $obsClient->createPostSignature( [ 'Bucket' => 'bucketname', 'Key' => 'objectkey', 'Expires' => 3600, 'FormParams' => [ 'acl' => 'public-read', 'content-type' => 'text/plain', ] ] ); printf ( "Policy:%s\n", $resp ['Policy'] ); printf ( "Signature:%s\n", $resp ['Signature'] );} catch ( Obs\Common\ObsException $obsException ) { printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () ); printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );}

Object Storage ServicePHP SDK API Reference 6 Other APIs

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 107

Page 113: PHP SDK API Reference - HUAWEI CLOUD · Object Storage Service PHP SDK API Reference Issue 01 Date 2020-03-31 HUAWEI TECHNOLOGIES CO., LTD.

A Change History

Release Date What's New

2020-03-31 This is the first official release.

Object Storage ServicePHP SDK API Reference A Change History

Issue 01 (2020-03-31) Copyright © Huawei Technologies Co., Ltd. 108