我想根据它触发的事件网格事件的内容(python worker 运行时)将 cosmos 文档提取到我的 azure 函数中。可以做到这一点吗?
我有下面的function.json:
{
"scriptFile": "__init__.py",
"bindings": [
{
"type": "eventGridTrigger",
"name": "event",
"direction": "in"
},
{
"name": "documents",
"type": "cosmosDB",
"databaseName": "Metadata",
"collectionName": "DataElementMappings",
"sqlQuery" : "SELECT * from c where c.id = {subject}",
"connectionStringSetting": "MyCosmosDBConnectionString",
"direction": "in"
}
]
}
我想将查询中事件的属性用于cosmos输入绑定。我在这里尝试了主题。它失败了:
[2020年6月4日下午5时34分45秒]系统。Private.CoreLib:执行函数时出现异常:Functions.orch_taskchecker。系统。Private.CoreLib:字典中不存在给定的键“subject”。
所以我没有使用正确的键名。我唯一需要做的键是{data},但不幸的是,我无法使用文档中所说的语法{data.property}访问事件数据中的任何属性。我希望所有事件网格架构键都可用于其他绑定,因为事件是 JSON 有效负载。我没有一个工作,例如eventTime,event_type,主题等。
因为我看到了一个关于存储队列的相同想法的示例,并且他们使用了例如{Queue.id},所以我尝试了像{Event.subject}、{EventGridEvent.subject}这样的东西,但都无济于事。
我在文档中找不到其他绑定中使用的事件网格触发器数据示例。这能实现吗?
这就是事件。get_json()方法,可用于访问python代码中的数据字段,我没有查看绑定
对于EventGridTrigger(C#脚本),可用于输入绑定EventGridEvent类的自定义数据对象。
以下示例显示事件存储帐户的blob输入绑定:
{
"bindings": [
{
"type": "eventGridTrigger",
"name": "eventGridEvent",
"direction": "in"
},
{
"type": "blob",
"name": "body",
"path": "{data.url}",
"connection": "rk2018ebstg_STORAGE",
"direction": "in"
}
],
"disabled": false
}
请注意,只能引用数据对象中的属性。
我对azure非常陌生,正在努力处理eventGrid中的python函数触发器。我正在使用从azure为python创建的现成模板,并出现错误。我将共享这些文件。 (init.py) function.json 主机. json 这是我发送给事件网格的数据集 我得到的错误是 也许在上面的某个地方很容易出错,但我找不到。。 提前感谢!
我试图创建一个带有webhookendpoint的azure事件网格功能。但是当我尝试创建我的事件网格订阅时,它说: 正在部署事件订阅:增量中的事件存储部署失败,出现以下错误:{"code":"Url验证"," message ":" https://1e8f90c31be0.ngrok.io/runtime/webhooks/EventGrid. Http POST请求的Webhook验证握手失
关于在物联网场景中使用EventHub的Azure功能,我有几个问题。 EventHub有分区。通常来自特定设备的消息会发送到同一个分区。Azure Function的实例如何分布在EventHub分区中?它是基于性能的吗?如果Azure Function的一个实例设法处理来自所有分区的事件,那么这就足够了,否则每个EventHub分区可能会有一个Azure Function的实例? 读取偏移量呢
我在CosmosDB中有两个集合,和。 集合保存所有历史价格,并不断更新。 我想创建一个Azure函数,它监听< code>StockPrices更新(< code>CosmosDBTrigger),然后对触发器传递的每个< code >文档执行以下操作: 在集合中查找具有匹配代码的股票 在集合中更新股票价格 我不能用<code>CosmosDB(绑定仅在触发器传递单个项时有效)。 我看到它工作的
我已经审阅了Microsoft提供的关于触发器的文档。[https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python][1] 事实上,在Azure函数中使用参数允许我们检索blob和一些属性(),我们还可以使用函数读取字节,但是我们如何将字节转换为
我已经实现了一个EventGrid触发器来响应Blob存储事件,其逻辑简化如下: 外部API的响应时间不长(1秒或更短),我对主机的配置设置为默认(因此允许无限数量的并发调用)。 当同时添加多个blob(从只有2个blob开始)时,我在日志中得到了很多重复的事件(脚本正在快速地一个接一个地上传blob,中间没有等待时间)。 我觉得这可能是由于我从不承认收到事件,我不知道我是否应该在我的代码中执行此