Compartilhar via


Gerenciar recursos do Azure usando a API REST

Aprenda como usar a API REST do Azure Resource Manager para gerenciar seus recursos do Azure. Para obter uma referência abrangente de como estruturar as chamadas REST do Azure, confira Como começar a usar o REST. Consulte a Referência da API REST do Gerenciamento de Recursos para obter mais detalhes sobre as operações disponíveis.

Obter um token de acesso

Para fazer uma chamada à API REST para o Azure, primeiro você precisa obter um token de acesso. Inclua esse token de acesso nos cabeçalhos das suas chamadas à API REST do Azure usando o cabeçalho "Autorização" e definindo o valor como "Portador {access-token}".

Se precisar recuperar programaticamente novos tokens como parte de seu aplicativo, você poderá obter um token de acesso Registrando seu aplicativo cliente com o Microsoft Entra ID.

Se estiver começando e quiser testar as APIs REST do Azure usando seu token individual, você poderá recuperar seu token de acesso atual rapidamente com o Azure PowerShell ou a CLI do Azure.

token=$(az account get-access-token --query accessToken --output tsv)

Escopo de operação

Você pode chamar muitas operações do Azure Resource Manager em escopos diferentes:

Tipo Escopo
Grupo de gerenciamento providers/Microsoft.Management/managementGroups/{managementGroupId}
Subscription subscriptions/{subscriptionId}
Resource group subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
Recurso subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderName}/{resourceType}/{resourceName}

Listar recursos

A operação REST a seguir retorna os recursos dentro de um grupo de recursos fornecido.

GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Host: management.azure.com

Aqui está um exemplo do comando cURL que você pode usar para listar todos os recursos em um grupo de recursos usando a API do Azure Resource Manager:

curl  -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -X GET 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01'

Com a etapa de autenticação, esse exemplo fica mais ou menos assim:

token=$(az account get-access-token --query accessToken --output tsv)
curl  -H "Authorization: Bearer $token" -H 'Content-Type: application/json' -X GET 'https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources?api-version=2021-04-01'

Implantar recursos em um grupo de recursos existente

Você pode implantar recursos do Azure diretamente usando a API REST ou implantar um modelo do Resource Manager para criar recursos do Azure.

Implantar um recurso

A operação REST a seguir cria uma conta de armazenamento. Para ver esse exemplo mais detalhadamente, confira Criar uma conta de Armazenamento do Microsoft Azure com a API REST. Algumas amostras e a documentação de referência completa para o Provedor de Recursos de Armazenamento estão disponíveis na Referência da API REST do Provedor de Recursos de Armazenamento.

PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2018-02-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Content-Type: application/json
Host: management.azure.com

{
  "sku": {
    "name": "Standard_GRS"
  },
  "kind": "StorageV2",
  "location": "eastus2",
}

Implantar um modelo

As operações a seguir implementam um modelo de Início Rápido para criar uma conta de armazenamento. Para mais informações, confira Início Rápido: criar modelos do Azure Resource Manager usando o Visual Studio Code. Para obter a referência da API dessa chamada, confira Implantações: Criar ou Atualizar.

PUT /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/my-deployment?api-version=2021-04-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Content-Type: application/json
Host: management.azure.com

{
  "properties": {
    "templateLink": {
      "uri": "https://example.com/azuretemplates/azuredeploy.json"
    },
    "parametersLink": {
        "uri": "https://example.com/azuretemplates/azuredeploy.parameters.json"
    },
    "mode": "Incremental"
  }
}

No caso de APIs REST, o valor do uri não pode ser um arquivo local ou um arquivo que só esteja disponível em sua rede local. O Azure Resource Manager precisa ser capaz de acessar o modelo. Forneça um valor de URI que pode ser baixado como HTTP ou HTTPS. Para obter mais informações, veja Implantar recursos com modelos do Resource Manager e o Azure PowerShell.

Implantar um grupo de recursos e recursos

Você pode criar um grupo de recursos e implantar recursos no grupo usando um modelo. Para saber mais, confira Create resource group and deploy resources (Criar grupo de recursos e implantar recursos).

Implantar recursos em várias assinaturas ou grupos de recursos

Normalmente, você deve implantar todos os recursos em seu modelo em um único grupo de recursos. No entanto, há cenários em que você deseja implantar um conjunto de recursos de uma vez, mas colocá-los em diferentes grupos de recursos ou assinaturas. Para saber mais, confira Implantar recursos do Azure em várias assinaturas ou grupos de recursos.

Excluir recursos

A operação a seguir mostra como excluir uma conta de armazenamento.

DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}?api-version=2022-09-01 HTTP/1.1
Authorization: Bearer <bearer-token>
Host: management.azure.com

Para saber mais sobre como o Azure Resource Manager solicita a exclusão de recursos, confira Exclusão de grupo de recursos do Azure Resource Manager.

Gerenciar o acesso a recursos

O RBAC do Azure (controle de acesso baseado em função do Azure) é a maneira usada para gerenciar o acesso aos recursos no Azure. Para obter mais informações, confira Adicionar ou remover atribuições de função do Azure usando o REST.

Próximas etapas