Resources implementeren met Resource Manager-sjablonen en Resource Manager REST APIDeploy resources with Resource Manager templates and Resource Manager REST API

In dit artikel wordt uitgelegd hoe u Resource Manager REST API gebruikt met Resource Manager-sjablonen om uw resources te implementeren in Azure.This article explains how to use the Resource Manager REST API with Resource Manager templates to deploy your resources to Azure.

U kunt uw sjabloon insluiten in de hoofd tekst van de aanvraag of een koppeling naar een bestand.You can either include your template in the request body or link to a file. Wanneer u een bestand gebruikt, kan dit een lokaal bestand zijn of een extern bestand dat beschikbaar is via een URI.When using a file, it can be a local file or an external file that is available through a URI. Als uw sjabloon zich in een opslag account bevindt, kunt u de toegang tot de sjabloon beperken en een SAS-token (Shared Access Signature) opgeven tijdens de implementatie.When your template is in a storage account, you can restrict access to the template and provide a shared access signature (SAS) token during deployment.

Implementatie bereikDeployment scope

U kunt uw implementatie richten op een beheer groep, een Azure-abonnement of een resource groep.You can target your deployment to a management group, an Azure subscription, or a resource group. In de meeste gevallen streeft u implementaties naar een resource groep.In most cases, you'll target deployments to a resource group. Beheer groep-of abonnements implementaties gebruiken om beleid en roltoewijzingen toe te passen binnen het opgegeven bereik.Use management group or subscription deployments to apply policies and role assignments across the specified scope. U kunt ook abonnements implementaties gebruiken voor het maken van een resource groep en het implementeren van resources.You also use subscription deployments to create a resource group and deploy resources to it. Afhankelijk van het bereik van de implementatie, gebruikt u verschillende opdrachten.Depending on the scope of the deployment, you use different commands.

Gebruik implementaties-makenom te implementeren in een resource groep.To deploy to a resource group, use Deployments - Create. De aanvraag wordt verzonden naar:The request is sent to:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2019-05-01

Als u wilt implementeren in een abonnement, gebruikt u implementaties-maken bij abonnements bereik.To deploy to a subscription, use Deployments - Create At Subscription Scope. De aanvraag wordt verzonden naar:The request is sent to:

PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2019-05-01

Zie resource groepen en-resources op abonnements niveau makenvoor meer informatie over implementaties op abonnements niveau.For more information about subscription level deployments, see Create resource groups and resources at the subscription level.

Als u wilt implementeren in een beheer groep, gebruikt u implementaties-maken voor het bereik van de beheer groep.To deploy to a management group, use Deployments - Create At Management Group Scope. De aanvraag wordt verzonden naar:The request is sent to:

PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}?api-version=2019-05-01

Zie resources maken op het niveau van de beheer groepvoor meer informatie over implementaties op het niveau van beheer groepen.For more information about management group level deployments, see Create resources at the management group level.

In de voor beelden in dit artikel worden de implementaties van resource groepen gebruikt.The examples in this article use resource group deployments.

