凭证必须是 AWS \\凭证\\凭证使用 SQS 的 PHP 开发工具包上的接口错误的实例



我正在尝试使用 php 开发工具包从 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 AwsCredentialsCredentials(KEY, SECRET);
$sqsClient = new SqsClient([
'version' => '2012-11-05',
'region'  => 'us-east-1',
'credentials' => $credentials
]);

检查此文档。

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

我希望一切都好。

相关内容

最新更新