问题标签 [azure-rm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2978 浏览

bash - 创建存储帐户后无法立即创建 Azure 容器

我正在尝试从 terraform 创建一个存储帐户,并使用它的一些访问密钥来创建一个 blob 容器。我的 terraform 配置是从 bash 文件中给出的,因此,这里最重要的步骤之一如下:

我正在az cli从文件中发送这些命令.bash,因此我正在TF_VAR_azurerm ...那里发送其他变量

最后,当我执行 bash 第一个 bash 文件时,这个调用terraform_apply_template.sh创建了计划,并应用了它。是否如下:

但我的输出如下,azurerm后端已初始化,存储帐户4pdterraformstates已创建,还有4pd-tfstateblob 容器,

在此处输入图像描述

但在实践中此操作无效,我得到以下输出:

寻找类似的行为,我在 azurerm 提供者 terraform 存储库中发现了这个问题

并且还根据直接在 terraform 存储库中创建的这个问题它看起来像一个网络操作错误......但奇怪的是它已被修复..

我正在使用 terraform v0.12.1 版本

根据@Gaurav-Mantri 的回答,有必要等到要配置存储帐户才能继续执行与存储帐户本身相关的其他任务。

创建存储帐户是一个异步过程。当您执行 az storage account create 创建存储帐户时,请求会发送到 Azure,并且您会收到一个接受的响应(如果一切顺利)。

创建(预配)存储帐户的整个过程需要一些时间(根据我的经验,最多需要 1 分钟),并且在预配存储帐户之前,不允许对该存储帐户进行任何操作。

如何在创建存储帐户后包含等待过程?似乎仅使用 bashsleep命令或使用该命令暂停 bash shellread一段时间是不够的..

0 投票
2 回答
371 浏览

azure - 尝试向网络适配器添加第二个 IP 地址,但在 Set-AzureRmNetworkInterface 上找不到资源 {0}

我正在尝试使用 Powershell 的 AzureRm cmdlet 在 Azure 虚拟机规模集上的网络适配器上添加第二个 IP 地址。

我的代码如下所示:

但我得到了错误

Set-AzureRmNetworkInterface : 在 X:\JIRA_Confluence_Migration\PowerShell\network-interfaces-azure-same-vnet.ps1:67 Zeichen:1 + Set-AzureRmNetworkInterface -NetworkInterface $Nic + 中找不到资源'{0}' ~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Set-AzureRmNetworkInterface],ArgumentException + FullyQualifiedErrorId:Microsoft.Azure.Commands.Network.SetAzureNetworkInterfaceCommand 在 Set-AzureRmNetworkInterface。

有谁知道问题是什么?

0 投票
2 回答
2270 浏览

ansible - 为什么 Ansible 无法解析我的 azure 动态库存配置文件?

我正在尝试为 Ansible 设置动态清单以与 Azure 一起使用,但我收到一些消息,因为 Ansible 无法解析我的 yaml 文件。

