Hap*_*der 5 php amazon-sqs amazon-web-services aws-php-sdk
SQS我正在尝试使用 php SDK从 AWS 中删除一条消息。我有以下配置。
$sqsClient = new SqsClient([
'version' => '2012-11-05',
'region' => 'us-east-1',
'credentials' => [
'key' => KEY,
'secret' => SECRET
]
]);
Run Code Online (Sandbox Code Playgroud)
然后我尝试删除如下:
$sqsClient->deleteMessage([
'QueueUrl' => quque-url
'ReceiptHandle' => handle
]);
Run Code Online (Sandbox Code Playgroud)
我在初始化时收到以下错误:
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."
我使用的凭据是正确的。在我没有传递配置之前,也出现了同样的错误。如何解决这个问题?
小智 10
我找到了这个代码示例,我认为你的代码是正确的。
创建 的实例怎么样Credentials?
您可以使用这些代码来启动实例。
$credentials = new Aws\Credentials\Credentials(KEY, SECRET);
$sqsClient = new SqsClient([
'version' => '2012-11-05',
'region' => 'us-east-1',
'credentials' => $credentials
]);
Run Code Online (Sandbox Code Playgroud)
检查这个文件。
出于安全原因,我建议您最好使用凭据文件或设置环境变量。
我希望一切都好。