Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här snabbstarten skapar du en anpassad resursprovider och distribuerar anpassade resurser för den resursprovidern. Mer information om anpassade resursprovidrar finns i Översikt över anpassade resursproviders i Azure.
Förutsättningar
- Om du inte har en Azure-prenumeration, skapa ett gratis konto innan du börjar.
- För att slutföra stegen i den här snabbstarten måste du anropa RESTåtgärder. Det finns olika sätt att skicka REST-begäranden.
Förbered din miljö för Azure CLI.
- Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell. 
- Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör på Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container. - Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. För att avsluta autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI. 
- När du blir uppmanad, installera Azure CLI-tillägget vid första användning. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI. 
- Kör az version för att ta reda på versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade. 
 
Azure CLI-exempel använder az rest för REST begäranden. För mer information, se az rest.
Distribuera en anpassad resursleverantör
Om du vill konfigurera den anpassade resursprovidern distribuerar du en exempelmall till din Azure-prenumeration.
Mallen distribuerar följande resurser till din prenumeration:
- Funktionsapp med operationer för resurser och åtgärder.
- Lagringskonto för lagring av användare som skapas via den anpassade resursprovidern.
- Anpassad resursprovider som definierar anpassade resurstyper och åtgärder. Den använder funktionsappens slutpunkt för att skicka begäranden.
- Anpassad resurs från den anpassade resursprovidern.
Om du vill distribuera den anpassade resursprovidern använder du Azure CLI, PowerShell eller Azure-portalen.
I det här exemplet uppmanas du att ange en resursgrupp, plats och providerns funktionsappnamn. Namnen lagras i variabler som används i andra kommandon. Kommandot az group create and az deployment group create distribuerar resurserna.
read -p "Enter a resource group name:" rgName &&
read -p "Enter the location (i.e. eastus):" location &&
read -p "Enter the provider's function app name:" funcName &&
templateUri="https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/custom-providers/customprovider.json" &&
az group create --name $rgName --location "$location" &&
az deployment group create --resource-group $rgName --template-uri $templateUri --parameters funcName=$funcName &&
echo "Press [ENTER] to continue ..." &&
read
Om du vill distribuera mallen från Azure-portalen väljer du knappen Distribuera till Azure .
Visa anpassad resursleverantör och resurs
I portalen är den anpassade resursprovidern en dold resurstyp. Bekräfta att resursleverantören har distribuerats genom att gå till resursgruppen och välja Visa dolda typer.
              
               
              
              
            
Om du vill se den anpassade resurs du har distribuerat använder du åtgärden GET på din resurstyp. Resurstypen Microsoft.CustomProviders/resourceProviders/users som visas i JSON-svaret innehåller den resurs som skapades av mallen.
GET https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users?api-version=2018-09-01-preview
subID=$(az account show --query id --output tsv)
requestURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users?api-version=2018-09-01-preview"
az rest --method get --uri $requestURI
Du får svaret:
{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}
Samtalsåtgärd
Din anpassade resursprovider har också en åtgärd med namnet ping. Koden som bearbetar begäran implementeras i funktionsappen. Åtgärden ping svarar med en hälsning.
För att skicka en ping begäran använder du POST-operationen på din åtgärd.
POST https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/ping?api-version=2018-09-01-preview
pingURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/ping?api-version=2018-09-01-preview"
az rest --method post --uri $pingURI
Du får svaret:
{
  "message": "hello <function-name>.azurewebsites.net",
  "pingcontent": {
    "source": "<function-name>.azurewebsites.net"
  }
}
Använda PUT för att skapa en resurs
I den här snabbstarten använde mallen resurstypen Microsoft.CustomProviders/resourceProviders/users för att distribuera en resurs. Du kan också använda en PUT åtgärd för att skapa en resurs. Om en resurs till exempel inte distribueras med mallen skapar åtgärden PUT en resurs.
I det här exemplet skapar åtgärden en ny resurs eftersom mallen redan har distribuerat en resurs PUT .
PUT https://management.azure.com/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/<resource-name>?api-version=2018-09-01-preview
{"properties":{"FullName": "Test User", "Location": "Earth"}}
addURI="https://management.azure.com/subscriptions/$subID/resourceGroups/$rgName/providers/Microsoft.CustomProviders/resourceProviders/$funcName/users/testuser?api-version=2018-09-01-preview"
az rest --method put --uri $addURI --body "{'properties':{'FullName': 'Test User', 'Location': 'Earth'}}"
Du får svaret:
{
  "id": "/subscriptions/<sub-ID>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
  "name": "testuser",
  "properties": {
    "FullName": "Test User",
    "Location": "Earth",
    "provisioningState": "Succeeded"
  },
  "type": "Microsoft.CustomProviders/resourceProviders/users"
}
Du kan köra GET åtgärden igen från avsnittet Visa anpassad resursprovider och resurs för att visa de två resurser som skapades. Det här exemplet visar utdata från Azure CLI-kommandot.
{
  "value": [
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/ana",
      "name": "ana",
      "properties": {
        "FullName": "Ana Bowman",
        "Location": "Moon",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    },
    {
      "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceProviders/<provider-name>/users/testuser",
      "name": "testuser",
      "properties": {
        "FullName": "Test User",
        "Location": "Earth",
        "provisioningState": "Succeeded"
      },
      "type": "Microsoft.CustomProviders/resourceProviders/users"
    }
  ]
}
Kommandon för anpassad resursleverantör
Använd kommandona för anpassade providers för att arbeta med din anpassade resursprovider.
Lista anpassade resursprovidrar
              list Använd kommandot för att visa alla anpassade resursprovidrar i en prenumeration. Standardvärdet visar den aktuella prenumerationens anpassade resursprovidrar, eller så kan du ange parametern --subscription . Om du vill visa en lista över en resursgrupp använder du parametern --resource-group .
