我正在使用AWS PHP SDK创建EC2实例。当我尝试在法兰克福地区创建实例时,API会给出身份验证错误,因为此区域支持v4签名服务。
当我尝试提供'签名' => ' v4' 参数到客户端工厂方法,我收到此错误
Fatal error: Call to a member function signRequest() on a non-object in \Aws\Common\Signature\SignatureListener.php on line 78
有关使用签名v4的正确方法的建议。目前我正在使用此代码。
Aws::factory(array(
'key' => $this->key,
'secret' => $this->secret,
'region' => $region,
'signature' => 'v4')
)->get($service, true);
答案 0 :(得分:0)
最后让它工作,基本上我们必须在客户端工厂中提供 Aws \ Common \ Signature \ SignatureV4 实例。
'signature' => new SignatureV4()