Este tópico apresenta exemplos de código para enviar e receber mensagens com o Apache RocketMQ 5.x SDK for C#.
Pré-requisitos
Antes de começar, verifique se você tem:
Uma instância do ApsaraMQ for RocketMQ com o endpoint obtido. Para mais informações, consulte Obter o endpoint de uma instância.
Um tópico e um grupo de consumidores criados na instância.
Um ambiente de desenvolvimento C# configurado. Para mais informações, consulte Preparação do ambiente.
(Condicional) O nome de usuário e a senha da instância obtidos, caso o acesso à instância ocorra pela Internet ou se a instância for serverless com a autenticação livre em VPCs desativada.
Visão geral dos códigos de exemplo
|
Tipo de mensagem |
Exemplo de produtor |
Exemplo de consumidor |
Parâmetros
Substitua os espaços reservados abaixo em todos os códigos de exemplo pelos seus valores reais:
|
Parâmetro |
Exemplo |
Descrição |
|
|
|
Endpoint da instância. Use o endpoint público para acesso via Internet ou o endpoint de VPC para acesso via VPC. Para mais informações, consulte Obter o endpoint de uma instância. |
|
|
|
ID da instância do ApsaraMQ for RocketMQ. |
|
|
|
Tópico de destino para envio ou origem para consumo de mensagens. Crie o tópico na instância previamente. Para mais informações, consulte Criar um tópico. |
|
|
|
Grupo de consumidores para processar as mensagens. Crie o grupo de consumidores na instância previamente. Para mais informações, consulte Criar um grupo de consumidores. |
|
|
|
Nome de usuário da instância. Obrigatório para acesso via Internet. Para acesso via VPC, é necessário apenas quando a instância é serverless e a autenticação livre em VPCs está desativada. Para mais informações, consulte Obter o nome de usuário e a senha de uma instância. |
|
|
|
Senha da instância. Necessária nas mesmas condições do |
Acesso a instâncias serverless pela Internet
Para acessar uma instância serverless do ApsaraMQ for RocketMQ pela Internet, adicione SetNamespace à configuração do cliente e defina-o com o ID da sua instância:
Substitua InstanceId pelo ID real da sua instância.
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();