az custom-providers resource-provider list --subscription $subID
[
  {
    "actions": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "ping",
        "routingType": "Proxy"
      }
    ],
    "id": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.CustomProviders/resourceproviders/<provider-name>",
    "location": "eastus",
    "name": "<provider-name>",
    "provisioningState": "Succeeded",
    "resourceGroup": "<rg-name>",
    "resourceTypes": [
      {
        "endpoint": "https://<provider-name>.azurewebsites.net/api/{requestPath}",
        "name": "users",
        "routingType": "Proxy, Cache"
      }
    ],
    "tags": {},
    "type": "Microsoft.CustomProviders/resourceproviders",
    "validations": null
  }
]
Visa egenskaperna
              show Använd kommandot för att visa egenskaperna för den anpassade resursprovidern. Utdataformatet liknar list utdata.
az custom-providers resource-provider show --resource-group $rgName --name $funcName
Skapa en ny resurs
              create Använd kommandot för att skapa eller uppdatera en anpassad resursprovider. I det här exemplet uppdateras actions och resourceTypes.
az custom-providers resource-provider create --resource-group $rgName --name $funcName \
--action name=ping endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type=Proxy \
--resource-type name=users endpoint=https://myTestSite.azurewebsites.net/api/{requestPath} routing_type="Proxy, Cache"
"actions": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "ping",
    "routingType": "Proxy"
  }
],
"resourceTypes": [
  {
    "endpoint": "https://myTestSite.azurewebsites.net/api/{requestPath}",
    "name": "users",
    "routingType": "Proxy, Cache"
  }
],
Uppdatera leverantörens taggarna
Kommandot update uppdaterar endast taggar för en anpassad resursprovider. I Azure-portalen visar den anpassade resursproviderns apptjänst taggen.
az custom-providers resource-provider update --resource-group $rgName --name $funcName --tags new=tag
"tags": {
  "new": "tag"
},
Ta bort en anpassad resursprovider
Kommandot delete uppmanar dig och tar bara bort den anpassade resursleverantören. Lagringskontot, apptjänsten och apptjänstplanen tas inte bort. När providern har tagits bort returneras du till en kommandorad.
az custom-providers resource-provider delete --resource-group $rgName --name $funcName
Rensa resurser
Om du är klar med resurserna som skapats i den här artikeln kan du ta bort resursgruppen. När du tar bort en resursgrupp tas alla resurser i resursgruppen bort.
az group delete --resource-group $rgName
Nästa steg
En introduktion till anpassade resursprovidrar finns i följande artikel:
