このトピックでは、Apache RocketMQ SDK for Go を使用してメッセージを送受信するためのサンプルコードについて説明します。
メッセージタイプ | メッセージ送信のサンプルコード | メッセージ受信のサンプルコード (SimpleConsumer) |
パラメータ
パラメータ | 例 | 説明 |
Endpoint | rmq-cn-xxx.{regionId}.rmq.aliyuncs.com:8080 | RocketMQ for ApsaraMQ インスタンスのエンドポイント。エンドポイントの取得方法については、「インスタンスのエンドポイントを取得する」をご参照ください。
|
InstanceId | rmq-cn-xxx | RocketMQ for ApsaraMQ インスタンスの ID。 |
Topic | normal_test | ApsaraMQ for RocketMQ インスタンスで、メッセージの送受信が行われる Topic です。 ApsaraMQ for RocketMQ インスタンスに事前に Topic を作成する必要があります。詳細については、「Topic を作成する」をご参照ください。 |
ConsumerGroup | GID_test | ApsaraMQ for RocketMQ インスタンスのメッセージをコンシューマーが消費するために使用するコンシューマーグループ。 事前に ApsaraMQ for RocketMQ インスタンスでコンシューマーグループを作成する必要があります。詳細については、「コンシューマーグループを作成する」をご参照ください。 |
AccessKey | 1XVg0hzgKm****** | ApsaraMQ for RocketMQ インスタンスのユーザー名。インターネット経由でインスタンスにアクセスする場合は、ユーザー名を指定する必要があります。VPC 内でインスタンスにアクセスする場合、インスタンスがサーバーレスインスタンスであり、インスタンスで VPC 内の認証なし機能が無効になっている場合にのみ、ユーザー名を指定する必要があります。 詳細については、「インスタンスのユーザー名とパスワードを取得する」をご参照ください。 |
SecretKey | ijSt8rEc45****** | ApsaraMQ for RocketMQ インスタンスのパスワード。インターネット経由でインスタンスにアクセスする場合は、パスワードを指定する必要があります。VPC 内でインスタンスにアクセスする場合、インスタンスがサーバーレスインスタンスであり、インスタンスで VPC 内の認証なし機能が無効になっている場合にのみ、パスワードを指定する必要があります。 詳細については、「インスタンスのユーザー名とパスワードを取得する」をご参照ください。 |
インターネット経由でサーバーレスインスタンスにアクセスするための説明インターネット経由でサーバーレス インスタンスにアクセスするため
インターネット経由でサーバーレス RocketMQ for ApsaraMQ インスタンスにアクセスしてメッセージを送受信する場合は、メッセージングコードに次の情報を追加する必要があります。
InstanceId を RocketMQ for ApsaraMQ インスタンスの ID に置き換えます。
プロデューサー
producer, err := rmq_client.NewProducer(&rmq_client.Config{
Endpoint: Endpoint,
NameSpace: "InstanceId",
Credentials: &credentials.SessionCredentials{
AccessKey: AccessKey,
AccessSecret: SecretKey,
},
},コンシューマー
simpleConsumer, err := rmq_client.NewSimpleConsumer(&rmq_client.Config{
Endpoint: Endpoint,
ConsumerGroup: ConsumerGroup,
NameSpace: "InstanceId",
Credentials: &credentials.SessionCredentials{
AccessKey: AccessKey,
AccessSecret: SecretKey,
},
},