Azure Functions:在Blob Storage Secret Repository上执行读操作时出现错误。

10 浏览
0 Comments

Azure Functions:在Blob Storage Secret Repository上执行读操作时出现错误。

在本地测试Azure Functions时,我遇到了以下错误:\n

\n“在Blob存储密钥库上执行读操作时发生错误。请确保\'AzureWebJobsStorage\'连接字符串有效。”\n

\n我已经设置了Azure Blob存储,包括存储模拟器和存储资源管理器。如何解决这个问题?

0
0 Comments

文章标题:Azure Functions:在Blob存储密钥库执行读操作时出错的原因和解决方法

在使用Azure Functions时,我们需要进行一些本地环境的配置,其中一个重要的配置是存储账户。本文将介绍一个问题的出现原因以及解决方法,该问题是在使用Blob存储密钥库执行读操作时出现的错误。

问题的出现原因是,可能错误地将"AzureWebJobsStorage"参数更改为实际的存储账户,这可能导致额外的费用,并且可能在在线环境中产生意想不到的副作用或影响。值得注意的是,存储模拟器已经过时,我们应该使用azurite来在本地模拟存储。可以通过npm安装azurite(npm install -g azurite),或者使用其他方式进行下载。

在本地环境中,特别是在使用可靠函数或其他计算或I/O密集型任务时,"UseDevelopmentStorage=true"是正确的设置。

对于这个问题,azurite在执行时会在当前目录下创建多个json文件,用于模拟虚拟存储后端。如果你在没有任何参数的情况下运行azurite,应该会存在以下文件:

- __azurite_db_blob_extent__.json

- __azurite_db_queue__.json

- __azurite_db_queue_extent__.json

- __azurite_db_table__.json

此外,通常还会存在两个或更多名为以下之一的文件夹:

- __blobstorage__

- __queuestorage__

为了强制azure-functions-core-tools运行时重置存储的声明和句柄,首先停止azurite和所有的func实例,删除上述文件和文件夹,然后再次启动(首先启动azurite)。

需要注意的是,这样做会导致所有内容被删除,但是本地开发存储不应用于持久数据。

如果Azurite是由Visual Studio自动启动的,可以通过转到“输出”窗口,选择“服务依赖项”,然后找到靠近最上方的Azurite起始行来找到文件位置。上述文件的位置将作为--location参数传递。

0
0 Comments

Azure Functions: 发生了一个在Blob存储秘密仓库上执行读操作的错误。请确保'AzureWebJobsStorage'连接字符串有效。

我在本地计算机上尝试运行一个持久化函数时遇到了这个错误。

我查看了github问题中的回答。

我完全删除了路径如下的文件夹:

C:\Users\YourUserName\AppData\Local\Temp\Azurite 

现在一切都正常运行了。

文件夹的样子如下图所示:

Azurite folder on Windows

注意:用户指出这种方法可行,但是必须删除整个Temp文件夹,仅删除Azurite文件夹无法解决问题。

这对我有效,但是我不得不删除整个Temp文件夹,仅删除Azurite文件夹无法解决问题。

0
0 Comments

在使用Azure Durable Functions时,我遇到了一个问题,我在这里找到了解决方法:https://github.com/Azure/azure-functions-host/issues/3795#issuecomment-430337085

local.settings.json中,添加一个名为AzureWebJobsSecretStorageType的新设置,并将其设置为"files"。

{

"IsEncrypted": false,

"Values": {

"AzureWebJobsStorage": "UseDevelopmentStorage=true",

"FUNCTIONS_WORKER_RUNTIME": "dotnet",

"AzureWebJobsSecretStorageType": "files"

}

}

回答得很好!也许在替换Windows上的Azure Storage Emulator时有点仓促。

过去的两年中,这个问题一直没遇到过。似乎需要自动地添加"AzureWebJobsSecretStorageType": "files"

根据Aaron Hudson的说法,添加"AzureWebJobsSecretStorageType": "files"修复了我之前工作正常的本地存储调试设置。我刚刚引入了一个定时器触发函数,也许这改变了运行时的行为。如果目标是隔离函数,请小心复制上面的"FUNCTIONS_WORKER_RUNTIME"设置。

0