PHP中的Amazon AWS putBucketLogging参数
我正在编写连接到AmazonS3存储的脚本。脚本应创建2个存储桶:PHP中的Amazon AWS putBucketLogging参数,php,amazon-s3,Php,Amazon S3,我正在编写连接到AmazonS3存储的脚本。脚本应创建2个存储桶: 水桶是用来储存数据的 木桶是用来装圆木的 我成功创建了两个存储桶,但无法设置日志记录。下面显示了我用于启用bucket日志记录的代码 $result = $client->putBucketLogging(array( 'Bucket' => $bucket, 'LoggingEnabled' => array( 'TargetBucket' =>
$result = $client->putBucketLogging(array(
'Bucket' => $bucket,
'LoggingEnabled' => array(
'TargetBucket' => $bucket . '-LOG',
'TargetGrants'=>array(
'Grantee'=>array(
'DisplayName'=>'user.name',
'Type'=>'CanonicalUser'
),
),
'TargetPrefix' => 'LOG-',
),
));
在amazon AWS API for PHP version 2中,Bucket、LoggingEnabled和Type是必需的。但是文档没有说明如何准确地实现这些参数
你能帮我了解一下putBucketLogging方法的配置数组的结构吗?你也可以使用服务的API文档作为参考,这些文档有时包含关于如何为请求专门构造某些数据类型的更多细节。将提供有关如何指定受让人的更多详细信息
另外,您不应该在bucket名称中使用大写字母(请参阅)。在手册中搜索php数组后,方法putBucketLogging是
$result = $client->putBucketLogging(array(
'Bucket' => $bucket,
'LoggingEnabled' => array(
'TargetBucket' => $bucket . '-log',
'TargetGrants' => array(
'Grant' => array(
'Grantee' => array(
'Type' => 'AmazonCustomerByEmail',
'EmailAddress' => 'email@email.com',
),
'Permission' => 'FULL_CONTROL',
),
),
'TargetPrefix' => 'log-',
),
));
然而,启用日志记录失败,异常告诉我必须设置日志存储桶的权限