Azure 资源管理器在部署时出现错误

问题描述 投票:0回答:3

当 Azure 资源管理器 (ARM) 在 Azure 上部署我的模板时,我收到错误。这部分崩溃了:

{
  "comments": "Some comments.",
  "tags": {
    "displayName": "Server IP Address"
  },
  "type": "Microsoft.Network/publicIPAddresses",
  "name": "[variables('publicIPAddressesDevTableauServerIpName')]",
  "apiVersion": "2017-06-01",
  "location": "[parameters('location')]",
  "properties": {
    "publicIPAllocationMethod": "Static",
    "idleTimeoutInMinutes": 4,
    "dnsSettings": {
      "domainNameLabel": "[parameters('tableauResourceGroupName')]"
    }
  },
  "dependsOn": []
},

我收到的错误:

{
 "error": {
    "code": "NoRegisteredProviderFound",
    "message": "No registered resource provider found for location 'westeurope' and API version '2017-09-01' for type 'publicIPAddresses'. The supported api-versions are '2014-12-01-preview, 2015-05-01-preview, 2015-06-15, 2016-03-30, 2016-06-01, 2016-07-01, 2016-08-01, 2016-09-01, 2016-10-01, 2016-11-01, 2016-12-01, 2017-03-01, 2017-04-01, 2017-06-01, 2017-08-01, 2017-09-01'. The supported locations are 'westus, eastus, northeurope, westeurope, eastasia, southeastasia, northcentralus, southcentralus, centralus, eastus2, japaneast, japanwest, brazilsouth, australiaeast, australiasoutheast, centralindia, southindia, westindia, canadacentral, canadaeast, westcentralus, westus2, ukwest, uksouth, koreacentral, koreasouth'."
  }
}

我尝试过不同的 API 版本,但没有成功。任何人都知道为什么会发生这种情况?它一直工作到9月3日,但从4日开始停止。我假设 Microsoft 推出了 API 版本控制的一些更新。

api azure deployment azure-resource-manager
3个回答
1
投票

好吧,您要么部署了错误的文件,要么没有保存文件或类似的东西。因为

"2017-06-01"
(本示例中的内容)是受支持的 API 版本,并且它显示
2017-09-01 isn't supported

ps。尽管

2017-09-01
被列为支持,但它也不适合我,所以恢复到
2017-06-01
。这并不意味着你要牺牲任何东西


0
投票

我刚刚通过 ARM CLI (azure-cli 2.0.16) 在同一位置 (西欧) 部署相同的 apiVersion (2017-06-01),但对于相同的资源类型 (网络/公共IP地址) 也遇到了同样的问题。我确信我已经用正确的内容保存了所有内容,并且我的 ARM 模板是 git 控制的,并且截至 2017 年 7 月运行顺利。

有趣的是,创建了 pub IP 资源,Azure 门户中的部署日志显示正常,但 2 秒后紧随其后的是同一资源的 BadRequest。

对此可能有多种解释,但我敢打赌最近在我的 Ubuntu 工作站上更新的 azure-cli 存在一些错误。

此外,如果您注意到,错误消息会自相矛盾,指出不支持 apiVersion 2017-09-01,然后将其列为受支持。

当 MS 为某些资源类型引入新的 API 版本但 azure-cli 不是最新版本时,类似的事情不止一次发生在我身上。

如果忽略该问题没有帮助,并且它不会为您创建资源,那么,请尝试按照 MS 指南从这里将 azure-cli 更新到最新版本。

如果没有帮助,请在这里打开错误报告,这绝对不是您的 ARM 模板的问题。


0
投票

当指定区域不支持您用于在 Azure 上创建 MongoDB 服务的 API 版本时,会出现此错误(在您的情况下为

centralus
)。 Azure 资源具有支持其部署的特定 API 版本,这也取决于区域。

  1. 检查支持的 API 版本: 验证

    databaseAccounts
    中的
    centralus
    资源类型支持的正确 API 版本。根据错误,支持的 API 版本包括直至
    2024-09-01-preview
    的各种版本。您可能不小心使用了
    2024-12-01-preview
    ,该功能尚不受支持。

    更新您的请求以使用受支持的 API 版本之一。例如,尝试使用

    2024-08-15
    2024-09-01-preview

  2. 验证 Azure CLI 或 SDK 版本: 如果您使用的是 Azure CLI 或 SDK,请确保将其更新到最新版本。过时的版本可能不支持所需的 API 版本或功能。

    要更新 Azure CLI:

bash az 升级


3. **Specify a Supported Region:**
Double-check that the region you are deploying to (`centralus`) supports the MongoDB account type. The error message lists several supported regions, so confirm that the `centralus` region supports MongoDB services.

If `centralus` doesn't meet your requirements, you can try a different region, such as `eastus` or `westus2`.

4. **Deploy via Azure Portal:**
To bypass potential CLI or SDK issues, try creating the MongoDB resource directly through the [Azure Portal](https://portal.azure.com). The portal ensures you are using supported API versions and regions.

5. **Check Resource Provider Registration:**
Ensure that the `Microsoft.DocumentDB` resource provider is registered for your subscription.

To register the provider:
```bash
az provider register --namespace Microsoft.DocumentDB

验证:

az provider show --namespace Microsoft.DocumentDB
  1. 进一步调试: 如果问题仍然存在,请验证详细日志或错误消息。使用 Azure CLI 的详细模式来获取更多见解:
    az deployment group create --verbose
    

通过解决这些问题,您应该能够成功部署 MongoDB 服务。如果您需要具体步骤的帮助,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.