I\'ve been working with Azure Notification Hubs for awhile. However, I created a new Notification Hub for a new project and I\'ve noticed some very odd behavior. Whenever I cr
The documentation is outdated, I had to open a ticket with Microsoft to be able to do this in 2020.
I created a console app and added the following nuget packages -
https://www.nuget.org/packages/Microsoft.Azure.Management.NotificationHubs https://www.nuget.org/packages/Microsoft.Azure.Management.ResourceManager.Fluent/
Install-Package Microsoft.Azure.Management.NotificationHubs -Version 2.3.2-preview
Install-Package Microsoft.Azure.Management.ResourceManager.Fluent -Version 1.34.0
Then I wrote this method -
private async Task SetNotificationHubRegistrationTimeToLive()
{
// Login to Azure using az login
// az account set -s to set the proper subscription
// Get credentials: "az ad sp create-for-rbac --sdk-auth"
// See https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest and https://docs.microsoft.com/en-us/azure/cloud-shell/quickstart
var clientId = "ec1b...";
var clientSecret = "oJJ6...";
var tenantId = "2b86...";
var credentials =
SdkContext
.AzureCredentialsFactory
.FromServicePrincipal(
clientId,
clientSecret,
tenantId,
AzureEnvironment.AzureGlobalCloud);
var client = new NotificationHubsManagementClient(credentials)
{
SubscriptionId = "yoursubscriptionid"
};
var resourceGroupName = "yourgroup";
var namespaceName = "yournamespace"; // this should NOT be the namespace full name beam-dev-notification-hub-namespace-free.servicebus.windows.net
var notificationHubName = "yournotificationhub";
var timeSpan = new TimeSpan(days: 90, hours: 0, minutes: 0, seconds: 0);
var registrationTtlTimeSpanString = timeSpan.ToString();
var notificationHub = await client.NotificationHubs.GetAsync(resourceGroupName, namespaceName, notificationHubName);
await client
.NotificationHubs
.CreateOrUpdateAsync(
resourceGroupName,
namespaceName,
notificationHubName,
new NotificationHubCreateOrUpdateParameters(notificationHub.Location)
{
RegistrationTtl = registrationTtlTimeSpanString
});
}
You will then see in https://portal.azure.com/ in your notification hub properties -