Översikt över resursregistrering för anpassade Resursproviders i Azure
Azure Custom Resource Providers-resursregistrering är en utökningsmodell för Azure-resurstyper. Det gör att du kan tillämpa åtgärder eller hantering för befintliga Azure-resurser i stor skala. Mer information finns i Så här kan anpassade Azure-resursproviders utöka Azure. I den här artikeln beskrivs:
- Vad resursregistrering kan göra.
- Grundläggande om resursregistrering och hur du använder den.
- Här hittar du guider och kodexempel för att komma igång.
Viktigt
Anpassade resursprovidrar finns för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och vi rekommenderar den inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan ha begränsade funktioner. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Vad kan resursregistrering göra?
På samma sätt som anpassade resursproviders i Azure definierar resursregistrering ett kontrakt som proxy för "onboarding"-begäranden till en slutpunkt. Till skillnad från anpassade resurser skapar inte resursregistrering en ny resurstyp. I stället tillåts tillägget av befintliga resurstyper. Och resursregistrering fungerar med Azure Policy, så hantering och konfiguration av resurser kan göras i stor skala. Några exempel på arbetsflöden för resursregistrering:
- Installera och hantera på tillägg för virtuella datorer.
- Ladda upp och konfigurera standardinställningar för Azure Storage-konton.
- Aktivera diagnostikinställningar för baslinjen i stor skala.
Grundläggande om resursregistrering
Du konfigurerar resursregistrering via Anpassade Resursprovidrar i Azure med hjälp av resurstyperna Microsoft.CustomProviders/resourceProviders och Microsoft.CustomProviders/associations. Om du vill aktivera resursregistrering för en anpassad resursprovider skapar du under konfigurationsprocessen en resourceType med namnet "associations" med en routingType som innehåller "Extension". Microsoft.CustomProviders/associations och Microsoft.CustomProviders/resourceProviders behöver inte tillhöra samma resursgrupp.
Här är ett exempel på en anpassad Azure-resursprovider:
{
"properties": {
"resourceTypes": [
{
"name": "associations",
"routingType": "Proxy,Cache,Extension",
"endpoint": "https://microsoft.com/"
}
]
},
"location": "eastus"
}
Egenskap | Obligatoriskt? | Beskrivning |
---|---|---|
name | Yes | Namnet på slutpunktsdefinitionen. För resursregistrering måste namnet vara "associationer". |
routingType | Yes | Avgör typen av kontrakt med slutpunkten. För resursregistrering är giltiga routingTypes "Proxy,Cache,Extension" och "Webhook,Cache,Extension". |
slutpunkt | Yes | Slutpunkten som begäranden ska dirigeras till. Detta kommer att hantera svaret och eventuella biverkningar av begäran. |
När du har skapat den anpassade resursprovidern med resurstypen associationer kan du använda Microsoft.CustomProviders/associations som mål. Microsoft.CustomProviders/associations är en tilläggsresurs som kan utöka alla andra Azure-resurser. När en instans av Microsoft.CustomProviders/associations skapas tar den ett egenskapsmålResourceId, som ska vara ett giltigt resurs-ID för Microsoft.CustomProviders/resourceProviders eller Microsoft.Solutions/applications. I dessa fall vidarebefordras begäran till resurstypen associationer på den Microsoft.CustomProviders/resourceProviders-instans som du skapade.
Anteckning
Om ett resurs-ID för Microsoft.Solutions/applications anges som targetResourceId måste ett Microsoft.CustomProviders/resourceProviders distribueras i den hanterade resursgruppen med namnet "public".
Exempelassociation för anpassade Azure-resursproviders:
{
"properties": {
"targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
...
}
}
Egenskap | Obligatoriskt? | Beskrivning |
---|---|---|
targetResourceId | Yes | Resurs-ID för Microsoft.CustomProviders/resourceProviders eller Microsoft.Solutions/applications. |
Så här använder du resursregistrering
Resursregistrering fungerar genom att utöka andra resurser med tilläggsresursen Microsoft.CustomProviders/associations. I följande exempel görs begäran för en virtuell dator, men alla resurser kan utökas.
Först måste du skapa en anpassad resursproviderresurs med en associationsresurstyp. Detta deklarerar motringnings-URL:en som ska användas när en motsvarande Microsoft.CustomProviders/associations-resurs skapas, som är avsedd för den anpassade resursprovidern.
Exempel på begäran om att skapa 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}"
}
När du har skapat den anpassade resursprovidern kan du rikta in dig på andra resurser och tillämpa sidoeffekterna av den anpassade resursprovidern på dem.
Exempelbegäran för Microsoft.CustomProviders/associations create:
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"
}
}
}
Den här begäran vidarebefordras sedan till slutpunkten som anges i den anpassade resursprovidern som du skapade, som refereras till av targetResourceId i det här formuläret:
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"
}
}
}
Slutpunkten ska svara med ett program/json Content-Type
och en giltig JSON-svarstext. Fält som returneras under egenskapsobjektet för JSON läggs till i associationens retursvar.
Få hjälp
Om du har frågor om utveckling av anpassade Azure-resursproviders kan du fråga dem på Stack Overflow. En liknande fråga kanske redan har 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. Se de här artiklarna om du vill veta mer:
- Självstudie: Resursregistrering med anpassade resursprovidrar
- Självstudie: Skapa anpassade åtgärder och resurser i Azure
- Snabbstart: Skapa en anpassad Resursprovider i Azure och distribuera anpassade resurser
- Anvisningar: Lägga till anpassade åtgärder i ett Azure REST API
- Anvisningar: Lägga till anpassade resurser i ett Azure REST API