【问题标题】:Local-exec using powershell throws Cannot index into a null array使用 powershell 的 Local-exec 抛出无法索引到空数组
【发布时间】:2022-01-23 00:05:16
【问题描述】:

帮助 PowerShell 命令在 Terraform local-exec See here for code 中运行。只需碰到下一个障碍,因为我现在可以运行各种带参数的“get-az”命令,但如果我想运行

Update-AzFunctionAppSetting -ResourceGroupName "MyResourceGroup" -Name "MyFunctionApp" -SubscriptionId "MySubscriptionId" -AppSetting @{"testmw" = "2"}

它会抛出一个错误: Update-AzFunctionAppSetting:无法索引到空数组。

【问题讨论】:

    标签: terraform azure-powershell terraform-provider-azure


    【解决方案1】:

    请根据您的要求使用以下代码:

    provider "azurerm" {
      features{}
    }
    data "azurerm_resource_group" "example"{
        name = "ansumantest"
    }
    variable "function_apps" {
      default = ["ansumanfunc1","ansumanfunc2"]
    }
    variable "Subscription" {
        default = "SubID"
    }
    resource "null_resource" "example2" {
      count = length(var.function_apps)
      provisioner "local-exec" {
        command = <<Settings
        $ResourceGroupName = "${data.azurerm_resource_group.example.name}"
        $FunctionAppName = "${var.function_apps[count.index]}"
        $SubscriptionId = "${var.Subscription}"
        Get-AzFunctionApp -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionId
        Update-AzFunctionAppSetting -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionID -AppSetting @{"testmw" = "2"}
        Settings
    
        interpreter = ["PowerShell", "-Command"]
      }
    }
    

    输出:

    【讨论】:

    • 不走运。仅使用 Get-AzFunctionApp -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionId 有效,但 Update-AzFunctionAppSetting -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionID -AppSetting @{"testmw" = "2"} 失败并显示│更新-AzFunctionAppSetting:无法索引到空数组。 │ At line:13 char:7 │ + Update-AzFunctionAppSetting -ResourceGroupName $ResourceGroupNa ... │ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    • │ + CategoryInfo : InvalidOperation: (:) [Update-AzFunctionAppSetting], RuntimeException │ + FullyQualifiedErrorId : NullArray,Update-AzFunctionAppSetting
    • @MWIOITC,您能否添加您现在正在使用的整个更新代码?这样我就可以测试相同的代码..
    • 当然:coderesource "null_resource" "az_command" { triggers = { uuid_trigger = "${uuid()}" } provisioner "local-exec" { interpreter = ["PowerShell", " -Command"] 命令 =
    • code Get-AzFunctionApp -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionId Update-AzFunctionAppSetting -ResourceGroupName $ResourceGroupName -Name $FunctionAppName -SubscriptionId $SubscriptionID -AppSetting @{"testmw" = " 2"} EOT } }
    猜你喜欢
    • 2018-09-14
    • 1970-01-01
    • 2022-01-09
    • 2017-07-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    相关资源
    最近更新 更多