public async Task GetUpdateDeleteTopicAndSubscription() { string topicName = Guid.NewGuid().ToString("D").Substring(0, 8); string subscriptionName = Guid.NewGuid().ToString("D").Substring(0, 8); string connectionString = TestEnvironment.ServiceBusConnectionString; var client = new ServiceBusAdministrationClient(connectionString); var topicOptions = new CreateTopicOptions(topicName); var subscriptionOptions = new CreateSubscriptionOptions(topicName, subscriptionName); await client.CreateTopicAsync(topicOptions); await client.CreateSubscriptionAsync(subscriptionOptions); #region Snippet:GetTopic TopicProperties topic = await client.GetTopicAsync(topicName); #endregion #region Snippet:GetSubscription SubscriptionProperties subscription = await client.GetSubscriptionAsync(topicName, subscriptionName); #endregion #region Snippet:UpdateTopic topic.UserMetadata = "some metadata"; TopicProperties updatedTopic = await client.UpdateTopicAsync(topic); #endregion Assert.AreEqual("some metadata", updatedTopic.UserMetadata); #region Snippet:UpdateSubscription subscription.UserMetadata = "some metadata"; SubscriptionProperties updatedSubscription = await client.UpdateSubscriptionAsync(subscription); #endregion Assert.AreEqual("some metadata", updatedSubscription.UserMetadata); // need to delete the subscription before the topic, as deleting // the topic would automatically delete the subscription #region Snippet:DeleteSubscription await client.DeleteSubscriptionAsync(topicName, subscriptionName); #endregion Assert.That( async() => await client.GetSubscriptionAsync(topicName, subscriptionName), Throws.InstanceOf <ServiceBusException>().And.Property(nameof(ServiceBusException.Reason)).EqualTo(ServiceBusFailureReason.MessagingEntityNotFound)); #region Snippet:DeleteTopic await client.DeleteTopicAsync(topicName); #endregion Assert.That( async() => await client.GetTopicAsync(topicName), Throws.InstanceOf <ServiceBusException>().And.Property(nameof(ServiceBusException.Reason)).EqualTo(ServiceBusFailureReason.MessagingEntityNotFound)); }
public async Task <bool> CheckHealthAsync() { try { var subscription = await _serviceBusAdminClient.GetSubscriptionAsync(_createSubscriptionOptions.TopicName, _createSubscriptionOptions.SubscriptionName); return(subscription.Value != null); } catch { return(false); } }
protected async Task CreateSubscriptionAsync(string subscription) { SubscriptionProperties existingSubscription = null; try { existingSubscription = await _serviceBusAdminClient.GetSubscriptionAsync(_topic, subscription); } catch {} if (existingSubscription is null) { await _serviceBusAdminClient.CreateSubscriptionAsync(_topic, subscription); } }
public static async Task <SubscriptionProperties> GetSubscriptionAsync(string topicName, string connectionString, string subscriptionName) { try { var client = new ServiceBusAdministrationClient(connectionString); return(await client.GetSubscriptionAsync(topicName, subscriptionName)); } catch (Exception ex) { return(null); } }
/// <summary> /// Get a Subscription. /// </summary> /// <param name="topicName">The name of the Topic.</param> /// <param name="subscriptionName">The name of the Subscription.</param> /// <param name="cancellationToken">The Cancellation Token.</param> public async Task <SubscriptionProperties> GetSubscriptionAsync(string topicName, string subscriptionName, CancellationToken cancellationToken = default) { return(await _administrationClient.GetSubscriptionAsync(topicName, subscriptionName, cancellationToken)); }