SymfonyアプリケーションからElasticMQに接続する
前回の続き。
設定を書き換える
app/config/config.yml
の設定はダミーで良いので書き換えておく。
aws: version: 'latest' region: 'region-dummy' credentials: key: 'key-dummy' secret: 'secret-dummy'
QueueUrlを書き換える
前回 aws-cli で作ったキューのQueueUrlを指定する。
サンプルコードは ここ をベースにしている。
<?php // ... use Symfony\Component\HttpFoundation\Response; // ... public function indexAction(Request $request) { $sqs = $this->container->get('aws.sqs'); $sqs->sendMessage([ 'QueueUrl' => 'http://localhost:9324/queue/test', // ここのurlを書き換え 'MessageBody' => 'Test Message '.date('H:i:s'), ]); // ... } /** * @Route("/receive-sqs", name="receive_sqs") */ public function receiveSqsAction() { // メッセージ取得用のアクションも作っておく $sqs = $this->container->get('aws.sqs'); $result = $sqs->receiveMessage([ 'QueueUrl' => 'http://localhost:9324/queue/test', ]); dump($result); return new Response('Receive SQS!'); }
http://127.0.0.1:8000/
にアクセスするとメッセージを送信。
送信後に http://127.0.0.1:8000/receive-sqs
にアクセスすると送信したメッセージを受信できる。