/ / Cree el tema ServiceBus si aún no existe - c #, azureservicebus

Crear el tema ServiceBus si no existe ya - c #, azureservicebus

Microsoft ha actualizado su biblioteca cliente .NET ServiceBus, y su documentación está actualmente dividida entre las antiguas WindowsAzure.ServiceBus paquete y el nuevo Microsoft.Azure.ServiceBus paquete. Me gusta el nuevo paquete, ya que es mucho más limpio y tiene menos dependencias. En el paquete anterior, teníamos métodos como los siguientes:

if (!namespaceManager.TopicExists(topicName))
{
var topic = new TopicDescription(topicName);
namespaceManager.CreateTopic(topic);
}

La documentación para crear un tema mediante programación todavía usa el paquete anterior, con un código como el anterior. los NamespaceManager clase no está disponible en el nuevo paquete, entonces ¿cómo puedo lograr el equivalente de esto?

Respuestas

3 para la respuesta № 1

En el Github Repo azul-servicio-bus-dotnet, explican cómo administrar las entidades de Service Bus:

Hay una muestra sobre cómo usar esta biblioteca:

necesitas instalar estos paquetes:

  • Microsoft.Azure.Management.ServiceBus
  • Microsoft.Azure.Management.ResourceManager
  • Microsoft.IdentityModel.Clients.ActiveDirectory

La parte interesante para ti si quieres crear un tema. Tenga en cuenta que no necesita verificar si el tema existe. El administrador de recursos de Azure solo actualiza el recurso si ya existe.

// On you"ve got the ServiceBusManagementClient
ServiceBusManagementClient sbClient = ...

sbClient.Topics.CreateOrUpdateAsync("resource group name", "namespace name", "topic name",
new Microsoft.Azure.Management.ServiceBus.Models.SBTopic());

1 para la respuesta № 2

También hay una opción futura si puede esperar: NamespaceManager como un paquete independiente descrito en siguiente ejemplar. los opciones que apoyará se enumeran en el problema también.

  • Get - limited to exists check y devuelve los metadatos
  • GetRuntimeInformation (Obtiene todos los recuentos y el último estado, recuento aproximado, preciso dentro de los 10 s)
  • GetQueueNames, GetTopicNames (nombres de entidades de lista)
  • Crear entidad
  • Eliminar entidad
  • Actualización (Necesita detalles sobre qué metadatos actualizar, se puede hacer durante la implementación)
  • FindOrCreate (Upsert - queue no existe crearlo)
  • UpdateOrCreate (Upsert)

Si desea la facilidad de NamespaceManager, entonces vale la pena seguir el problema.