Cette rubrique présente un exemple de code pour envoyer et recevoir des messages à l'aide du SDK Apache RocketMQ 5.x pour C#.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Une instance ApsaraMQ for RocketMQ dont vous avez obtenu l'endpoint. Pour plus d'informations, consultez Obtenir l'endpoint d'une instance
Un topic et un consumer group créés sur l'instance
Un environnement de développement C# configuré. Pour plus d'informations, consultez Préparation de l'environnement
(Le cas échéant) Le nom d'utilisateur et le mot de passe de l'instance obtenus, si vous accédez à l'instance via Internet ou si l'instance est une instance serverless avec l'authentification gratuite dans les VPC désactivée
Présentation de l'exemple de code
Paramètres
Remplacez les espaces réservés suivants dans tous les exemples de code par vos valeurs réelles :
| Paramètre | Exemple | Description |
|---|---|---|
Endpoint |
rmq-cn-xxx.{regionId}.rmq.aliyuncs.com:8080 |
L'endpoint de l'instance. Utilisez l'endpoint public pour un accès Internet ou l'endpoint VPC pour un accès VPC. Pour plus d'informations, consultez Obtenir l'endpoint d'une instance. |
InstanceId |
rmq-cn-xxx |
L'ID de l'instance ApsaraMQ for RocketMQ. |
topic |
normal_test |
Le topic vers lequel les messages sont envoyés ou depuis lequel ils sont consommés. Créez le topic sur l'instance au préalable. Pour plus d'informations, consultez Créer un topic. |
consumerGroup |
GID_test |
Le consumer group utilisé pour consommer les messages. Créez le consumer group sur l'instance au préalable. Pour plus d'informations, consultez Créer un consumer group. |
AccessKey |
1XVg0hzgKm****** |
Le nom d'utilisateur de l'instance. Requis pour un accès Internet. Pour un accès VPC, requis uniquement lorsque l'instance est serverless et que l'authentification gratuite dans les VPC est désactivée. Pour plus d'informations, consultez Obtenir le nom d'utilisateur et le mot de passe d'une instance. |
SecretKey |
ijSt8rEc45****** |
Le mot de passe de l'instance. Requis dans les mêmes conditions que |
Accéder aux instances serverless via Internet
Pour accéder à une instance ApsaraMQ for RocketMQ serverless via Internet, ajoutez SetNamespace à la configuration du client et définissez-le sur votre ID d'instance :
Remplacez InstanceId par votre ID d'instance réel.
var clientConfig = new ClientConfig.Builder()
.SetEndpoints(endpoints)
.SetNamespace("<your-instance-id>") // Replace with your actual instance ID, for example, rmq-cn-xxx.
.SetCredentialsProvider(credentialsProvider)
.Build();