このトピックでは、Simple Message Queue(旧称 MNS)(SMQ) SDK for PHP を使用して、トピックに基づいてメッセージを処理するための前提条件とサンプルコードについて説明します。
前提条件
SMQ SDK for PHP がインストールされていること。詳細については、「SDK for PHP のインストール」をご参照ください。
エンドポイントとアクセス認証情報が構成されていること。詳細については、「エンドポイントとアクセス認証情報の構成」をご参照ください。
CreateTopicAndPushMessageToQueue.php ファイルの先頭の [設定] が、コメントに基づいて変更されていること。
// vendorディレクトリ内の、composerによってダウンロードされたautoload.phpファイルのパスで値を置き換えます。 require_once __DIR__ . '/vendor/autoload.php'; // 必要なPHPクラスを宣言します。 use AliyunMNS\Client; use AliyunMNS\Exception\MessageNotExistException; use AliyunMNS\Model\SubscriptionAttributes; use AliyunMNS\Requests\PublishMessageRequest; use AliyunMNS\Requests\CreateTopicRequest; use AliyunMNS\Requests\CreateQueueRequest; use AliyunMNS\Exception\MnsException;
Base64 エンコードされたメッセージをパブリッシュする
メッセージ本文を Base64 でエンコードする方法の詳細については、「メッセージ本文のエンコード」をご参照ください。
完全なサンプルコードの詳細については、「CreateTopicAndPushMessageToQueue.php」をご参照ください。
// base64エンコードされたメッセージをパブリッシュする
$messageBody = "test";
$request = new PublishBase64MessageRequest($messageBody);
try {
$res = $topic->publishMessage($request);
echo "Base64MessagePublished! \n";
} catch (MnsException $e) {
// ネットワークエラーが発生した場合、メッセージのパブリッシュに失敗する可能性があります。 CatchException操作を呼び出して、問題を特定し、解決できます。
echo "PublishBase64Message Failed: " . $e;
return;
}