Ravnur Media Services uses several Azure resources to provision the application. Before an Azure resource can be used, its corresponding resource provider needs to be registered in the Azure subscription. If, for example the resource provider Microsoft.Sql is not registered, the RMS deployment scripts cannot create the Azure SQL database, and the deployment will fail.
Registering resource providers is simple and takes just a few minutes to complete for all resource providers. This is the list of resource providers required by RMS Azure resources:
- Microsoft.KeyVault
- Microsoft.AAD
- Microsoft.CDN
- Microsoft.Storage
- Microsoft.ServiceBus
- Microsoft.ManagedIdentity
- Microsoft.Compute
- Microsoft.OperationalInsights
- Microsoft.Web
- Microsoft.App
- Microsoft.SQL
- Microsoft.ContainerService
- Microsoft.EventGrid
- Microsoft.Network
- Microsoft.ContainerInstance
- Microsoft.CognitiveServices
Registering resource providers
You can register resource providers manually in the Azure portal, or you can use Azure Cloudshell and the script below to register the required resource providers
Manual Resource Provider Registration Procedure
1. Go to the Azure subscription where you will deploy RMS and click on Resource providers in the left sidebar menu.
2. In the search bar, enter the resource provider's name. The list will be filtered and show you the available resource providers and their registration status. Click on the horizontal three dots to open the action menu. Click on Register to register the resource provider if it is not already listed as Registered.
Registering Resource Providers using Cloudshell
1. Open Cloudshell bash terminal
2. Save this script as register_rms_resource_providers_unix.sh or simply paste this script after the prompt
#!/bin/bash # List of resource providers providers=( "Microsoft.Insights" "Microsoft.KeyVault" "Microsoft.AAD" "Microsoft.CDN" "Microsoft.Storage" "Microsoft.ServiceBus" "Microsoft.ManagedIdentity" "Microsoft.Compute" "Microsoft.OperationalInsights" "Microsoft.Web" "Microsoft.App" "Microsoft.SQL" "Microsoft.ContainerService" "Microsoft.EventGrid" "Microsoft.Network" "Microsoft.AlertsManagement"
"Microsoft.ContainerInstance"
"Microsoft.CognitiveServices" ) max_retries=5 retry_interval=10 for (( attempt=1; attempt<=max_retries; 2="2" attempt++="attempt++" ));="));" do="do" echo="echo" -e="-e" \n🔁="\n🔁" attempt="Attempt" $attempt:="$attempt:" checking="Checking" which="which" providers="providers" need="need" registration...="registration..." to_register="()" #="#" skip="Skip" those="those" already="already" registered="registered" for="for" provider="provider" in="in" ${providers[@]}="${providers[@]}" ;=";" status="$(az" show="show" --namespace="--namespace" $provider="$provider" --query="--query" registrationstate="registrationState" -o="-o" tsv="tsv">/dev/null) if [[ "$status" != "Registered" ]]; then echo "$provider is not registered (status: $status)" to_register+=("$provider") else echo "$provider is already registered ✅" fi done if [ ${#to_register[@]} -eq 0 ]; then echo -e "\n✅ All providers are already registered!" break fi echo -e "\n🔧 Registering providers that are not yet registered..." for provider in "${to_register[@]}"; do echo "Registering $provider..." az provider register --namespace "$provider" & done wait echo -e "\n⏳ Waiting $retry_interval seconds before re-checking..." sleep $retry_interval # Update list for next retry providers=("${to_register[@]}") done echo -e "\n📋 Final status of all providers:" for provider in "${providers[@]}"; do status=$(az provider show --namespace "$provider" --query "registrationState" -o tsv 2/dev/null) echo "$provider: $status" done </=max_retries;>
3. Upload the file and run it using these commands
chmod +x register_rms_resource_providers_unix.sh
./register_rms_resource_providers_unix.sh
or paste the script at the prompt and run it. You will see the script response below:
For more information about Azure resource providers, please see this Microsoft Learn article: