dongyi7901 2015-05-09 12:01
浏览 65

Amazon S3 php SDK getBucketPolicy返回空

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?

  • 写回答

1条回答 默认 最新

  • duandaodao6951 2015-05-10 22:24
    关注

    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',
    ));
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据