You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Azure数据存储容器中的文件夹ID以用于逻辑应用部署?

如何获取Azure Blob存储中文件夹的Folder ID供逻辑应用部署使用

我在数据存储容器中创建了一个名为test的文件夹,如下图所示:
test文件夹截图

该文件夹供我创建的逻辑应用使用,我在导出的逻辑应用代码中发现,逻辑应用正常运行需要用到folder id参数,相关代码片段如下:

"resources":
  [
    {
      "type": "Microsoft.Logic/workflows",
      "apiVersion": "2017-07-01",
      "name": "[parameters('workflows_App_name')]",
      "location": "westus2",
      "properties":
        {
          "state": "Enabled",
          "definition":
            {
              "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
              "contentVersion": "1.0.0.0",
              "parameters":
                { "$connections": { "defaultValue": {}, "type": "Object" } },
              "triggers":
                {
                  "When_a_blob_is_added_or_modified_(properties_only)_(V2)":
                    {
                      "recurrence": { "frequency": "Second", "interval": 10 },
                      "evaluatedRecurrence":
                        { "frequency": "Second", "interval": 10 },
                      "splitOn": "@triggerBody()",
                      "type": "ApiConnection",
                      "inputs":
                        {
                          "queries":
                            {
                              "checkBothCreatedAndModifiedDateTime": false,
                              "folderId": "JTJmb3B0aWDFWRUITTW5zZm9ybWVkLWRhdGEtZnMlMmZ0ZXN0JTJmdGVzd15GHTY9sb2dpYyUyZg==",
                              "maxFileCount": 10
                            }
                        }
                    }
                },
           ....
        ]

其中关键字段为:
"folderId": "JTJmb3B0aWDFWRUITTW5zZm9ybWVkLWRhdGEtZnMlMmZ0ZXN0JTJmdGVzd15GHTY9sb2dpYyUyZg==",

上述代码是通过逻辑应用UI生成导出的ARM模板,我需要在生产环境中通过参数化方式部署该模板,无法通过UI交互创建逻辑应用。现在需要获取生产存储容器中将要创建的新文件夹的folder id,这是我完成生产部署缺少的最后一个参数。我尝试在Azure存储资源管理器中查找该值但没有找到,请问如何获取文件夹ID的值?


解决方案

逻辑应用用到的Blob存储folderId本质是UTF-8编码的文件夹路径经过Base64编码后的结果,不需要在存储侧查找预置的ID值,你可以按照规则自行生成,完全支持参数化嵌入部署模板:

  • 构造规则:路径格式为/[容器名]/[文件夹路径],将该字符串做Base64编码就是你需要的folderId
  • 示例:如果你的生产容器名为prod-transformed-data-fs,目标文件夹路径为prod/test,那么先构造路径字符串/prod-transformed-data-fs/prod/test,再将该字符串做Base64编码,得到的结果就是对应folderId

你可以通过以下两种方式生成:

  • 本地生成:用系统自带的Base64工具直接编码即可
    Linux环境执行命令:echo -n "/容器名/文件夹路径" | base64
    Windows PowerShell环境执行命令:[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("/容器名/文件夹路径"))
  • 模板内动态生成:直接用ARM模板内置函数生成,不需要提前计算参数值
    直接在ARM模板的folderId字段填入以下表达式,传入容器名和文件夹路径参数即可自动生成对应值:
    "folderId": "[base64(concat('/', parameters('storageContainerName'), '/', parameters('targetFolderPath')))]"
    

内容的提问来源于stack exchange,提问作者abautista

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:15:07