Note:在下面的问题中,我还没有部署这个函数。
我有一个azure函数,在VScode (azure扩展)上进行本地测试。这个函数是由blob触发的,即当一个图像被上传到某个blob容器(比如c)时触发,然后在cosmos上上传特定的元数据(dict)。我还链接了我的blob存储,我的vscode。存储容器c已经有很多映像(200+)。当我在本地(在VScode上)运行我的azure函数时,它似乎再次在所有现有图像上运行该函数。这是我在其他地方问过的一个问题,这里 (图片附件)。

,但我还有第二个问题,。如果这个函数在VSCode上的所有触发器上运行(尚未部署),那么它是否替换/重写了我在cosmos上的所有数据(我的天蓝色函数最终会将一些数据上传到宇宙)?
编辑:
我的blob触发器/azure函数太长了,所以我将只发布它是如何触发的。
def main(myblob: func.InputStream, doc: func.Out[func.Document]):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n"
f"Blob Size: {myblob.length} bytes")
blob_val = myblob.read()
.
.
.和host.json
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}
}发布于 2022-04-11 14:10:13
不管函数在哪里运行(本地机器Azure,任何其他支持托管选项),如果您的配置具有实际Cosmos DB帐户的Cosmos DB连接字符串,则该函数将在该帐户上执行更新。
您的问题的简单答案是:不管函数在哪里运行,更新都将在您的连接字符串指向的帐户上执行。
如果您想进行本地测试,一种选择是使用Cosmos DB模拟器并让本地配置连接字符串使用模拟器的连接字符串,这样您的本地测试就不会影响任何实际帐户。
您可以在Azure上运行时覆盖该设置,方法是添加该设置,但指向应用程序设置或连接字符串上真正的Cosmos DB帐户。
https://stackoverflow.com/questions/71823386
复制相似问题