Démarrage rapide : Créer un fournisseur de ressources personnalisées Azure et déployer des ressources personnalisées
Dans ce guide de démarrage rapide, vous allez créer un fournisseur de ressources personnalisé et déployer des ressources personnalisées pour celui-ci. Pour plus d’informations sur les fournisseurs de ressources personnalisés, consultez Présentation des fournisseurs de ressources personnalisés Azure.
Prérequis
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Pour effectuer les étapes mentionnées dans ce guide, vous devez appeler des opérations
REST
. Il existe différentes façons d’envoyer des demandes REST.
Préparez votre environnement pour l’interface Azure CLI.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Les exemples Azure CLI utilisent az rest
pour les demandes REST
. Pour plus d’informations, consultez az rest.
Déployer un fournisseur de ressources personnalisé
Pour configurer le fournisseur de ressources personnalisé, déployez un exemple de modèle sur votre abonnement Azure.
Le modèle déploie les ressources suivantes sur votre abonnement :
- Une application de fonction avec les opérations pour les ressources et les actions.
- Un compte de stockage pour stocker les utilisateurs créés via le fournisseur de ressources personnalisé.
- Un fournisseur de ressources personnalisé qui définit les types de ressources personnalisées et les actions. Il utilise le point de terminaison de l’application de fonction pour envoyer les demandes.
- Une ressource personnalisée provenant du fournisseur de ressources personnalisé.
Pour déployer le fournisseur de ressources personnalisé, utilisez Azure CLI, PowerShell ou le portail Azure.
Cet exemple vous invite à entrer un groupe de ressources, un emplacement et le nom de l’application de fonction du fournisseur. Les noms sont stockés dans des variables qui sont utilisées dans d’autres commandes. Les commandes az group create et az deployment group create déploient les ressources.
read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read
Pour déployer le modèle à partir du portail Azure, sélectionnez le bouton Déployer sur Azure.
Afficher le fournisseur de ressources personnalisé et la ressource
Dans le portail, le fournisseur de ressources personnalisé est un type de ressource masqué. Pour vérifier que le fournisseur de ressources a été déployé, accédez au groupe de ressources et sélectionnez Afficher les types masqués.
Pour voir la ressource personnalisée que vous avez déployée, utilisez l’opération GET
sur votre type de ressource. Le type de ressource Microsoft.CustomProviders/resourceProviders/users
indiqué dans la réponse JSON inclut la ressource créée par le modèle.
GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI
Vous recevez la réponse :
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Appeler une action
Votre fournisseur de ressources personnalisé dispose également d’une action nommée ping
. Le code qui traite la demande est implémenté dans l’application de fonction. L’action ping
répond par un message d’accueil.
Pour envoyer une demande ping
, utilisez l’opération POST
sur votre action.
POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI
Vous recevez la réponse :
{
"message": "hello <function-name>.azurewebsites.net",
"pingcontent": {
"source": "<function-name>.azurewebsites.net"
}
}
Utiliser PUT pour créer une ressource
Dans ce guide de démarrage rapide, le modèle a utilisé le type de ressource Microsoft.CustomProviders/resourceProviders/users
pour déployer une ressource. Vous pouvez également utiliser une opération PUT
pour créer une ressource. Par exemple, si une ressource n’est pas déployée avec le modèle, l’opération PUT
crée une ressource.
Dans cet exemple, étant donné que le modèle a déjà déployé une ressource, l’opération PUT
crée une ressource.
PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview
{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"
Vous recevez la réponse :
{
"id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
Vous pouvez réexécuter l’opération GET
à partir de la section Afficher le fournisseur de ressources personnalisé et la ressource pour afficher les deux ressources qui ont été créées. Cet exemple montre la sortie de la commande Azure CLI.
{
"value": [
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
"name": "ana",
"properties": {
"FullName": "Ana Bowman",
"Location": "Moon",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
},
{
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
"name": "testuser",
"properties": {
"FullName": "Test User",
"Location": "Earth",
"provisioningState": "Succeeded"
},
"type": "Microsoft.CustomProviders/resourceProviders/users"
}
]
}
Commandes de fournisseur de ressources personnalisé
Utilisez les commandes custom-providers pour travailler avec votre fournisseur de ressources personnalisé.
Lister les fournisseurs de ressources personnalisés
Utilisez la commande list
pour afficher tous les fournisseurs de ressources personnalisés disponibles dans un abonnement. La valeur par défaut liste les fournisseurs de ressources personnalisés de l’abonnement actuel, mais vous pouvez également spécifier le paramètre --subscription
. Pour lister un groupe de ressources, utilisez le paramètre --resource-group
.
az custom-providers resource-provider list --subscription $subID
[
{
"actions": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
"location": "eastus",
"name": "<provider-name>",
"provisioningState": "Succeeded",
"resourceGroup": "<rg-name>",
"resourceTypes": [
{
"endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
"tags": {},
"type": "Microsoft.CustomProviders/resourceproviders",
"validations": null
}
]
Afficher les propriétés
Utilisez la commande show
pour afficher les propriétés du fournisseur de ressources personnalisé. Le format de sortie ressemble à la sortie list
.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Créer une nouvelle ressource
Utilisez la commande create
pour créer ou mettre à jour un fournisseur de ressources personnalisé. Cet exemple met à jour actions
et resourceTypes
.
az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "ping",
"routingType": "Proxy"
}
],
"resourceTypes": [
{
"endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
"name": "users",
"routingType": "Proxy, Cache"
}
],
Mettre à jour les étiquettes du fournisseur
La commande update
met uniquement à jour les étiquettes d’un fournisseur de ressources personnalisé. Dans le portail Azure, le service d’application du fournisseur de ressources personnalisé affiche l’étiquette.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
"new": "tag"
},
Supprimer un fournisseur de ressources personnalisé
La commande delete
vous invite à supprimer uniquement le fournisseur de ressources personnalisé. Le compte de stockage, le service d’application et le plan de service d’application ne sont pas supprimés. Une fois le fournisseur supprimé, vous êtes redirigé vers une invite de commandes.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Nettoyer les ressources
Si vous avez terminé avec les ressources créées dans cet article, vous pouvez supprimer le groupe de ressources. Lorsque vous supprimez un groupe de ressources, toutes les ressources de ce groupe sont supprimées.
az group delete --resource-group $rgName
Étapes suivantes
Pour obtenir une présentation des fournisseurs de ressources personnalisés, consultez l’article suivant :