如何使用 aws-sfk-php-zf2 v 2.0.* 获取 aws 服务?
How to get aws service with aws-sfk-php-zf2 v 2.0.*?
我使用的是 aws/aws-sdk-php-zf2 1.2.*,必须升级到 2.0.*,AWS SDK 现在是 v3。
在我使用代码调用它之前:
$this->s3 = $serviceLocator->get('aws')->get('s3');
但现在返回此错误:
Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for aws
在迁移文档中找不到不同之处。
有什么建议吗?
您现在应该使用 SDK class 的 FQCN,而不是通过密钥获取服务:Aws
。
use Aws\Sdk as Aws;
$aws = $serviceLocator->get(Aws::class);
参见 aws/aws-sdk-php-zf2
模块的 module.config.php。
我找到了适合我的方法。
现在是这样:
use Aws\S3\S3Client;
$this->s3 = S3Client::factory(array(
'credentials' => array(
'key' => $this->config['aws']['key'],
'secret' => $this->config['aws']['secret'],
),
'region' => $this->config['aws']['region'],
'version' => '2006-03-01'
));
我使用的是 aws/aws-sdk-php-zf2 1.2.*,必须升级到 2.0.*,AWS SDK 现在是 v3。
在我使用代码调用它之前:
$this->s3 = $serviceLocator->get('aws')->get('s3');
但现在返回此错误:
Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for aws
在迁移文档中找不到不同之处。
有什么建议吗?
您现在应该使用 SDK class 的 FQCN,而不是通过密钥获取服务:Aws
。
use Aws\Sdk as Aws;
$aws = $serviceLocator->get(Aws::class);
参见 aws/aws-sdk-php-zf2
模块的 module.config.php。
我找到了适合我的方法。
现在是这样:
use Aws\S3\S3Client;
$this->s3 = S3Client::factory(array(
'credentials' => array(
'key' => $this->config['aws']['key'],
'secret' => $this->config['aws']['secret'],
),
'region' => $this->config['aws']['region'],
'version' => '2006-03-01'
));