到目前为止我做了什么:

  1. 创建 Azure 服务主体并向 /home/user/.azure/credentials 添加凭据(我知道他们建议将它们放在 /home/.azure/credentials 中,我尝试过,但似乎我的 Ansible 在 /home 中查找它们/用户目录。

  2. 我将 python 插件(原始的、未编辑的插件)及其 yaml 配置文件放在 /etc/ansible/inventory_plugins 中。配置文件如下所示:

  1. 使用以下命令测试功能: ansible all -m ping -i ./myazure_rm.yml

输出:

ansible 2.8.1 配置文件 = /etc/ansible/ansible.cfg 配置模块搜索路径 = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python模块位置 = /usr/lib/python2.7/site-packages/ansible 可执行位置 = /bin/ansible python 版本 = 2.7.5(默认,2019 年 4 月 9 日,14:30:50)[GCC 4.8.5 20150623( Red Hat 4.8.5-36)] 使用 /etc/ansible/ansible.cfg 作为配置文件 由于库存源不存在或当前用户无法读取而跳过 azure_rm 拒绝将 /etc/ansible/inventory_plugins/myazure_rm.yml 解析为它没有通过它的 verify_file() 方法 [警告]: Unable to parse /etc/ansible/inventory_plugins/myazure_rm.yml 作为库存源

[警告]:没有解析库存,只有隐式本地主机可用

[警告]:提供的主机列表为空,只有 localhost 可用。请注意,隐式本地主机不匹配“全部”

0 投票
1 回答
387 浏览

azure - 从 ARM 模板中的 resourceId 函数中提取 ResourceName 或 resourceIdentifier

如何通过 ARM 模板中的资源显示名称获取名称/资源标识符?

我在资源类型“Microsoft.ApiManagement/service/groups”下有名为“开发人员”的用户组和唯一标识符“xxxxxxxxxxx”

通过资源显示名称“开发人员”,我如何获取标识符(xxxxxxxxxxx)?

0 投票
1 回答
70 浏览

azure - Azure RM Powershell 在所有资源组或应用服务中查找特定文件

背景

目前我们正在尝试跟踪特定静态站点的环境。(URL、回购、资源组等)

问题

是否有现有的 cmdlet 或特定方法可以在我们所有可用的资源组或应用服务中查找特定文件?例如,在所有资源组中,找到particularfile.html

我们尝试过的

我们首先尝试通过在 此处进行识别来识别文件的位置

起初,我们尝试通过运行以下命令来识别我们所有站点的所有 url:Get-AzureRmWebApp | foreach-object {$_} | select-object SiteName, DefaultHostName, ResourceGroup

虽然我们能够获取 url,但我们意识到有些重定向到不同的 url,因此不准确。我们仍然无法分辨哪个资源组拥有我们的网站..

所以我们正在尝试寻找文件本身的方法。我们知道它particularfile.html本身存在于资源组或应用服务之一中。

有命令吗?或另一种方法来获取该文件的确切位置?

0 投票
2 回答
203 浏览

azure - 使用 RM 模块的 Azure 存储帐户密钥更新

我正在尝试设置一个 powershell 代码,它会每隔一段时间更新一次存储帐户凭据,下面是我遇到的脚本,它工作得很好。

上面的代码完成了所需的工作,但是它要求我们登录到 azure-rm 帐户,这基本上破坏了自动化这个过程的想法,因为我需要不断更新这个生成的配置文件。

注意:我现在不允许使用 az 模块,因为我工作的环境有一些 .NET 版本限制。

因此,如果有任何其他解决方案可以克服 azure rm 登录问题,请提出建议。

0 投票
1 回答
1106 浏览

azure - 使用 Terraform 将 Azure 可用性集添加到负载均衡器(后端池)

希望可以有人帮帮我。我在可用性集和负载均衡器中创建了一个由多个虚拟机组成的集群。

使用 Terraform,我可以说将单个 NIC 添加到 BackendPool:

我不想单独添加每个 VM,而是说 LB 添加整个 AV-Set,这与 Azure GUI 配合得很好,但我在 Terraform 中找不到任何解决方案。

我尝试将此资源添加到我的 AV-Set 模块并用 AV-Set ID 替换“network_interface_id”,但它不起作用。

有这样的解决方案吗?

0 投票
2 回答
153 浏览

azure - 将 AzureRm 迁移到 Az 的问题

目前,我正在重构代码以从 AzureRM 迁移到 Az 模块,但我因一件奇怪的事情被阻止了一段时间。我已经将所有命令更改为 Az 模块,并且在本地一切正常。

但是当我尝试从 Azure DevOps 运行这个 powershell 脚本时,问题就开始了。我附加了一小部分代码,这是我的代码的主要问题点。在 Azure 中,DevOps 代码成功运行,但它不执行此脚本块中的操作。将其作为后台作业(异步)运行非常重要,但 Az 模块会以某种方式导致问题(或者可能是其他问题)。

以前(使用 AzureRM 模块)相同的代码部分就像一个魅力。

我在本地 pc 和 Azure DevOps 代理上都有相同的 Az 模块和 PowerShell 版本。

任何想法为什么脚本块不执行任何操作?

任何帮助表示赞赏!干杯!

Start-Job -ScriptBlock { param($resourceGroupName, $deployment) Remove-AzResourceGroupDeployment -ResourceGroupName $resourceGroup -Name $deployment.DeploymentName
} -ArgumentList @($resourceGroup, $deployment) | 外空

0 投票
0 回答
209 浏览

azure - Azure Cmdlet:Get-AzKeyVaultKey 失败,值不能为空(参数不存在)

我通过调用以下 cmdlet 通过 Az 模块访问 Azure:

以下Get-AzKeyVaultKey

但我收到以下错误:

Get-AzKeyVaultKey :值不能为空。

参数名称:keyVaultDnsSuffix

在 line:1 char:8 + $key = Get-AzKeyVaultKey -VaultName "myName" -Name "myKeyName" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Get-AzKeyVaultKey], ArgumentNullException + FullyQualifiedErrorId:Microsoft.Azure.Commands.KeyVault.GetAzureKeyVaultKey


PS C:\Windows\system32> (Get-AzKeyVault -VaultName "myName").NetworkAcls

默认操作:允许

绕过:AzureServices

IP 地址范围:

IpAddressRangesText :

VirtualNetworkResourceIds:

VirtualNetworkResourceIdsText :

通过 Azure CloudShell 遇到相同的异常:

蔚蓝的云壳

0 投票
1 回答
150 浏览

azure - Azure RM 模板 AutomationRunbookServiceUriIsNotValid

我需要使用 ARM 模板部署“microsoft.insights/actionGroups”类型的资源,但我遇到了一个问题。我的模板:

但是当我尝试部署时,我得到了这个错误:

New-AzureRmResourceGroupDeployment : 08:39:52 - 资源 microsoft.insights/actionGroups 'ActionGroupName' 失败,消息'{“代码”:“AutomationRunbookServiceUriIsNotValid”,“消息”:“AutomationRunbookServiceUriIsNotValid”

我查看了模板定义,并提到这WebhookReceiver.identifierUri不是强制性的。

我究竟做错了什么?