繁体   English   中英

凭据必须是带有SQS的PHP SDK上Aws \\\\ Credentials \\\\ CredentialsInterface错误的实例

[英]Credentials must be an instance of Aws\\Credentials\\CredentialsInterface error on PHP SDK with SQS

我正在尝试使用php SDK从AWS的SQS中删除一条消息。 我有以下配置。

$sqsClient = new SqsClient([
            'version' => '2012-11-05',
            'region'  => 'us-east-1',
            'credentials' => [
                'key' => KEY,
                'secret' => SECRET
            ]
        ]);

然后我试图删除如下所示:

$sqsClient->deleteMessage([
                'QueueUrl' => quque-url
                'ReceiptHandle' => handle
            ]);

我在初始化时遇到以下错误:

Credentials must be an instance of Aws\\\\Credentials\\\\CredentialsInterface, an associative array that contains \\"key\\", \\"secret\\", and an optional \\"token\\" key-value pairs, a credentials provider function, or false."

我使用的凭据正确。 在我没有通过配置之前,同样出现了同样的错误。 如何解决?

我找到了此代码示例 ,我认为您的代码是正确的。

如何创建Credentials实例?

您可以使用这些代码来启动实例。

$credentials = new Aws\Credentials\Credentials(KEY, SECRET);
$sqsClient = new SqsClient([
            'version' => '2012-11-05',
            'region'  => 'us-east-1',
            'credentials' => $credentials
        ]);

检查此文件

并且出于安全原因,我建议您最好使用凭据文件或设置环境变量。

我希望一切都好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM