代码之家  ›  专栏  ›  技术社区  ›  Rom Eh

自动部署JSON映射

  •  0
  • Rom Eh  · 技术社区  · 6 年前

    我在Azure中有一个逻辑应用程序,它使用液体映射来转换JSON内容。我正在尝试使用部署地图 New-AzureRmIntegrationAccountMap commandlet和 Set-AzureRmIntegrationAccountMap commandlet。

    调用 Set-AzureRmIntegrationAccountMap commandlet:

    Set-AzureRmIntegrationAccountMap:无法反序列化响应。

    使用此脚本:

    Try
    {
        Write-Host -ForegroundColor Green "Creating $baseName..."
        $mapContent = Get-Content -Path $fullName | Out-String
    
        Write-Host -ForegroundColor Cyan "$mapContent"
    
        New-AzureRmIntegrationAccountMap -ResourceGroupName $resourceGroupName -Name $iacName -MapName $baseName -MapDefinition $mapContent -ErrorAction Stop
        Write-Host -ForegroundColor Green "Successfully created $baseName"
    }
    Catch
    {
        Write-Host -ForegroundColor Red "Error creating $baseName, trying update..."
        Set-AzureRmIntegrationAccountMap -ResourceGroupName $resourceGroupName -Name $iacName -MapName $baseName -MapDefinition $mapContent -Force
        if ($?) {
            Write-Host -ForegroundColor Green "Successfully updated $baseName"
        } else {
            Write-Host -ForegroundColor Red "Error updating $baseName"
            exit 1
        }
    }
    

    经过一些搜索后,两个commandlet接受 MapType 参数,但只允许一个值(XSLT)。

    有没有办法在Azure中的集成帐户(powershell、ARM模板…)中自动部署Liquid maps?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Tom Sun    6 年前

    有没有办法在Azure中的集成帐户(powershell、ARM模板…)中自动部署Liquid maps?

    是的,我可以用下面的代码创建带有PowerShell的液体地图。

    Login-AzureRmAccount
    $IntegrationAccountName = "Integration Account name"
    $ResouceGroupname = "ResourcegroupName" 
    $ResourceLocation = "West US" # location
    $ResourceName = "liquid name" 
    $Content = Get-Content -Path "C:\Tom\simple.liquid" | Out-String
    Write-Host $Content
    $PropertiesObject = @{
        mapType = "liquid"
        content = "$Content"
        contentType = "text/plain"
    }
    New-AzureRmResource -Location $ResourceLocation -PropertyObject $PropertiesObject -ResourceGroupName $ResouceGroupname -ResourceType Microsoft.Logic/integrationAccounts/maps -ResourceName " $IntegrationAccountName/$ResourceName" -ApiVersion 2016-06-01 -Force
    

    enter image description here

    从azure门户检查它。

    enter image description here