当前位置: 首页 > 知识库问答 >
问题:

使用Azure Devops任务或PowerShell创建/更新Azure WebApp的路径映射

林鸿飞
2023-03-14

我想更新配置Azure存储挂载与Azure文件共享(路径映射)的Azure WebApp容器通过Azure运营模式管道。为此,我目前正在使用Azure PowerShell任务(代码如下)。但是,PowerShell脚本正在配置高级选项,并公开存储帐户访问密钥。有没有一种方法来配置'基本'之一。

PowerShell“New AzWebAppAzureStoragePath”创建“advance”配置。

还有一个Devops任务“Azure webapp for containers”,允许我设置“应用设置”和“配置设置”,但没有“路径映射”选项。

在PowerShell或Azure devops任务中是否有其他方法,可以使用“基本”配置创建到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个答案

倪子晋
2023-03-14

我可以用Azure powershell重现同样的问题。

但是,您可以使用Azure cli而不是Azure Powershell作为解决方案。见下面的命令。查看此处了解更多信息。

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命令,您可以创建基本配置。见下面的截图:

 类似资料:
  • 问题内容: 我是Elasticsearch的新手,目前正在实现用于搜索的过滤器。到目前为止,我的索引具有以下映射(我已经删除了一些字段): geo_distance字段将在location字段上实现,示例实例如下所示: 即采用geoJSON格式。 我了解我将必须更新索引,以使location字段的类型为,如文档(mapping-geo- point )中所述。似乎我必须删除索引并创建一个新索引,但

  • 对于一个小的新项目,我决定尝试一下JDBI(通常我使用hibernate/jpa)。 我喜欢使用@SqlUpdate/@Sql Query创建轻量级、基于注释的dao。 但是:在某些情况下,我无法确定是要创建实体还是更新现有实体。我会放置一个“选择”语句,并根据其返回值使用插入或更新语句。 问题:jdbi中的“仅接口”道是否以某种方式支持这一点?还是我必须自己编写一个“createOrUpdate

  • 目前,我正在用一个查询检查该项是否存在,然后使用put或updateItem,我想更改它并对DDB进行一次调用。我想进行一个将更新或创建项目的查询。 下面是我的项目的一个例子: 项目类型: 如果项目存在,我想推送一个新项目,比如{papa:'dsfadsf'}(永远不要修改fa映射内的现有项目),并修改pa映射内的finish值 这是更新后的项目: 这是我尝试的,但不起作用

  • 假设我有很多团队,比如:“团队A,团队B…团队Z”,每个团队至少有5个组件。现在我想创建一个通用控制器,它可以响应任何类型的请求,这样我就可以获得关于团队成员的信息。 例如,我的控制器必须能够映射此请求: 团队课程可以是: 而且 显然它既可以执行也可以执行,重点是我不想为每个团队和每个数字指定一个控制器,我只想要一个可以响应的控制器。 我还需要指定它可以接受的字符串和值的范围(例如,最大值为5)。

  • 我正在开发一个web应用程序,并试图使用它的文本创建一个pdf文档。 当我得到一个路径(本地和服务器上)时,它工作得很好,但我知道我需要在不实际创建它的情况下完成它。 我不想要的:PdfCopy copy=newpdfcopy(documentPDF,newfileoutputstream(mypath)) 我想要的是://PdfCopy copy=new PdfCopy(documentPDF,

  • 本文向大家介绍如何使用PowerShell创建新别名?,包括了如何使用PowerShell创建新别名?的使用技巧和注意事项,需要的朋友参考一下 任何人都可以创建一个新的别名,该别名是另一个命令的快捷方式。若要创建自己的别名,您需要使用Set-Alias cmdlet。在这里,我们将创建一个新的别名Edit,它将打开一个Notepad.exe。首先,我们将检查是否存在“编辑别名”。 由于这将是一个新