我正在尝试向SQS发送消息,并且已按照此处的说明进行操作
https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/sqs-examples-send-receive-messages.html
但是,当我遵循这些步骤时,我什么也没得到,甚至没有错误消息。代码如下:
use Aws\Exception\AwsException;
use Aws\Credentials\Credentials;
use Aws\Sqs\SqsClient;
$credentials = new Credentials('IAM account key', 'IAM secret key')
$sqsClient = new SqsClient([
'version' => '2012-11-05',
'credentials' => $credentials,
'region' => 'eu-north-1',
]);
//Debug values, these would later be filled from database
$params = [
'DelaySeconds' => 10,
'MessageAttributes' => [
"SocialSecurityCode" => [
'DataType' => "String",
'StringValue' => "111111-1"
],
"Name" => [
'DataType' => "String",
'StringValue' => "Teemu Testaaja"
],
"PeriodStart" => [
'DataType' => "String",
'StringValue' => "1-1-2019"
],
"PeriodEnd" => [
'DataType' => "String",
'StringValue' => "31-1-2019"
],
"EventDate" => [
'DataType' => "String",
'StringValue' => "12-1-2019"
],
"Code" => [
'DataType' => "Number",
'StringValue' => "12"
],
"Amount" => [
'DataType' => "Number",
'StringValue' => "7.5"
]
],
'MessageBody' => "Test message",
'QueueUrl' => 'sqs-url from the console'
];
try {
print("Sending message");
$result = $sqsClient->sendMessage($params);
print("Message send");
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
print("ERROR!");
var_dump($e->getMessage());
}
但是,我唯一得到的就是“发送消息”。我在这里做错了什么?我已经设置了一个IAM帐户,该帐户可以发送和读取来自队列的消息。
我试图查看队列以查看消息是否确实通过了,还有其他问题,但是队列中没有任何项目,并且目前没有任何内容可以阅读。
代码托管在Amazon AWS服务器上。
更新
到目前为止,消息已正确传递到队列,但代码未从sendMessages部分向前进行。