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
LOG_FILE="provider_registration_$(date +%Y%m%d_%H%M%S).log"
exec > >(tee -a "$LOG_FILE") 2>&1
echo "🔧 Logging to $LOG_FILE"
# 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"
)
max_retries=5
retry_interval=10
for (( attempt=1; attempt<=max_retries; attempt++ )); do
echo -e "\n🔁 Attempt $attempt: Checking which providers need registration..."
to_register=()
# Skip those already registered
for provider in "${providers[@]}"; do
status=$(az provider show --namespace "$provider" --query "registrationState" -o tsv 2>/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
3. Upload the file and run it using these commands
chmod +x register_rms_resource_providers_unix.sh
./register_rms_resource_providers_unix.shor 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: