gpt4 book ai didi

c# - 如何根据函数触发器中的属性绑定(bind) azure 函数输入?

转载 作者:行者123 更新时间:2023-12-03 20:50:39 24 4
gpt4 key购买 nike

我想创建一个由事件中心消息触发的 Azure 函数。我还想使用 DocumentDb 中的文档,从触发消息(事件中心消息)的内容中获取 DocumentId。我不明白这怎么可能,我怀疑是否可行,但我想尝试一下。在输入中,我选择了 DocumentDB,并在 DocumentId 输入框(默认为 {documentId})中输入了 {myEventHubMessage.DocumentId},其中 myEventHubMessage 是我的触发器的名称,DocumentId 是消息内容中的 json 属性。

知道这是否可能以及如何解决这个问题(无需在我的函数中硬编码 DocDb 连接字符串)

最佳答案

是的,这是可能的。下面是一个 C# 示例,首先显示代码,然后显示绑定(bind)元数据。对于 Node 等其他语言,绑定(bind)元数据是相同的,只是代码不同。 DocumentDB 绑定(bind)通过绑定(bind)表达式 {DocId} 绑定(bind)到传入消息的 DocId 属性。

代码如下:

#r "Microsoft.ServiceBus"

using System;
using Microsoft.ServiceBus.Messaging;

public static void Run(MyEvent evt, MyDocument document, TraceWriter log)
{
log.Info($"C# Event Hub trigger function processed event: {evt.Id}");
log.Info($"Document {document.Id} loaded. Value {document.Value}");
}

public class MyEvent
{
public string Id { get; set; }
public string DocId { get; set; }
}

public class MyDocument
{
public string Id { get; set; }
public string Value { get; set; }
}

以及绑定(bind)元数据:

{
"bindings": [
{
"type": "eventHubTrigger",
"name": "evt",
"direction": "in",
"path": "testhub",
"connection": "<your connection>"
},
{
"type": "documentdb",
"name": "document",
"databaseName": "<your database>",
"collectionName": "<your collection>",
"id": "{DocId}",
"connection": "<your connection>",
"direction": "in"
}
]
}

关于c# - 如何根据函数触发器中的属性绑定(bind) azure 函数输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37567951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com