你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 REST API 管理 Azure 资源

了解如何使用 Azure 资源管理器 REST API 来管理 Azure 资源。 有关如何构建 Azure REST 调用的全面参考,请参阅 REST 入门。 有关可用操作的更多详细信息,请查看资源管理 REST API 参考

获取访问令牌

若要对 Azure 进行 REST API 调用,首先需要获取访问令牌。 通过使用“Authorization”标头并将值设置为“Bearer {access-token}”,将此访问令牌包含在 Azure REST API 调用的标头中。

如果需要以编程方式检索应用程序中的新令牌,可以通过将客户端应用程序注册到 Microsoft Entra ID 来获取访问令牌。

如果入门想要使用单个令牌测试 Azure REST API,可以使用 Azure PowerShell 或 Azure CLI 快速检索当前访问令牌。

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

操作范围

可以在不同范围内调用多个 Azure 资源管理器操作:

类型 范围
管理组 providers/Microsoft.Management/managementGroups/{managementGroupId}
订阅 subscriptions/{subscriptionId}
资源组 subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}
资源 subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderName}/{resourceType}/{resourceName}

列出资源

以下 REST 操作返回提供的资源组中的资源。

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

下面是一个 cURL 命令示例,可用于使用 Azure 资源管理器 API 列出资源组中的所有资源:

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'

执行身份验证步骤时,此示例如下所示:

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'

将资源部署到现有的资源组

可以使用 REST API 直接部署 Azure 资源,也可以通过部署资源管理器模板来创建 Azure 资源。

部署资源

以下 REST 操作创建存储帐户。 若要更详细地查看此示例,请参阅使用 REST API 创建 Azure 存储帐户存储资源提供程序 REST API 参考中提供了存储资源提供程序的完整参考文档和示例。

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",
}

部署模板

以下操作通过部署快速入门模板来创建存储帐户。 有关详细信息,请参阅快速入门:使用 Visual Studio Code 创建 Azure 资源管理器模板。 有关此调用的 API 参考,请参阅部署 - 创建或更新

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"
  }
}

对于 REST API,uri 的值不能是本地文件或只能在本地网络上使用的文件。 Azure 资源管理器必须能够访问该模板。 提供可下载的 HTTP 或 HTTPS 形式的 URI 值。 有关详细信息,请参阅使用资源管理器模板和 Azure PowerShell 部署资源

部署资源组和资源

可以使用模板创建一个资源组并将资源部署到该组。 有关详细信息,请参阅创建资源组并部署资源

将资源部署到多个订阅或资源组

通常情况下,将模板中的所有资源部署到单个资源组。 不过,在某些情况下,你可能希望将一组资源部署在一起但将其放置在不同的资源组或订阅中。 有关详细信息,请参阅将 Azure 资源部署到多个订阅或资源组

删除资源

以下操作演示如何删除存储帐户。

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

若要详细了解 Azure 资源管理器如何控制资源的删除,请参阅 Azure 资源管理器资源组的删除

管理对资源的访问

可以通过 Azure 基于角色的访问控制 (Azure RBAC) 管理对 Azure 中资源的访问权限。 有关详细信息,请参阅使用 REST 添加或删除 Azure 角色分配

后续步骤