Condividi tramite


Panoramica dell'onboarding delle risorse dei provider di risorse personalizzati di Azure

L'onboarding delle risorse dei provider di risorse personalizzati di Azure è un modello di estendibilità per i tipi di risorse di Azure. Consente di applicare operazioni o gestione tra le risorse di Azure esistenti su larga scala. Per altre informazioni, vedere Come i provider di risorse personalizzati di Azure possono estendere Azure. L'articolo illustra:

  • Cosa può fare l'onboarding delle risorse.
  • Nozioni di base sull’onboarding delle risorse e su come usarlo.
  • Dove trovare guide ed esempi di codice per iniziare.

Importante

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

Cosa può fare l'onboarding delle risorse?

Analogamente alle risorse personalizzate dei provider di risorse personalizzate di Azure, l'onboarding delle risorse definisce un contratto che userà un proxy per le richieste di "onboarding" a un endpoint. A differenza delle risorse personalizzate, l'onboarding delle risorse non crea un nuovo tipo di risorsa. Consente invece l'estensione dei tipi di risorse esistenti. E l'onboarding delle risorse funziona con Criteri di Azure, in modo che la gestione e la configurazione delle risorse possano essere eseguite su larga scala. Alcuni esempi di flussi di lavoro di onboarding delle risorse:

  • Installare e gestire nelle estensioni della macchina virtuale.
  • Caricare e configurare le impostazioni predefinite per gli account di archiviazione di Azure.
  • Abilitare le impostazioni di diagnostica di base su larga scala.

Nozioni di base sul caricamento delle risorse

È possibile configurare l'onboarding delle risorse tramite provider di risorse personalizzati di Azure usando i tipi di risorse Microsoft.CustomProviders/resourceProviders e Microsoft.CustomProviders/associations. Per abilitare l'onboarding delle risorse per un provider di risorse personalizzato, durante il processo di configurazione creare un resourceType denominato "associazioni" con un routingType che include "Estensione". Microsoft.CustomProviders/associations e Microsoft.CustomProviders/resourceProviders non devono appartenere allo stesso gruppo di risorse.

Ecco un provider di risorse personalizzato di Azure di esempio:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "associations",
        "routingType": "Proxy,Cache,Extension",
        "endpoint": "https://microsoft.com/"
      }
    ]
  },
  "location": "eastus"
}
Proprietà Obbligatorio? Descrizione
name Nome della definizione dell'endpoint. Per l'onboarding delle risorse, il nome deve essere "associazioni".
routingType Determina il tipo di contratto con l'endpoint. Per l'onboarding delle risorse, i routingType validi sono "Proxy, Cache, Extension" e "Webhook, Cache,Extension".
endpoint Endpoint a cui indirizzare le richieste. Questa operazione gestirà la risposta e gli eventuali effetti collaterali della richiesta.

Dopo aver creato il provider di risorse personalizzato con il tipo di risorsa associazioni, è possibile usare Microsoft.CustomProviders/associations. Microsoft.CustomProviders/associations è una risorsa di estensione che può estendere qualsiasi altra risorsa di Azure. Quando viene creata un'istanza di Microsoft.CustomProviders/associations, verrà usata una proprietà targetResourceId, che deve essere un ID risorsa Microsoft.CustomProviders/resourceProviders o Microsoft.Solutions/applications. In questi casi, la richiesta verrà inoltrata al tipo di risorsa associazioni nell'istanza Microsoft.CustomProviders/resourceProviders creata.

Nota

Se viene specificato un ID risorsa Microsoft.Solutions/applications come targetResourceId, è necessario che nel gruppo di risorse gestito sia distribuito un microsoft.CustomProviders/resourceProviders con il nome "public".

Associazione di provider di risorse personalizzati di Azure di esempio:

{
  "properties": {
    "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
    ...
  }
}
Proprietà Obbligatorio? Descrizione
targetResourceId ID risorsa di Microsoft.CustomProviders/resourceProviders o Microsoft.Solutions/applications.

Come usare l'onboarding delle risorse

L'onboarding delle risorse funziona estendendo altre risorse con la risorsa di estensione Microsoft.CustomProviders/associations. Nell'esempio seguente viene effettuata la richiesta per una macchina virtuale, ma è possibile estendere qualsiasi risorsa.

Prima di tutto, è necessario creare una risorsa provider di risorse personalizzata con un tipo di risorsa associazioni. Verrà dichiarato l'URL di callback che verrà usato quando viene creata una risorsa Microsoft.CustomProviders/associations corrispondente, destinata al provider di risorse personalizzato.

Esempio di richiesta di creazione di Microsoft.CustomProviders/resourceProviders:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json

{
  "properties": {
    "resourceTypes": [
      {
        "name": "associations",
        "routingType": "Proxy,Cache,Extension",
        "endpoint": "https://{myCustomEndpoint}/"
      }
    ]
  },
  "location": "{location}"
}

Dopo aver creato il provider di risorse personalizzato, è possibile specificare come destinazione altre risorse e applicare gli effetti collaterali del provider di risorse personalizzato.

Esempio di richiesta di creazione di Microsoft.CustomProviders/associations:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json

{
  "properties": {
    "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
    "myProperty1": "myPropertyValue1",
    "myProperty2": {
        "myProperty3" : "myPropertyValue3"
    }
  }
}

Questa richiesta verrà quindi inoltrata all'endpoint specificato nel provider di risorse personalizzato creato, a cui fa riferimento targetResourceId in questo formato:

PUT https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/associations/{associationName}
X-MS-CustomProviders-ExtensionPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}
X-MS-CustomProviders-ExtendedResource: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}

{
  "properties": {
    "myProperty1": "myPropertyValue1",
    "myProperty2": {
        "myProperty3" : "myPropertyValue3"
    }
  }
}

L'endpoint deve rispondere con un'applicazione/json Content-Type e un corpo di risposta JSON valido. I campi restituiti nell'oggetto proprietà del codice JSON verranno aggiunti alla risposta restituita dall'associazione.

Visualizzazione delle informazioni della Guida

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

Passaggi successivi

In questo articolo sono state fornite informazioni sui provider personalizzati. Per altre informazioni, vedere questi articoli: