すべてのプロダクト
Search
ドキュメントセンター

Simple Message Queue (formerly MNS):トピックの使用

最終更新日:Jan 13, 2025

このトピックでは、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;
}