Implementeren met de REST APIDeploy with the REST API

  1. Algemene para meters en kopteksteninstellen, inclusief verificatie tokens.Set common parameters and headers, including authentication tokens.

  2. Als u geen bestaande resource groep hebt, maakt u een resource groep.If you don't have an existing resource group, create a resource group. Geef uw abonnements-ID, de naam van de nieuwe resource groep en de locatie op die u nodig hebt voor uw oplossing.Provide your subscription ID, the name of the new resource group, and location that you need for your solution. Zie een resource groep makenvoor meer informatie.For more information, see Create a resource group.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>?api-version=2019-05-01
    

    Met een aanvraag tekst zoals:With a request body like:

    {
     "location": "West US",
     "tags": {
       "tagname1": "tagvalue1"
     }
    }
    
  3. Valideer uw implementatie voordat u deze uitvoert door de implementatie bewerking voor het valideren van een sjabloon uit te voeren.Validate your deployment before executing it by running the Validate a template deployment operation. Wanneer u de implementatie test, geeft u de para meters op exact dezelfde manier op als bij het uitvoeren van de implementatie (Zie de volgende stap).When testing the deployment, provide parameters exactly as you would when executing the deployment (shown in the next step).

  4. Als u een sjabloon wilt implementeren, geeft u uw abonnements-ID, de naam van de resource groep, de naam van de implementatie op in de aanvraag-URI.To deploy a template, provide your subscription ID, the name of the resource group, the name of the deployment in the request URI.

    PUT https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2019-05-01
    

    Geef in de hoofd tekst van de aanvraag een koppeling op naar uw sjabloon en parameter bestand.In the request body, provide a link to your template and parameter file. Zie voor meer informatie over het parameter bestand Resource Manager-parameter bestand maken.For more information about the parameter file, see Create Resource Manager parameter file.

    U ziet dat de modus is ingesteld op Incrementeel.Notice the mode is set to Incremental. Stel de modus in op voltooidals u een volledige implementatie wilt uitvoeren.To run a complete deployment, set mode to Complete. Wees voorzichtig met het gebruik van de volledige modus, omdat u per ongeluk resources kunt verwijderen die zich niet in uw sjabloon bevinden.Be careful when using the complete mode as you can inadvertently delete resources that aren't in your template.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental"
     }
    }
    

    Als u de respons inhoud wilt registreren, moet u de inhoud van de aanvraag, of beide, de debugSetting toevoegen.If you want to log response content, request content, or both, include debugSetting in the request.

    {
     "properties": {
       "templateLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
         "contentVersion": "1.0.0.0"
       },
       "parametersLink": {
         "uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
         "contentVersion": "1.0.0.0"
       },
       "mode": "Incremental",
       "debugSetting": {
         "detailLevel": "requestContent, responseContent"
       }
     }
    }
    

    U kunt uw opslag account instellen om een SAS-token (Shared Access Signature) te gebruiken.You can set up your storage account to use a shared access signature (SAS) token. Zie toegang overdragen met een Shared Access Signaturevoor meer informatie.For more information, see Delegating Access with a Shared Access Signature.

    Als u een gevoelige waarde voor een para meter (bijvoorbeeld een wacht woord) moet opgeven, voegt u die waarde toe aan een sleutel kluis.If you need to provide a sensitive value for a parameter (such as a password), add that value to a key vault. Haal de sleutel kluis op tijdens de implementatie, zoals wordt weer gegeven in het vorige voor beeld.Retrieve the key vault during deployment as shown in the previous example. Zie veilige waarden door geven tijdens de implementatievoor meer informatie.For more information, see Pass secure values during deployment.

  5. In plaats van te koppelen aan bestanden voor de sjabloon en para meters, kunt u deze in de hoofd tekst van de aanvraag toevoegen.Instead of linking to files for the template and parameters, you can include them in the request body. In het volgende voor beeld wordt de hoofd tekst van de aanvraag met de sjabloon en de parameter inline weer gegeven:The following example shows the request body with the template and parameter inline:

    {
       "properties": {
       "mode": "Incremental",
       "template": {
         "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
           "storageAccountType": {
             "type": "string",
             "defaultValue": "Standard_LRS",
             "allowedValues": [
               "Standard_LRS",
               "Standard_GRS",
               "Standard_ZRS",
               "Premium_LRS"
             ],
             "metadata": {
               "description": "Storage Account type"
             }
           },
           "location": {
             "type": "string",
             "defaultValue": "[resourceGroup().location]",
             "metadata": {
               "description": "Location for all resources."
             }
           }
         },
         "variables": {
           "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
         },
         "resources": [
           {
             "type": "Microsoft.Storage/storageAccounts",
             "name": "[variables('storageAccountName')]",
             "apiVersion": "2018-02-01",
             "location": "[parameters('location')]",
             "sku": {
               "name": "[parameters('storageAccountType')]"
             },
             "kind": "StorageV2",
             "properties": {}
           }
         ],
         "outputs": {
           "storageAccountName": {
             "type": "string",
             "value": "[variables('storageAccountName')]"
           }
         }
       },
       "parameters": {
         "location": {
           "value": "eastus2"
         }
       }
     }
    }
    
  6. Gebruik implementaties-ophalenom de status van de sjabloon implementatie te verkrijgen.To get the status of the template deployment, use Deployments - Get.

    GET https://management.azure.com/subscriptions/<YourSubscriptionId>/resourcegroups/<YourResourceGroupName>/providers/Microsoft.Resources/deployments/<YourDeploymentName>?api-version=2018-05-01
    

Volgende stappenNext steps