使用 Azure Devops 任务或 PowerShell 创建/更新 Azure WebApp 的路径映射
Posted
技术标签:
【中文标题】使用 Azure Devops 任务或 PowerShell 创建/更新 Azure WebApp 的路径映射【英文标题】:Create/Update PATH MAPPINGS of Azure WebApp using Azure Devops task or PowerShell 【发布时间】:2021-05-27 09:53:46 【问题描述】:我想通过 Azure DevOps 管道为容器上的 Azure WebApp 更新配置一个带有 Azure 文件共享(路径映射)的 Azure 存储装载。为此,我目前正在使用“Azure PowerShell 任务”(下面的代码)。但是,PowerShell 脚本正在配置“高级”选项,并公开存储帐户访问密钥。有没有办法配置“基本”。
PowerShell“New-AzWebAppAzureStoragePath”创建一个“高级”配置。
还有一个 Devops 任务“Azure webapp for containers”允许我设置“应用设置”和“配置设置”,但没有“路径映射”选项。
在 PowerShell 或 Azure devops 任务中是否有任何替代方法,以使用“BASIC”配置创建到 Azure 文件共享的“路径映射”。
脚本:
try
# Check if AzureStoragePath (PATH MAPPINGS) already exists for the web app
$webapp = get-AzWebApp -ResourceGroupName $webAppResourceGroupName -Name $webAppName
if($webapp.AzureStoragePath -ne $null)
# 'Path Mapping' to Azure storage File does not exist. Proceed with creating one.
# Get Storage Account Primary Key
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $storageResourceGroupName -AccountName $storageAccountName).value[0]
$storageAccountContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
# Returns 'True' or 'False' depending whether File share exists or not
$storageShareObject = get-azstorageshare -Name $storageFileShareName -context $storageAccountContext -erroraction silentlycontinue
$storageShareExists = (($storageShareObject) -ne $null)
if($storageShareExists -ne 'True')
$storageShareObjectFQDN = $storageShareObject.name + ".files.core.windows.net"
# Create a WebApp Storage Path object
$webAppStoragePathObject = New-AzWebAppAzureStoragePath -Name 'someConfig' -AccountName $storageShareObjectFQDN -Type AzureFiles -ShareName $storageFileShareName -AccessKey $storageAccountKey -MountPath "/edgemicro/config"
# Configure the 'Path mappings' for the web app
Set-AzWebApp -ResourceGroupName $webAppResourceGroupName -Name $webAppName -AzureStoragePath $webAppStoragePathObject
catch
# '$_' contains all the details about exception
$_
【问题讨论】:
嗨,您有机会查看以下答案吗?如果它帮助您解决此问题,请告诉我 【参考方案1】:我可以用 Azure powershell 重现同样的问题。
但是,您可以使用 azure cli 代替 azure powershell 作为解决方法。请参见下面的命令。更多信息请查看here。
az webapp config storage-account add --resource-group $storageResourceGroupName --name $webAppName --custom-id "someConfig" --storage-type "AzureFiles" --share-name $storageFileShareName --account-name $storageAccountName --access-key $storageAccountKey --mount-path "/parent"
使用上面的 azure cli 命令,您可以创建基本配置。看下面的截图:
【讨论】:
以上是关于使用 Azure Devops 任务或 PowerShell 创建/更新 Azure WebApp 的路径映射的主要内容,如果未能解决你的问题,请参考以下文章
在 Azure DevOps 中,与相同的 YAML 管道模板相比,经典编辑器模板中的任务缺失
YAML Azure Devops:步骤任务参考无效。任务名称不明确