'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 是一个延续标记,但是是一个空列表。我没想到会这样,但我现在可以开始探索和理解这里发生的事情了。
我目前正在尝试使用 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 是一个延续标记,但是是一个空列表。我没想到会这样,但我现在可以开始探索和理解这里发生的事情了。