更新时间:2022-02-10 GMT+08:00

获取对象ACL

功能说明

获取指定桶中对象的访问权限。

方法定义

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

请求参数

字段名

类型

约束

说明

Bucket

string

必选

桶名。

Key

string

必选

对象名。

VersionId

string

可选

对象的版本号。

返回结果

字段名

类型

说明

HttpStatusCode

integer

HTTP状态码。

Reason

string

HTTP文本描述。

RequestId

string

OBS服务端返回的请求ID。

VersionId

string

对象的版本号。

Owner

associative array

对象的所有者。

  

ID

string

对象所有者的DomainId。

Delivered

boolean

桶的ACL是否向桶内对象传递。

Grants

indexed array

被授权用户权限信息列表。

  

Grantee

associative array

被授权用户。

  

ID

string

被授权用户的DomainId,当用户类型是Group时为空。

URI

string

被授权的用户组,当用户类型是CanonicalUser时为空。

Permission

string

被授予的权限。

代码样例

try {
       $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 () );
}