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

ApsaraMQ for RocketMQ:サンプルコード

最終更新日:Mar 06, 2025

このトピックでは、Apache RocketMQ SDK for Go を使用してメッセージを送受信するためのサンプルコードについて説明します。

メッセージタイプ

メッセージ送信のサンプルコード

メッセージ受信のサンプルコード (SimpleConsumer)

標準メッセージ

ExampleSimpleConsumer.go

順序メッセージ

ExampleProducerWithFifoMessage.go

スケジュールメッセージと遅延メッセージ

ExampleProducerDelayMessage.go

トランザクションメッセージ

ExampleProducerWithTransactionalMessage.go

パラメータ

パラメータ

説明

Endpoint

rmq-cn-xxx.{regionId}.rmq.aliyuncs.com:8080

RocketMQ for ApsaraMQ インスタンスのエンドポイント。エンドポイントの取得方法については、「インスタンスのエンドポイントを取得する」をご参照ください。

  • インターネット経由でインスタンスにアクセスする場合は、パブリックエンドポイントを指定します。

  • VPC 内でインスタンスにアクセスする場合は、VPC エンドポイントを指定します。

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,
	},
},