Créer et utiliser un fournisseur de ressources personnalisé
Un fournisseur de ressources personnalisées implique qu’un contrat soit passé entre Azure et un point de terminaison. Les fournisseurs de ressources personnalisés vous permettent de modifier des workflows dans Azure. Ce tutoriel montre comment créer un fournisseur de ressources personnalisé. Si vous ne savez pas encore ce qu’est un fournisseur de ressources personnalisé Azure, consultez la présentation des fournisseurs de ressources personnalisés Azure.
Créer un fournisseur de ressources personnalisé
Notes
Ce tutoriel n’explique pas comment créer un point de terminaison. Si vous ne disposez pas d’un point de terminaison RESTful, suivez le tutoriel sur la création de points de terminaison RESTful, qui constitue la base du tutoriel actuel.
Lorsque vous avez créé un point de terminaison, vous pouvez créer un fournisseur de ressources personnalisé afin de générer un contrat entre le fournisseur et le point de terminaison. Un fournisseur de ressources personnalisé vous permet de spécifier une liste de définitions de point de terminaison :
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Propriété | Obligatoire | Description |
---|---|---|
name | Oui | Nom de la définition de point de terminaison. Azure expose ce nom via son API sous /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | Non | Type de contrat du point de terminaison. Si aucune valeur n’est spécifiée, la valeur par défaut est « proxy ». |
endpoint | Oui | Point de terminaison vers lequel router les requêtes. Ce point de terminaison gère la réponse, ainsi que tous les effets secondaires de la requête. |
La valeur de endpoint est l’URL du déclencheur de l’application de fonction Azure. Les espaces réservés <yourapp>
, <funcname>
et <functionkey>
doivent être remplacés par les valeurs de l’application de fonction que vous avez créée.
Définir des actions et des ressources personnalisées
Dans le fournisseur de ressources personnalisé, une liste de définitions de points de terminaison modélisée se trouve sous les propriétés actions et resourceTypes. La propriété actions est mappée aux actions personnalisées qui sont exposées par le fournisseur de ressources personnalisé, et la propriété resourceTypes correspond aux ressources personnalisées. Dans ce tutoriel, le fournisseur de ressources personnalisé comprend une propriété actions nommée myCustomAction
, et une propriété resourceTypes nommée myCustomResources
.
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
},
"location": "eastus"
}
Déployer le fournisseur de ressources personnalisé
Notes
Vous devez remplacer les valeurs endpoint par l’URL de déclencheur de l’application de fonction créée précédemment dans ce tutoriel.
Vous pouvez déployer le fournisseur de ressources personnalisé ci-dessus à l’aide d’un modèle Azure Resource Manager :
{
"$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.CustomProviders/resourceProviders",
"name": "myCustomProvider",
"apiVersion": "2018-09-01-preview",
"location": "eastus",
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
}
}
]
}
Utiliser des actions et des ressources personnalisées
Après avoir créé un fournisseur de ressources personnalisé, vous pouvez utiliser les nouvelles API Azure. Les sections suivantes expliquent comment appeler et utiliser un fournisseur de ressources personnalisé.
Actions personnalisées
Azure CLI
Notes
Vous devez remplacer les espaces réservés {subscriptionId}
et {resourceGroupName}
par l’abonnement et le groupe de ressources dans lesquels vous avez déployé le fournisseur de ressources personnalisé.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Paramètre | Obligatoire | Description |
---|---|---|
action | Oui | Nom de l’action définie dans le fournisseur de ressources personnalisé. |
ids | Oui | ID de ressource du fournisseur de ressources personnalisé. |
request-body | Non | Corps de la requête qui sera envoyé au point de terminaison. |
Ressources personnalisées
Notes
Vous devez remplacer les espaces réservés {subscriptionId}
et {resourceGroupName}
par l’abonnement et le groupe de ressources dans lesquels vous avez déployé le fournisseur de ressources personnalisé.
Créer une ressource personnalisée
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
--properties
'{
"location": "eastus",
"properties": {
"hello" : "world"
}
}'
Paramètre | Obligatoire | Description |
---|---|---|
is-full-object | Oui | Indique si l’objet properties inclut d’autres options telles que l’emplacement, les étiquettes, une référence SKU ou un plan. |
id | Oui | ID de ressource de la ressource personnalisée. Cet ID est une extension de l’ID de ressource du fournisseur de ressources personnalisé. |
properties | Oui | Corps de la requête qui sera envoyé au point de terminaison. |
Supprimer une ressource personnalisée
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Paramètre | Obligatoire | Description |
---|---|---|
id | Oui | ID de ressource de la ressource personnalisée. Cet ID est une extension de l’ID de ressource du fournisseur de ressources personnalisé. |
Récupérer une ressource personnalisée
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Paramètre | Obligatoire | Description |
---|---|---|
id | Oui | ID de ressource de la ressource personnalisée. Cet ID est une extension de l’ID de ressource du fournisseur de ressources personnalisé. |
Notes
Une fois que vous en avez terminé avec le déploiement et l’utilisation du fournisseur de ressources personnalisé, pensez à nettoyer les ressources créées, y compris l’application de fonction Azure.
Étapes suivantes
Dans cet article, vous avez découvert les fournisseurs de ressources personnalisés. Pour plus d'informations, consultez les pages suivantes :