Panoramica di provider di risorse personalizzate di Azure

Provider di risorse personalizzate di Azure è una piattaforma di estendibilità in Azure. Consente di definire API personalizzate che possono essere usate per arricchire l'esperienza predefinita di Azure. Questa documentazione descrive:

  • Come compilare e distribuire un provider di risorse personalizzate di Azure.
  • Come usare i provider di risorse personalizzate di Azure per estendere i flussi di lavoro esistenti.
  • Dove trovare guide ed esempi di codice per iniziare.

Diagram of Azure Custom Resource Providers, displaying the relationship between Azure Resource Manager, custom resource providers, and resources.

Importante

Provider di risorse personalizzate è attualmente disponibile in anteprima pubblica. Questa versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

Operazioni che possono essere eseguite dai provider di risorse personalizzate

Ecco alcuni esempi di ciò che è possibile ottenere con i provider di risorse personalizzate di Azure:

  • Estendere l'API REST di Azure Resource Manager per includere servizi interni ed esterni.
  • Abilitare scenari personalizzati oltre ai flussi di lavoro di Azure esistenti.
  • Personalizzare il controllo e l'effetto dei modelli di Azure Resource Manager.

Cosa è un provider di risorse personalizzate

I provider di risorse personalizzate di Azure vengono creati creando un contratto tra Azure e un endpoint. Questo contratto definisce un elenco di nuove risorse e azioni tramite una nuova risorsa, Microsoft.CustomProviders/resourceProviders. Il provider di risorse personalizzate esporrà quindi queste nuove API in Azure. I provider di risorse personalizzate di Azure sono costituiti da tre parti: provider di risorse personalizzate, endpointe risorse personalizzate.

Come creare provider di risorse personalizzate

I provider di risorse personalizzate sono un elenco di contratti tra Azure ed endpoint. Questi contratti descrivono come Azure deve interagire con i propri endpoint. I provider di risorse agiscono come un proxy e inoltrano richieste e risposte all'endpoint specificato. Un provider di risorse può specificare due tipi di contratti: resourceTypes e azioni. Queste impostazioni vengono abilitate tramite le definizioni degli endpoint. Una definizione di endpoint è costituita da tre campi: nome, routingTypeed endpoint.

Endpoint di esempio:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
Proprietà Richiesto Descrizione
name yes Nome della definizione dell'endpoint. Azure esporrà tale nome tramite l'API in '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/
resourceProviders/{resourceProviderName}/{endpointDefinitionName}'
routingType no Determina il tipo di contratto con l'endpoint. Se non viene specificato, per impostazione predefinita sarà "Proxy".
endpoint yes Endpoint a cui indirizzare le richieste. Gestirà la risposta, nonché eventuali effetti collaterali della richiesta.

Creazione di risorse personalizzate

ResourceTypes descrive le nuove risorse personalizzate aggiunte ad Azure. Questi espongono metodi CRUD RESTful di base. Vedere Ulteriori informazioni sulla creazione di risorse personalizzate

Provider di risorse personalizzate di esempio con resourceTypes:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

API aggiunte ad Azure per l'esempio precedente:

HttpMethod URI di esempio Descrizione
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Chiamata all'API REST di Azure per creare una nuova risorsa.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Chiamata all'API REST di Azure per eliminare una risorsa esistente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Chiamata all'API REST di Azure per recuperare una risorsa esistente.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
Chiamata all'API REST di Azure per recuperare l'elenco delle risorse esistenti.

Creazione di azioni personalizzate

Azioni descrive le nuove azioni aggiunte ad Azure. Possono essere esposte sopra il provider di risorse o annidate in un resourceType. Vedere Ulteriori informazioni sulla creazione di azioni personalizzate

Provider di risorse personalizzate di esempio con azioni:

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

API aggiunte ad Azure per l'esempio precedente:

HttpMethod URI di esempio Descrizione
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
Chiamata all'API REST di Azure per attivare l'azione.

Assistenza

Per domande sullo sviluppo di provider di risorse personalizzate di Azure, provare a porre domande su Stack Overflow. È possibile che siano già state fornite risposte a domande simili, quindi verificare prima di pubblicarle. Aggiungere il tag azure-custom-providers per ottenere una risposta rapida.

Passaggi successivi

In questo articolo sono state fornite informazioni sui provider personalizzate. Andare all'articolo successivo per creare un provider di risorse personalizzate.