我试图摆脱目前的身份验证模式:
$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没有任何问题
获取JSON语法谢谢
答案 0 :(得分:2)
如果您希望将这些密钥用于构建器创建的所有服务,则应将“apiauth”更改为“default_settings”。然后,您可以致电$aws->get('s3')
以获取具有共享凭据的Amazon S3客户端。