I am using the amazon s3 sdk and the getBucketPolicy call does not seem to return anything for me has anyone else had a similar issue.
http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getBucketPolicy
If i run.
$client = S3Client::factory(array(
'key' => 'key',
'secret' => 'secret'
));
$result = $client->getBucketPolicy(array(
// Bucket is required
'Bucket' => 'bucket',
));
print_r($result->toArray());
it returns
Policy {}
But when i view properties with the Amazon s3 console, on my bucket and click edit policy it is.
{
"Id": "Policy123456789",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
Am i missing something?
Do you have IAM policy configured or stored credetials at .aws/config?
If you use code without credentials provided as
$result = $client->getBucketPolicy(array(
// Bucket is required
'Bucket' => 'bucket',
));
It supposes either IAM policy is configured at AWS console for your instance or you stored your credentials to ~/.aws/config
If you don't have any, so you should pass configuration as
$result = $client->getBucketPolicy(array(
// Bucket is required
'Bucket' => 'bucket',
'key' => 'put your key',
'secret' => 'put your secret',
'region' => 'put your region',
));