Creare e usare un provider di risorse personalizzato
Un provider di risorse personalizzato è un contratto tra Azure e un endpoint. Con i provider di risorse personalizzati, è possibile cambiare i flussi di lavoro in Azure. Questa esercitazione illustra il processo di creazione di un provider di risorse personalizzato. Se non si ha familiarità con i provider di risorse personalizzati di Azure, vedere la panoramica dei provider di risorse personalizzati di Azure.
Creare un provider di risorse personalizzato
Nota
Questa esercitazione non mostra come creare un endpoint. Se non è disponibile un endpoint RESTFUL, seguire l'esercitazione sulla creazione di endpoint RESTful, che rappresenta la base per l'esercitazione corrente.
Dopo aver creato un endpoint, è possibile creare un provider di risorse personalizzato per generare un contratto tra il provider e l'endpoint. Con un provider di risorse personalizzato, è possibile specificare un elenco di definizioni di endpoint:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Proprietà | Richiesto | Descrizione |
---|---|---|
name | Sì | Nome della definizione dell'endpoint. Azure espone questo nome tramite l'API in /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | No | Il tipo di contratto dell'endpoint. Se non si specifica un valore, viene usata l'impostazione predefinita "Proxy". |
endpoint | Sì | Endpoint a cui indirizzare le richieste. Gestisce la risposta, nonché eventuali effetti collaterali della richiesta. |
Il valore di endpoint è l'URL del trigger dell'app per le funzioni di Azure. I segnaposto <yourapp>
, <funcname>
e <functionkey>
devono essere sostituiti con i valori dell'app per le funzioni creata.
Definire azioni e risorse personalizzate
Il provider di risorse personalizzato contiene un elenco di definizioni di endpoint modellate nelle proprietà actions e resourceTypes. La proprietà actions corrisponde alle azioni personalizzate esposte dal provider di risorse personalizzato, mentre la proprietà resourceTypes rappresenta le risorse personalizzate. In questa esercitazione il provider di risorse personalizzato include una proprietà actions denominata myCustomAction
e una proprietà resourceTypes denominata 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"
}
Distribuire il provider di risorse personalizzato
Nota
È necessario sostituire i valori di endpoint con l'URL del trigger dell'app per le funzioni creata nell'esercitazione precedente.
Per distribuire il provider di risorse personalizzato descritto in precedenza, è possibile usare un modello di 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>"
}
]
}
}
]
}
Usare azioni e risorse personalizzate
Dopo aver creato un provider di risorse personalizzato, è possibile usare le nuove API di Azure. Le sezioni seguenti illustrano come chiamare e usare un provider di risorse personalizzato.
Azioni personalizzate
Interfaccia della riga di comando di Azure
Nota
È necessario sostituire i segnaposto {subscriptionId}
e {resourceGroupName}
con la sottoscrizione e il gruppo di risorse in cui è stato distribuito il provider di risorse personalizzato.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parametro | Richiesto | Descrizione |
---|---|---|
azione | Sì | Il nome dell'azione definita nel provider di risorse personalizzato. |
ids | Sì | ID risorsa del provider di risorse personalizzato. |
request-body | No | Il corpo della richiesta che verrà inviato all'endpoint. |
Risorse personalizzate
Nota
È necessario sostituire i segnaposto {subscriptionId}
e {resourceGroupName}
con la sottoscrizione e il gruppo di risorse in cui è stato distribuito il provider di risorse personalizzato.
Creare una risorsa personalizzata
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
--properties
'{
"location": "eastus",
"properties": {
"hello" : "world"
}
}'
Parametro | Richiesto | Descrizione |
---|---|---|
is-full-object | Sì | Indica se l'oggetto proprietà include altre opzioni, come posizione, tag, SKU o piano. |
id | Sì | ID della risorsa personalizzata. Questo ID è un'estensione dell'ID risorsa del provider di risorse personalizzato. |
properties | Sì | Il corpo della richiesta che verrà inviato all'endpoint. |
Eliminare una risorsa personalizzata
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametro | Richiesto | Descrizione |
---|---|---|
id | Sì | ID della risorsa personalizzata. Questo ID è un'estensione dell'ID risorsa del provider di risorse personalizzato. |
Recuperare una risorsa personalizzata
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametro | Richiesto | Descrizione |
---|---|---|
id | Sì | ID della risorsa personalizzata. Questo ID è un'estensione dell'ID risorsa del provider di risorse personalizzato. |
Nota
Dopo aver completato la distribuzione e aver usato il provider di risorse personalizzato, ricordarsi di pulire tutte le risorse create, inclusa l'app per le funzioni di Azure.
Passaggi successivi
In questo articolo sono state fornite informazioni sui provider personalizzati. Per altre informazioni, vedi: