'No storage connection string found.' 尝试从 Azure 函数核心工具中列出持久函数实例时

'No storage connection string found.' when trying to list durable function instances from azure functions core tools

我目前正在尝试使用 azure 函数核心工具列出 activity 函数和协调器函数的所有实例。该应用程序将来自不同来源的数据同步到一个集中位置。

设置如下:

TimerTrigger -> Durable Orchestrator -> Multiple Activity Functions

在我的具体例子中是这样的:

Start Synchronization -> Orchestrate Synchronizations -> Synchronize Source

所以我们开始启动协调器的同步过程。然后协调器启动多个不同的同步,每个源一个。但问题是我似乎无法获得 azure 函数核心工具来列出我感兴趣的函数的所有实例。

不幸的是,我真的不想使用 REST api 来查询此信息。该设置确实使 IP 限制和托管身份验证变得复杂。如果确实需要,我想我可以更正设置以使我的网络 + 用户正常工作,但我认为这将花费比所需时间更长的时间。

我已尝试 运行 以下命令:

func durable get-instances

在一个目录中有一个名为 host.json 的文件,其内容如下:

{
    "version": "2.0",
    "AzureWebJobsStorage":"DefaultEndpointsProtocol=https;AccountName=Name;AccountKey=Key;EndpointSuffix=core.windows.net",
}

我也试过,文件内容如下:

{
    "version": "2.0",
    "extensions": {
      "durableTask": {
        "storageProvider": {
          "connectionStringName": "DefaultEndpointsProtocol=https;AccountName=Name;AccountKey=Key;EndpointSuffix=core.windows.net"
        }
      }
    }
  }

我试过使用和不使用 --connection-string-setting 参数调用 func durable get-instances,使用值 'AzureWebJobsStorage''extensions:durableTask:storageProvider:connectionStringName',但似乎没有任何效果。我一直收到错误 No storage connection string found.

我知道连接字符串是正确的。我是直接从存储账户'Access keys' blade.

中拉出来的

有什么我遗漏的吗?我做错了什么?

感谢@juunas,我让它工作了。我编辑了 host.json 文件以包含以下内容:

{
    "version": "2.0"
}

并创建了另一个名为 local.settings.json 的文件,内容如下:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=Name;AccountKey=Key;EndpointSuffix=core.windows.net",
  }
}

运行 func durable get-instances 现在有效,returns 是一个延续标记,但是是一个空列表。我没想到会这样,但我现在可以开始探索和理解这里发生的事情了。