我将JSON文档上传到Azure Blob容器中,并编写了Azure Python函数将JSON写入CosmosDB。触发工作正常,但我出错了。下面是Python函数:
import logging
import azure.functions as func
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")
json_data = myblob.read()
try:
# Store output data using Cosmos DB output binding
doc.set(func.Document.from_json(json_data))
except Exception as e:
logging.info(f"Error: {e}")
print('Error:')
print(e)
以下是function.json文件:
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "myblob",
"type": "blobTrigger",
"direction": "in",
"path": "cloud-save-blob-container/{name}",
"connection": "cloudsavestorage_STORAGE"
},
{
"type": "cosmosDB",
"name": "userJson",
"databaseName": "ToDoList",
"collectionName": "Items",
"createIfNotExists": false,
"connectionStringSetting": "MyCosmosDBConnectionString",
"direction": "out"
}
],
"disabled": false
}
这是我在Azure门户中看到的错误:
结果:失败异常:函数加载错误:无法加载JsonBobTrigger1函数:以下参数在Python中声明,但在function.json中没有声明:{'doc'}堆栈:文件/Azure函数-主机/工人/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py,第290行,在_handle__function_load_request_functions.add_function(File"/azure-Funcics-host/workers/python/3.8/LINUX/X64/azure_functions_worker/functions.py",第112行,add_function引发FunctionLoadError(
谢谢你的帮助。
我已经解决了这个问题,我的Python函数被触发,并按照我的意愿将数据放入Cosmos DB。问题在于我的Python代码。我在两个地方有“doc”,应该是“userJson”。一个是在“defmain(…):”行中,另一个是在“try:”块中,“doc.set(…)”,它与function.json中的输出绑定名称不匹配。一旦我将两个出现的“doc”改为“userJson”,它就工作了。
我对azure非常陌生,正在努力处理eventGrid中的python函数触发器。我正在使用从azure为python创建的现成模板,并出现错误。我将共享这些文件。 (init.py) function.json 主机. json 这是我发送给事件网格的数据集 我得到的错误是 也许在上面的某个地方很容易出错,但我找不到。。 提前感谢!
我已经创建了一个azure函数,当一个新文档被添加到一个集合中时,它会被触发。 是否可以从该集合中选择特定文档,然后查询所选文档中的数据? 例如,在所谓的募集服装,我有一个文件,有一个ID: 12345Tops.我想查询ID为:12345Tops的文档中找到的数据。 或者检索集合中的第一个文档,然后查询第一个选定文档 我看过带有http触发器的azure函数:https://docs.micros
我使用blob触发器读取blob内容,作为pandas DF进行处理,并将blob附加到我使用的Azure SQL server。 blob触发器没有按预期工作,因此我将main函数中的所有代码都定义为: 但是,我得到了以下错误: 有人可以帮助我找到此问题的原因吗? function.json的配置如下:
下面是我的function.json 有什么想法可以摆脱这个“exception:attributeError:module'azure.functions'没有属性'in'”错误吗?
配置报警策略的时候open-falcon支持多种报警触发函数,比如all(#3) diff(#10)等等。 这些#后面的数字表示的是最新的历史点,比如#3代表的是最新的三个点。该数字默认不能大于10,大于10将当作10处理,即只计算最新10个点的值。 说明:#后面的数字的最大值,即在 judge 内存中保留最近几个点,是支持自定义的,具体参考 book 中描述 ; 源码位置 => cfg.exam
我已经审阅了Microsoft提供的关于触发器的文档。[https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python][1] 事实上,在Azure函数中使用参数允许我们检索blob和一些属性(),我们还可以使用函数读取字节,但是我们如何将字节转换为