$ak, 'secret' => $sk, 'endpoint' => $endpoint, )); $obsClient->initLog(array ( 'FilePath' => './logs', 'FileName' => 'eSDK-OBS-PHP.log', 'MaxFiles' => 10, 'Level' => WARN )); $bucketName = 'bucket000'; $objectKey = 'test'; // create bucket function CreateBucket() { global $obsClient; global $bucketName; echo "create bucket start...\n"; try { $resp = $obsClient->createBucket(array ( 'Bucket' => $bucketName, 'ACL' => ObsClient::AclPrivate, 'LocationConstraint' => '', 'StorageClass' => ObsClient::StorageClassWarm )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("Location:%s\n", $resp ['Location']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // list buckets function ListBuckets() { global $obsClient; echo "list bucket start...\n"; try { $resp = $obsClient->listBuckets(); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); $i = 0; foreach ( $resp ['Buckets'] as $bucket ) { printf("Buckets[$i][Name]:%s,Buckets[$i][CreationDate]:%s\n", $bucket ['Name'], $bucket ['CreationDate']); $i ++; } printf("Owner[ID]:%s\n", $resp ['Owner'] ['ID']); } catch ( ObsException $e ) { echo $e; } } // delete bucket function DeleteBucket() { global $obsClient; global $bucketName; echo "delete bucket start...\n"; try { $resp = $obsClient->deleteBucket(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // list objects function ListObjects() { global $obsClient; global $bucketName; echo "list objects start...\n"; try { $resp = $obsClient->listObjects(array ( 'Bucket' => $bucketName, 'Delimiter' => '', 'Marker' => '', 'MaxKeys' => '', 'Prefix' => '' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("IsTruncated:%d,Marker:%s,NextMarker:%s,Name:%s\n", $resp ['IsTruncated'], $resp ['Marker'], $resp ['NextMarker'], $resp ['Name']); printf("Prefix:%s,Delimiter:%s,MaxKeys:%d\n", $resp ['Prefix'], $resp ['Delimiter'], $resp ['MaxKeys']); $i = 0; foreach ( $resp ['CommonPrefixes'] as $CommonPrefixe ) { printf("CommonPrefixes[$i][Prefix]:%s\n", $CommonPrefixe ['Prefix']); $i ++; } $i = 0; foreach ( $resp ['Contents'] as $content ) { printf("Contents[$i][ETag]:%s,Contents[$i][Size]:%d,Contents[$i][StorageClass]:%s\n", $content ['ETag'], $content ['Size'], $content ['StorageClass']); printf("Contents[$i][Key]:%s,Contents[$i][LastModified]:%s\n", $content ['Key'], $content ['LastModified']); printf("Contents[$i][Owner][ID]:%s\n", $content ['Owner'] ['ID']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // list versions function ListVersions() { global $obsClient; global $bucketName; echo "list versions start...\n"; try { $resp = $obsClient->listVersions(array ( 'Bucket' => $bucketName, 'Delimiter' => '', 'KeyMarker' => '', 'MaxKeys' => '', 'Prefix' => '', 'VersionIdMarker' => '' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("IsTruncated:%d,KeyMarker:%s,VersionIdMarker:%s,NextKeyMarker:%s\n", $resp ['IsTruncated'], $resp ['KeyMarker'], $resp ['VersionIdMarker'], $resp ['NextKeyMarker']); printf("NextVersionIdMarker:%s,Name:%s,Prefix:%s,Delimiter:%s,MaxKeys:%s\n", $resp ['NextVersionIdMarker'], $resp ['Name'], $resp ['Prefix'], $resp ['Delimiter'], $resp ['MaxKeys']); $i = 0; foreach ( $resp ['CommonPrefixes'] as $CommonPrefixe ) { printf("CommonPrefixes[$i][Prefix]:%s\n", $CommonPrefixe ['Prefix']); $i ++; } $i = 0; foreach ( $resp ['Versions'] as $version ) { printf("Versions[$i][ETag]:%s,Versions[$i][Size]:%d,Versions[$i][StorageClass]:%s\n", $version ['ETag'], $version ['Size'], $version ['StorageClass']); printf("Versions[$i][Key]:%s,Versions[$i][VersionId]:%s,Versions[$i][IsLatest]:%d,Versions[$i][LastModified]:%s\n", $version ['Key'], $version ['VersionId'], $version ['IsLatest'], $version ['LastModified']); printf("Versions[$i][Owner][ID]:%s\n", $version ['Owner'] ['ID']); $i ++; } $i = 0; foreach ( $resp ['DeleteMarkers'] as $deleteMarker ) { printf("DeleteMarkers[$i][Key]:%s,DeleteMarkers[$i][VersionId]:%s,DeleteMarkers[$i][IsLatest]:%d,DeleteMarkers[$i][LastModified]:%s\n", $deleteMarker ['Key'], $deleteMarker ['VersionId'], $deleteMarker ['IsLatest'], $deleteMarker ['LastModified']); printf("DeleteMarkers[$i][Owner][ID]:%s\n", $deleteMarker ['Owner'] ['ID']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // head bucket function HeadBucket() { global $obsClient; global $bucketName; echo "head bucket start...\n"; try { $resp = $obsClient->headBucket(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket metadata function GetBucketMetadata() { global $obsClient; global $bucketName; echo "get bucket metatdata start...\n"; try { $resp = $obsClient->getBucketMetadata(array ( "Bucket" => $bucketName, "Origin" => "www.example.com", "RequestHeader" => "header1" )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("StorageClass:%s\n", $resp ["StorageClass"]); printf("AllowOrigin:%s\n", $resp ["AllowOrigin"]); printf("MaxAgeSeconds:%s\n", $resp ["MaxAgeSeconds"]); printf("ExposeHeader:%s\n", $resp ["ExposeHeader"]); printf("AllowHeader:%s\n", $resp ["AllowHeader"]); printf("AllowMethod:%s\n", $resp ["AllowMethod"]); } catch ( ObsException $e ) { echo $e; } } // get bucket location function GetBucketLocation() { global $obsClient; global $bucketName; echo "get bucket location start...\n"; try { $resp = $obsClient->getBucketLocation(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Location:%s\n", $resp ['Location']); } catch ( ObsException $e ) { echo $e; } } // get bucket storageinfo function GetBucketStorageInfo() { global $obsClient; global $bucketName; echo "get bucket storage info start...\n"; try { $resp = $obsClient->getBucketStorageInfo(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Size:%d,ObjectNumber:%d\n", $resp ['Size'], $resp ['ObjectNumber']); } catch ( ObsException $e ) { echo $e; } } // set bucket quota function SetBucketQuota() { global $obsClient; global $bucketName; echo "set bucket quota start...\n"; try { $resp = $obsClient->setBucketQuota(array ( 'Bucket' => $bucketName, 'StorageQuota' => 1048576 )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket quota function GetBucketQuota() { global $obsClient; global $bucketName; echo "get bucket quota start...\n"; try { $resp = $obsClient->getBucketQuota(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("StorageQuota:%s\n", $resp ['StorageQuota']); } catch ( ObsException $e ) { echo $e; } } // set bucket storage policy function SetBucketStoragePolicy() { global $obsClient; global $bucketName; echo "set bucket storage policy start...\n"; try { $resp = $obsClient->setBucketStoragePolicy(array ( 'Bucket' => $bucketName, 'StorageClass' => ObsClient::StorageClassCold )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket storage policy function GetBucketStoragePolicy() { global $obsClient; global $bucketName; echo "get bucket storage policy start...\n"; try { $resp = $obsClient->getBucketStoragePolicy(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("StorageClass:%s\n", $resp ['StorageClass']); } catch ( ObsException $e ) { echo $e; } } // set bucket acl function SetBucketAcl() { global $obsClient; global $bucketName; echo "set bucket ACL start...\n"; try { $resp = $obsClient->setBucketAcl(array ( 'Bucket' => $bucketName, 'ACL' => '', 'Owner' => array ( 'ID' => 'ownerid' ), 'Grants' => array ( 0 => array ( 'Grantee' => array ( 'ID' => 'userid' ), 'Permission' => ObsClient::PermissionRead, 'Delivered' => true ), 1 => array ( 'Grantee' => array ( 'URI' => ObsClient::AllUsers ), 'Permission' => ObsClient::PermissionWrite, 'Delivered' => true ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket acl function GetBucketAcl() { global $obsClient; global $bucketName; echo "get bucket ACL start...\n"; try { $resp = $obsClient->getBucketAcl(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Owner[ID]:%s\n", $resp ['Owner'] ['ID'] ); $i = 0; foreach ( $resp ['Grants'] as $grant ) { printf("Grants[$i][Grantee][ID]:%s,Grants[$i][Grantee][URI]:%s\n",$grant ['Grantee'] ['ID'], $grant ['Grantee'] ['URI']); printf("Grants[$i][Permission]:%s\n", $grant ['Permission']); printf("Grants[$i][Delivered]:%s\n", $grant['Delivered'] ? 'true' : 'false'); $i ++; } } catch ( ObsException $e ) { echo $e; } } // set bucket logging configuration function SetBucketLogging() { global $obsClient; global $bucketName; echo "set bucket logging configuration start...\n"; try { $resp = $obsClient->setBucketLogging(array ( 'Bucket' => $bucketName, 'Agency' => 'your agency', 'LoggingEnabled' => array ( 'TargetBucket' => 'bucket003', 'TargetPrefix' => 'bucket.log', 'TargetGrants' => array ( 0 => array ( 'Grantee' => array ( 'ID' => 'userid' ), 'Permission' => ObsClient::PermissionRead ), 1 => array ( 'Grantee' => array ( 'URI' => ObsClient::AllUsers, ), 'Permission' => ObsClient::PermissionRead ) ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket logging configuration function GetBucketLogging() { global $obsClient; global $bucketName; echo "get bucket logging configuration start...\n"; try { $resp = $obsClient->getBucketLogging(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Agency:%s\n", $resp ['Agency']); printf("LoggingEnabled[TargetBucket]:%s,LoggingEnabled[TargetPrefix]:%s\n", $resp ['LoggingEnabled'] ['TargetBucket'], $resp ['LoggingEnabled'] ['TargetPrefix']); if (is_array($resp ['LoggingEnabled'] ['TargetGrants'])) { $i = 0; foreach ( $resp ['LoggingEnabled'] ['TargetGrants'] as $grant ) { printf("LoggingEnabled[$i][TargetGrants][Permission]:%s\n", $grant ['Permission']); printf("LoggingEnabled[$i][TargetGrants][Grantee][ID]:%s,LoggingEnabled[$i][TargetGrants][Grantee][URI]:%s\n", $grant ['Grantee'] ['ID'], $grant ['Grantee'] ['URI']); $i ++; } } } catch ( ObsException $e ) { echo $e; } } // set bucket policy function SetBucketPolicy() { global $obsClient; global $bucketName; echo "set bucket policy start...\n"; try { $resp = $obsClient->setBucketPolicy(array ( 'Bucket' => $bucketName, 'Policy' => 'your policy' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket policy function GetBucketPolicy() { global $obsClient; global $bucketName; echo "get bucket policy start...\n"; try { $resp = $obsClient->getBucketPolicy(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("Policy:%s\n", $resp ['Policy']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // delete bucket policy function DeleteBucketPolicy() { global $obsClient; global $bucketName; echo "delete bucket policy start...\n"; try { $resp = $obsClient->deleteBucketPolicy(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // set bucket lifycycle configuration function SetBucketLifecycle() { global $obsClient; global $bucketName; echo "set bucket lifecycle configuration start...\n"; try { $resp = $obsClient->setBucketLifecycle(array ( 'Bucket' => $bucketName, 'Rules' => array ( 0 => array ( 'ID' => '', 'Prefix' => 'ok', 'Status' => 'Enabled', 'Transitions' => array ( 0 => array ( 'StorageClass' => ObsClient::StorageClassWarm, 'Date' => '2019-02-01T00:00:00Z' ), 1 => array ( 'StorageClass' => ObsClient::StorageClassCold, 'Date' => '2019-03-01T00:00:00Z' ) ), 'Expiration' => array ( 'Date' => '2019-04-01T00:00:00Z' ), 'NoncurrentVersionTransitions' => array ( 0 => array ( 'StorageClass' => ObsClient::StorageClassWarm, 'NoncurrentDays' => 30 ), 1 => array ( 'StorageClass' => ObsClient::StorageClassCold, 'NoncurrentDays' => 60 ) ), // 'Expiration'=>array('Days'=>100), 'NoncurrentVersionExpiration' => array ( 'NoncurrentDays' => 60 ) ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket lifycycle configuration function GetBucketLifecycle() { global $obsClient; global $bucketName; echo "get bucket lifecycle configuration start...\n"; try { $resp = $obsClient->getBucketLifecycle(array ( 'Bucket' => $bucketName )); $i = 0; foreach ( $resp ['Rules'] as $rule ) { foreach ( $rule ['Transitions'] as $index => $transition ) { printf("Rules[$i][Transitions][$index][Date]:%s,Rules[$i][Transitions][$index][StorageClass]:%s\n", $transition ['Date'], $transition ['StorageClass']); } printf("Rules[$i][Expiration][Date]:%s,Rules[$i][Expiration][Days]:%d\n", $rule ['Expiration'] ['Date'], $rule ['Expiration'] ['Days']); printf("Rules[$i][NoncurrentVersionExpiration][NoncurrentDays]:%s\n", $rule ['NoncurrentVersionExpiration'] ['NoncurrentDays']); foreach ( $rule ['NoncurrentVersionTransitions'] as $index => $noncurrentVersionTransition ) { printf("Rules[$i][NoncurrentVersionTransitions][$index][NoncurrentDays]:%d,Rules[$i][NoncurrentVersionTransitions][$index][StorageClass]:%s\n", $noncurrentVersionTransition ['NoncurrentDays'], $noncurrentVersionTransition ['StorageClass']); } printf("Rules[$i][ID]:%s,Rules[$i][Prefix]:%s,Rules[$i][Status]:%s\n", $rule ['ID'], $rule ['Prefix'], $rule ['Status']); $i ++; } printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // delete bucket lifycycle configuration function DeleteBucketLifecycle() { global $obsClient; global $bucketName; echo "delete bucket lifecycle configuration start...\n"; try { $resp = $obsClient->deleteBucketLifecycle(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // set bucket website configuration function SetBucketWebsite() { global $obsClient; global $bucketName; echo "set bucket website configuration start...\n"; try { $resp = $obsClient->setBucketWebsite(array ( 'Bucket' => $bucketName, // 'RedirectAllRequestsTo'=>array('HostName'=>'obs.hostname','Protocol'=>'http'), 'IndexDocument' => array ( 'Suffix' => 'index.html' ), 'ErrorDocument' => array ( 'Key' => 'error.html' ), 'RoutingRules' => array ( 0 => array ( 'Condition' => array ( 'KeyPrefixEquals' => 'docs/', 'HttpErrorCodeReturnedEquals' => 404 ), 'Redirect' => array ( 'ReplaceKeyPrefixWith' => 'documents/', 'HostName' => 'obs.hostname', 'Protocol' => 'http', 'HttpRedirectCode' => 308 ) ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket website configuration function GetBucketWebsite() { global $obsClient; global $bucketName; echo "get bucket website configuration start...\n"; try { $resp = $obsClient->GetBucketWebsite(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("RedirectAllRequestsTo[HostName]:%s,RedirectAllRequestsTo[Protocol]:%s\n", $resp ['RedirectAllRequestsTo'] ['HostName'], $resp ['RedirectAllRequestsTo'] ['Protocol']); printf("IndexDocument[Suffix]:%s\n", $resp ['IndexDocument'] ['Suffix']); printf("ErrorDocument[Key]:%s\n", $resp ['ErrorDocument'] ['Key']); $i = 0; foreach ( $resp ['RoutingRules'] as $rout ) { printf("RoutingRules[$i][Condition][HttpErrorCodeReturnedEquals]:%s,RoutingRules[$i][Condition][KeyPrefixEquals]:%s\n", $rout ['Condition'] ['HttpErrorCodeReturnedEquals'], $rout ['Condition'] ['KeyPrefixEquals']); printf("RoutingRules[$i][Redirect][Protocol]:%s,RoutingRules[$i][Redirect][HostName]:%s,RoutingRules[$i][Redirect][ReplaceKeyPrefixWith]:%s,RoutingRules[$i][Redirect][ReplaceKeyWith]:%s,RoutingRules[$i][Redirect][HttpRedirectCode]:%s\n", $rout ['Redirect'] ['Protocol'], $rout ['Redirect'] ['HostName'], $rout ['Redirect'] ['ReplaceKeyPrefixWith'], $rout ['Redirect'] ['ReplaceKeyWith'], $rout ['Redirect'] ['HttpRedirectCode']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // delete bucket website configuration function DeleteBucketWebsite() { global $obsClient; global $bucketName; echo "delete bucket website configuration start...\n"; try { $resp = $obsClient->deleteBucketWebsite(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // set bucket versioning configuration function SetBucketVersioning() { global $obsClient; global $bucketName; echo "set bucket versioning configuration start...\n"; try { $resp = $obsClient->setBucketVersioning(array ( 'Bucket' => $bucketName, 'Status' => 'Suspended' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket versioning configuration function GetBucketVersioning() { global $obsClient; global $bucketName; echo "get bucket versioning configuration start...\n"; try { $resp = $obsClient->getBucketVersioning(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("Status:%s\n", $resp ['Status']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // set bucket cors function SetBucketCors() { global $obsClient; global $bucketName; echo "set bucket cors start...\n"; try { $resp = $obsClient->setBucketCors(array ( 'Bucket' => $bucketName, 'CorsRules' => array ( 0 => array ( 'ID' => '123456', 'AllowedMethod' => array ( 0 => "PUT", 1 => "POST", 2 => "GET", 3 => "DELETE" ), 'AllowedOrigin' => array ( 0 => "obs.hostname1" ), 'AllowedHeader' => array ( 0 => "header-1", 1 => "header-2" ) ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // delete bucket cors function DeleteBucketCors() { global $obsClient; global $bucketName; echo "delete bucket cors start...\n"; try { $resp = $obsClient->deleteBucketCors(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get bucket cors function GetBucketCors() { global $obsClient; global $bucketName; echo "get bucket cors start...\n"; try { $resp = $obsClient->getBucketCors(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); print_r($resp ['CorsRules']); } catch ( ObsException $e ) { echo $e; } } // options bucket function OptionsBucket() { global $obsClient; global $bucketName; echo "options bucket start...\n"; try { $resp = $obsClient->optionsBucket(array ( 'Bucket' => $bucketName, 'Origin' => 'obs.hostname1', 'AccessControlRequestMethods' => array ( 0 => "PUT", 1 => "POST" ), 'AccessControlRequestHeaders' => array ( 0 => "header-1", 1 => "header-2" ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); print_r($resp); } catch ( ObsException $e ) { echo $e; } } // set bucket tagging function SetBucketTagging() { global $obsClient; global $bucketName; echo "set bucket tagging start...\n"; try { $resp = $obsClient->setBucketTagging(array ( 'Bucket' => $bucketName, 'Tags' => array ( 0 => array ( 'Key' => 'testKey1', 'Value' => 'testValue1' ), 1 => array ( 'Key' => 'testKey2', 'Value' => 'testValue2' ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); } catch ( ObsException $e ) { echo $e; } } // get bucket tagging function GetBucketTagging() { global $obsClient; global $bucketName; echo "get bucket tagging start...\n"; try { $resp = $obsClient->getBucketTagging(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); foreach ( $resp ["Tags"] as $tag ) { printf("Tag[%s:%s]\n", $tag ["Key"], $tag ["Value"]); } } catch ( ObsException $e ) { echo $e; } } // delete bucket tagging function DeleteBucketTagging() { global $obsClient; global $bucketName; echo "delete bucket tagging start...\n"; try { $resp = $obsClient->deleteBucketTagging(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); } catch ( ObsException $e ) { echo $e; } } // set bucket notification function SetBucketNotification() { global $obsClient; global $bucketName; echo "set bucket notification start...\n"; try { $resp = $obsClient->setBucketNotification(array ( 'Bucket' => $bucketName, 'TopicConfigurations' => array ( 0 => array ( 'ID' => '001', 'Topic' => 'your topic', 'Event' => array ( 0 => 'ObjectCreated:*' ), 'Filter' => array ( 0 => array ( 'Name' => 'prefix', 'Value' => 'smn/' ), 1 => array ( 'Name' => 'suffix', 'Value' => '.jpg' ) ) ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); } catch ( ObsException $e ) { echo $e; } } // get bucket notification function GetBucketNotification() { global $obsClient; global $bucketName; echo "get bucket notification start...\n"; try { $resp = $obsClient->getBucketNotification(array ( 'Bucket' => $bucketName )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); print_r($resp ['TopicConfigurations']); } catch ( ObsException $e ) { echo $e; } } // delete object function DeleteObject() { global $obsClient; global $bucketName; global $objectKey; echo "delete object start...\n"; try { $resp = $obsClient->deleteObject(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'VersionId' => '' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("DeleteMarker:%s,VersionId:%s\n", $resp ['DeleteMarker'], $resp ['VersionId']); } catch ( ObsException $e ) { echo $e; } } // options object function OptionsObject() { global $obsClient; global $bucketName; global $objectKey; echo "options bucket start...\n"; try { $resp = $obsClient->optionsObject(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'Origin' => 'obs.hostname1', 'AccessControlRequestMethods' => array ( "PUT", "GET" ), 'AccessControlRequestHeaders' => array ( 0 => "header-1", 1 => "header-2" ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); print_r($resp); } catch ( ObsException $e ) { echo $e; } } // delete objects function DeleteObjects() { global $obsClient; global $bucketName; echo "delete objects start...\n"; try { $resp = $obsClient->deleteObjects(array ( 'Bucket' => $bucketName, 'Objects' => array ( 0 => array ( 'Key' => 'test' ), 1 => array ( 'Key' => 'file.log' ) ), 'Quiet' => false )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); $i = 0; foreach ( $resp ['Errors'] as $error ) { printf("Errors[$i][Key]:%s,Errors[$i][VersionId]:%s锛孍rrors[$i][Code]:%s锛孍rrors[$i][Message]:%s\n", $error ['Key'], $error ['VersionId'], $error ['Code'], $error ['Message']); $i ++; } $i = 0; foreach ( $resp ['Deleteds'] as $delete ) { printf("Deleteds[$i][Key]:%s,Deleted[$i][VersionId]:%s锛孌eleted[$i][DeleteMarker]:%s锛孌eleted[$i][DeleteMarkerVersionId]:%s\n", $delete ['Key'], $delete ['VersionId'], $delete ['DeleteMarker'], $delete ['DeleteMarkerVersionId']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // set object acl function SetObjectAcl() { global $obsClient; global $bucketName; global $objectKey; echo "set object ACL start...\n"; try { $resp = $obsClient->setObjectAcl(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'Delivered' => true, 'Grants' => array ( 0 => array ( 'Grantee' => array ( 'ID' => 'userid', ), 'Permission' => ObsClient::PermissionWrite ), 1 => array ( 'Grantee' => array ( 'URI' => ObsClient::AllUsers ), 'Permission' => ObsClient::PermissionRead ) ), 'Owner' => array ( 'ID' => 'ownerid' ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // get object acl function GetObjectAcl() { global $obsClient; global $bucketName; global $objectKey; echo "get bucket ACL start...\n"; try { $resp = $obsClient->getObjectAcl(array ( 'Bucket' => $bucketName, 'Key' => $objectKey )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Owner[ID]:%s\n", $resp ['Owner'] ['ID']); printf("Delivered:%s\n", $resp['Delivered'] ? 'true' : 'false'); $i = 0; foreach ( $resp ['Grants'] as $grant ) { printf("Grants[$i][Grantee][ID]:%s,Grants[$i][Grantee][URI]:%s\n", $grant ['Grantee'] ['ID'], $grant ['Grantee'] ['URI']); printf("Grants[$i][Permission]:%s\n", $grant ['Permission']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // restore object function RestoreObject() { global $obsClient; global $bucketName; global $objectKey; echo "restore object start...\n"; try { $resp = $obsClient->restoreObject(array ( "Bucket" => $bucketName, "Key" => $objectKey, "VersionId" => NULL, "Days" => 1, "Tier" => ObsClient::RestoreTierExpedited )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ["RequestId"]); } catch ( ObsException $e ) { echo $e; } } // put object function PutObject() { global $obsClient; global $bucketName; global $objectKey; echo "put object start...\n"; try { $resp = $obsClient->putObject(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'Metadata' => array ( 'test' => "value" ), // 'Body'=>'msg to put', 'ContentType' => 'text/plain', 'SourceFile' => '/temp/test.txt' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("ETag:%s,VersionId:%s\n", $resp ['ETag'], $resp ['VersionId']); } catch ( ObsException $e ) { echo $e; } } // get object metadata function GetObjectMetadata() { global $obsClient; global $bucketName; global $objectKey; echo "get object metadata start...\n"; try { $resp = $obsClient->getObjectMetadata(array ( 'Bucket' => $bucketName, 'Key' => $objectKey )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Expiration:%s,LastModified:%s,ContentLength:%d,StorageClass:%s\n", $resp ['Expiration'], $resp ['LastModified'], $resp ['ContentLength'], $resp ['StorageClass']); printf("ETag:%s,VersionId:%s,WebsiteRedirectLocation:%s\n", $resp ['ETag'], $resp ['VersionId'], $resp ['WebsiteRedirectLocation']); } catch ( ObsException $e ) { echo $e; } } // get object function GetObject() { global $obsClient; global $bucketName; global $objectKey; echo "get object start...\n"; try { $resp = $obsClient->getObject(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'Range' => 'bytes=0-10', 'SaveAsFile' => '/temp/test.txt' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Metadata:%s\n", json_encode($resp ['Metadata'])); printf("DeleteMarker:%s,Expiration:%s,LastModified:%s\n", $resp ['DeleteMarker'], $resp ['Expiration'], $resp ['LastModified']); printf("ContentLength:%d,ETag:%s,VersionId:%s,SaveAsFile:%s\n", $resp ['ContentLength'], $resp ['ETag'], $resp ['VersionId'], $resp ['SaveAsFile']); printf("Expires:%s,WebsiteRedirectLocation:%s\n", $resp ['Expires'], $resp ['WebsiteRedirectLocation']); } catch ( ObsException $e ) { echo $e; } } // copy object function CopyObject() { global $obsClient; global $bucketName; global $objectKey; echo "copy object start...\n"; try { $resp = $obsClient->copyObject(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'CopySource' => 'bucket003/test', 'Metadata' => array ( 'test' => "value" ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("ETag:%s,VersionId:%s,LastModified:%s,CopySourceVersionId:%s\n", $resp ['ETag'], $resp ['VersionId'], $resp ['LastModified'], $resp ['CopySourceVersionId']); } catch ( ObsException $e ) { echo $e; } } // initiate multipart upload function InitiateMultipartUpload() { global $obsClient; global $bucketName; global $objectKey; echo "initiate mutipart upload start...\n"; try { $resp = $obsClient->initiateMultipartUpload(array ( 'Bucket' => $bucketName, 'Key' => $objectKey )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Bucket:%s,Key:%s,UploadId:%s\n", $resp ['Bucket'], $resp ['Key'], $resp ['UploadId']); } catch ( ObsException $e ) { echo $e; } } // abort multipart upload function AbortMultipartUpload() { global $obsClient; global $bucketName; global $objectKey; echo "abort mutipart upload start...\n"; try { $resp = $obsClient->abortMultipartUpload(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'UploadId' => 'uploadid' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); } catch ( ObsException $e ) { echo $e; } } // list multipart uploads function ListMultipartUploads() { global $obsClient; global $bucketName; echo "list mutipart upload start...\n"; try { $resp = $obsClient->listMultipartUploads(array ( 'Bucket' => $bucketName, 'MaxUploads' => 1000 )); printf("RequestId:%s\n", $resp ['RequestId']); printf("Bucket锛�%s,KeyMarker:%s,UploadIdMarker:%s,NextKeyMarker:%s\n", $resp ['Bucket'], $resp ['KeyMarker'], $resp ['UploadIdMarker'], $resp ['NextKeyMarker']); printf("Prefix:%s,Delimiter:%s,NextUploadIdMarker:%s,MaxUploads:%d,IsTruncated:%s\n", $resp ['Prefix'], $resp ['Delimiter'], $resp ['NextUploadIdMarker'], $resp ['MaxUploads'], $resp ['IsTruncated']); $i = 0; foreach ( $resp ['CommonPrefixes'] as $common ) { printf("CommonPrefixes[$i][Prefix]:%s\n", $common ['Prefix']); $i ++; } $i = 0; foreach ( $resp ['Uploads'] as $upload ) { printf("Uploads[$i][Key]:%s,Uploads[$i][UploadId]:%s,Uploads[$i][StorageClass]:%s,Uploads[$i][Initiated]:%s\n", $upload ['Key'], $upload ['UploadId'], $upload ['StorageClass'], $upload ['Initiated']); printf("Uploads[$i][Initiator][ID]:%s,Uploads[$i][Initiator][DisplayName]:%s\n", $upload ['Initiator'] ['ID'], $upload ['Initiator'] ['DisplayName']); printf("Uploads[$i][Owner][ID]:%s,Uploads[$i][Owner][DisplayName]:%s\n", $upload ['Owner'] ['ID'], $upload ['Owner'] ['DisplayName']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // upload part function UploadPart() { global $obsClient; global $bucketName; global $objectKey; echo "upload part start...\n"; try { $resp = $obsClient->uploadPart(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'UploadId' => 'uploadid', 'PartNumber' => 1, // 'Body' => 'test', 'SourceFile' => '/temp/test.txt' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("ETag:%s\n", $resp ['ETag']); } catch ( ObsException $e ) { echo $e; } } // copry part function CopyPart() { global $obsClient; global $bucketName; global $objectKey; echo "copy part start...\n"; try { $resp = $obsClient->copyPart(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'UploadId' => 'uploadid', 'PartNumber' => 1, 'CopySource' => 'bucket003/test' )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("ETag:%s,LastModified:%s\n", $resp ['ETag'], $resp ['LastModified']); } catch ( ObsException $e ) { echo $e; } } // list parts function ListParts() { global $obsClient; global $bucketName; global $objectKey; echo "list parts start...\n"; try { $resp = $obsClient->listParts(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'UploadId' => 'uploadid', 'MaxParts' => 500, 'PartNumberMarker' => 0 )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Bucket锛�%s,Key:%s,UploadId:%s,PartNumberMarker:%d\n", $resp ['Bucket'], $resp ['Key'], $resp ['UploadId'], $resp ['PartNumberMarker']); printf("NextPartNumberMarker:%d,MaxParts:%d,IsTruncated:%d,StorageClass:%s\n", $resp ['NextPartNumberMarker'], $resp ['MaxParts'], $resp ['IsTruncated'], $resp ['StorageClass']); printf("Initiator[ID]:%s,Initiator[DisplayName]:%s\n", $resp ['Initiator'] ['ID'], $resp ['Initiator'] ['DisplayName']); printf("Owner[ID]:%s,Owner[DisplayName]:%s\n", $resp ['Owner'] ['ID'], $resp ['Owner'] ['DisplayName']); $i = 0; foreach ( $resp ['Parts'] as $part ) { printf("Parts[$i][PartNumber]:%s,Parts[$i][LastModified]:%s,Parts[$i][ETag]:%s,Parts[$i][Size]:%d\n", $part ['PartNumber'], $part ['LastModified'], $part ['ETag'], $part ['Size']); $i ++; } } catch ( ObsException $e ) { echo $e; } } // merge parts function CompleteMultipartUpload() { global $obsClient; global $bucketName; global $objectKey; echo "complete multipart upload start...\n"; try { $resp = $obsClient->completeMultipartUpload(array ( 'Bucket' => $bucketName, 'Key' => $objectKey, 'UploadId' => 'uploadid', 'Parts' => array ( 0 => array ( 'PartNumber' => 1, 'ETag' => 'etagvalue' ) ) )); printf("HttpStatusCode:%s\n", $resp ['HttpStatusCode']); printf("RequestId:%s\n", $resp ['RequestId']); printf("Bucket:%s,Key:%s,ETag:%s,VersionId:%s,Location:%s\n", $resp ['Bucket'], $resp ['Key'], $resp ['ETag'], $resp ['VersionId'], $resp ['Location']); } catch ( ObsException $e ) { echo $e; } } //----bucket related apis--- // CreateBucket(); // ListBuckets(); // DeleteBucket(); // ListObjects(); // ListVersions(); // HeadBucket(); // GetBucketMetadata(); // GetBucketLocation(); // GetBucketStorageInfo(); // SetBucketQuota(); // GetBucketQuota(); // SetBucketStoragePolicy(); // GetBucketStoragePolicy(); // SetBucketAcl(); // GetBucketAcl(); // SetBucketLogging(); // GetBucketLogging(); // SetBucketPolicy(); // GetBucketPolicy(); // DeleteBucketPolicy(); // SetBucketLifecycle(); // GetBucketLifecycle(); // DeleteBucketLifecycle(); // SetBucketWebsite(); // GetBucketWebsite(); // DeleteBucketWebsite(); // SetBucketVersioning(); // GetBucketVersioning(); // SetBucketCors(); // GetBucketCors(); // DeleteBucketCors(); // OptionsBucket(); // SetBucketTagging(); // GetBucketTagging(); // DeleteBucketTagging(); // SetBucketNotification(); // GetBucketNotification(); //-----object related apis-------- // DeleteObject(); // OptionsObject(); // SetObjectAcl(); // GetObjectAcl(); // RestoreObject(); // DeleteObjects(); // PutObject(); // GetObject(); // CopyObject(); // GetObjectMetadata(); // InitiateMultipartUpload(); // ListMultipartUploads(); // AbortMultipartUpload(); // UploadPart(); // ListParts(); // CompleteMultipartUpload(); // CopyPart();