使用Laravel发送AWS SQS消息,但不指定配置文件
这可能是一个新手问题,我尝试通过Laravel在AWS上发送SQS消息,并尝试了几种选项,但当我启动请求时,出现了一个错误:使用Laravel发送AWS SQS消息,但不指定配置文件,laravel,amazon-web-services,amazon-sqs,Laravel,Amazon Web Services,Amazon Sqs,这可能是一个新手问题,我尝试通过Laravel在AWS上发送SQS消息,并尝试了几种选项,但当我启动请求时,出现了一个错误: Cannot read credentials from /var/www/.aws/credentials 以下是我的功能: private static function recordSearch($term,$ip,$user_id = 0) { $date = Carbon::now(); $client = ne
Cannot read credentials from /var/www/.aws/credentials
以下是我的功能:
private static function recordSearch($term,$ip,$user_id = 0)
{
$date = Carbon::now();
$client = new SqsClient([
'profile' => 'default',
'region' => 'eu-west-3',
'version' => '2012-11-05',
]);
$params = [
'DelaySeconds' => 10,
'MessageAttributes' => [],
'MessageBody' => '{
"message": "'.$term.'",
"id_user": '.$user_id.',
"ip_user": "'.$ip.'",
"origin": "backoffice",
"date": "'.$date.'"
}',
'QueueUrl' => 'https://sqs.eu-west-3.amazonaws.com/*ACCOUNT_ID*/data-search-request-queue'
];
try {
$result = $client->sendMessage($params);
} catch (AwsException $e) {
error_log($e->getMessage());
}
}
我的理解是,客户端找不到aws.credentials,这就是为什么在本地发送这些消息有效,但在我的服务器上不起作用,因为没有默认的配置文件设置
我试图将凭据传递到SqsClient,但在我删除“配置文件”时,它没有尝试发送消息。我没有任何错误,只是在队列中没有看到任何消息
我不知道它是否有帮助,但我尝试从默认区域设置(eu-west-1)到达另一个区域(eu-west-3)