2025-04-10 23:19:13 +08:00

1418 lines
53 KiB
PHP
Executable File
Raw Blame History

<?php
# @Author: 嗨噜客(三亚) <fm453>
# @Date: 2022-05-18T16:51:48+08:00
# @Email: fm453@lukegzs.com
# @Last modified by: fm453
# @Last modified time: 2022-05-20T15:21:14+08:00
# @Copyright: www.hiluker.cn
namespace vendor\huawei\obsclient;
// 引入依赖库
require('vendor/autoload.php');
require('obs-autoloader.php');
use Obs\ObsClient;
use Obs\ObsException;
use function GuzzleHttp\json_encode;
class Hwobs extends Common
{
// create bucket
public function CreateBucket()
{
$obsClient = $this->obsClient;
try {
$resp = $obsClient->createBucket(array(
'Bucket' => $bucketName,
'ACL' => ObsClient::AclPrivate,
'LocationConstraint' => '',
'StorageClass' => ObsClient::StorageClassWarm
));
$data = [
'Location'=>$resp ['Location'],
'RequestId'=>$resp ['RequestId']
];
$this->result('', $data, 200);
} catch (ObsException $e) {
$this->result($e, null, 100);
}
}
// list buckets
public function ListBuckets()
{
global $obsClient;
echo "list bucket start...\n";
try {
$resp = $this->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
public function DeleteBucket()
{
global $obsClient;
global $bucketName;
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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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锛<EFBFBD>%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
public 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
public 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
public 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锛<EFBFBD>%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
public 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();