我正在尝试使用 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
]);
检查此文档。
出于安全原因,我建议您最好使用凭据文件或设置环境变量。
我希望一切都好。