Översikt över anpassade Azure-resursproviders

Azure Custom Resource Providers är en utökningsplattform till Azure. Det gör att du kan definiera anpassade API:er som kan användas för att utöka standardupplevelsen i Azure. Den här dokumentationen beskriver:

  • Så här skapar och distribuerar du en anpassad Azure-resursprovider.
  • Så här använder du anpassade Azure-resursprovidrar för att utöka befintliga arbetsflöden.
  • Här hittar du guider och kodexempel för att komma igång.

Diagram över anpassade Azure-resursprovidrar som visar relationen mellan Azure Resource Manager, anpassade resursprovidrar och resurser.

Viktigt

Anpassade resursprovidrar är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Vad kan anpassade resursprovidrar göra

Här följer några exempel på vad du kan uppnå med anpassade Azure-resursprovidrar:

  • Utöka Azure Resource Manager REST API till att omfatta interna och externa tjänster.
  • Aktivera anpassade scenarier ovanpå befintliga Azure-arbetsflöden.
  • Anpassa kontroll och effekt för Azure Resource Manager-mallar.

Vad är en anpassad resursprovider

Azure Custom Resource Providers skapas genom att skapa ett kontrakt mellan Azure och en slutpunkt. Det här kontraktet definierar en lista över nya resurser och åtgärder via en ny resurs, Microsoft.CustomProviders/resourceProviders. Den anpassade resursprovidern exponerar sedan dessa nya API:er i Azure. Azure Custom Resource Providers består av tre delar: anpassad resursprovider, slutpunkter och anpassade resurser.

Så här skapar du anpassade resursprovidrar

Anpassade resursprovidrar är en lista över kontrakt mellan Azure och slutpunkter. De här kontrakten beskriver hur Azure ska interagera med deras slutpunkter. Resursprovidrar fungerar som en proxy och vidarebefordrar begäranden och svar till och från sin angivna slutpunkt. En resursprovider kan ange två typer av kontrakt: resourceTypes och åtgärder. Dessa aktiveras via slutpunktsdefinitioner. En slutpunktsdefinition består av tre fält: namn, routingType och slutpunkt.

Exempelslutpunkt:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
Egenskap Krävs Beskrivning
name Ja Namnet på slutpunktsdefinitionen. Azure exponerar det här namnet via api:et under "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/
resourceProviders/{resourceProviderName}/{endpointDefinitionName}'
routingType Nej Avgör kontraktstypen med slutpunkten. Om det inte anges är standardinställningen "Proxy".
slutpunkt Ja Slutpunkten som begäranden ska dirigeras till. Detta kommer att hantera svaret samt eventuella biverkningar av begäran.

Skapa anpassade resurser

ResourceTypes beskriver nya anpassade resurser som läggs till i Azure. Dessa exponerar grundläggande RESTful CRUD-metoder. Läs mer om att skapa anpassade resurser

Exempel på anpassad resursprovider med resourceTypes:

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

API:er som lagts till i Azure för exemplet ovan:

HttpMethod Exempel-URI Description
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Azure REST API-anropet för att skapa en ny resurs.
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Azure REST API-anropet för att ta bort en befintlig resurs.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
Azure REST API-anropet för att hämta en befintlig resurs.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
Azure REST API-anropet för att hämta listan över befintliga resurser.

Skapa anpassade åtgärder

Åtgärder beskriver nya åtgärder som läggs till i Azure. Dessa kan exponeras ovanpå resursprovidern eller kapslas under en resourceType. Läs mer om att skapa anpassade åtgärder

Exempel på anpassad resursprovider med åtgärder:

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

API:er som lagts till i Azure för exemplet ovan:

HttpMethod Exempel-URI Description
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
Azure REST API-anropet för att aktivera åtgärden.

Söker hjälp

Om du har frågor om utveckling av anpassad Azure-resursprovider kan du prova att fråga på Stack Overflow. En liknande fråga kan redan ha ställts och besvarats, så kontrollera först innan du publicerar. Lägg till taggen azure-custom-providers för att få ett snabbt svar!

Nästa steg

I den här artikeln har du lärt dig om anpassade resursprovidrar. Gå till nästa artikel för att skapa en anpassad resursprovider.