AWS开发工具包PHP2- Guzzle Service Builder

时间:2013-08-05 00:38:06

标签: php amazon-web-services amazon-s3 guzzle

我试图摆脱目前的身份验证模式:

$s3_cfg = S3Client::factory(array(
    'key' => 'access',
    'secret' => 'secret'
             ));

并使用Guzzle服务模型(http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/service-s3.html#service-locator

这是我到目前为止所做的:

require '../s3up/vendor/autoload.php';
 use Aws\Common\Aws;
 $aws = Aws::factory('api.json');
 $client = $aws>get('apiauth');

和我的api.json:

{
"includes": ["_aws"],
"services": {
  "apiauth": {
      "params": {
          "key": "access",
          "secret": "secret",
          "region": "us-west-2"
      }
  }
}
}

出于任何原因,我收到错误500并出现以下错误消息:

 Class '' not found in /s3up/vendor/guzzle/guzzle/src/Guzzle/Service/Builder/ServiceBuilder.php on line 141

我使用composer安装了AWS php SDK2。如果我只是删除服务定位器并使用基本身份验证,一切正常,所以我的autoload.php没有任何问题

我从http://docs.aws.amazon.com/awssdkdocsphp2/latest/gettingstartedguide/sdk-php2-using-the-sdk.html#sdk-php2-using-the-service-builder

获取JSON语法

谢谢

1 个答案:

答案 0 :(得分:2)

如果您希望将这些密钥用于构建器创建的所有服务,则应将“apiauth”更改为“default_settings”。然后,您可以致电$aws->get('s3')以获取具有共享凭据的Amazon S3客户端。