- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
按照以下文章中的说明进行操作后
https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure-function
https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs
我创建了一个 EventHubTrigger,如下所示:
using System;
public static void Run(string myEventHubMessage, ILogger log)
{
log.LogInformation($'C# Event Hub trigger function processed a message: {myEventHubMessage}');
}
这确实没有任何问题,但由于我确实需要其他元信息,因此我将代码更改为以下内容(在第二篇链接文章中描述):
#r 'Microsoft.ServiceBus'
using System.Text;
using System;
using Microsoft.ServiceBus.Messaging;
public static void Run(EventData myEventHubMessage, ILogger log)
{
log.LogInformation($'EnqueuedTimeUtc={myEventHubMessage.EnqueuedTimeUtc}');
log.LogInformation($'SequenceNumber={myEventHubMessage.SequenceNumber}');
log.LogInformation($'Offset={myEventHubMessage.Offset}');
}
但是此代码会导致以下错误消息(顺便说一句,我还使用已弃用的 TraceWriter 而不是 ILogger 来完全遵循文章,但这会导致相同的错误)
2018-10-11T14:22:24.814 [Error] run.csx(1,1): error CS0006: Metadata file 'Microsoft.ServiceBus' could not be found
2018-10-11T14:22:24.903 [Error] run.csx(4,17): error CS0234: The type or namespace name 'ServiceBus' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
现在我的问题是,有谁知道如何才能运行这一小段代码吗?
当然,它必须与程序集有关,但文章指出,在在线门户编辑器中工作时,无需执行进一步的步骤。
提前致谢
菲利克斯
附注:
主机.json:
{
"version": "2.0"
}
extensions.csproj 的内容是:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<WarningsAsErrors />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="3.0.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="3.0.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.0.1" />
</ItemGroup>
</Project>
最佳答案
嗯,该示例适用于函数 1.x。 2.x 普遍可用后,我们创建的函数默认在 ~2 运行时运行,正如我们在 host.json 中看到的 "version":"2.0"
。
尝试一下下面的代码,元数据存储在 Microsoft.Azure.EventHubs.EventData
的 SystemProperties
中。
#r "../bin/Microsoft.Azure.EventHubs.dll"
using System;
using Microsoft.Azure.EventHubs;
public static void Run(EventData myEventHubMessage, ILogger log)
{
log.LogInformation($"EnqueuedTimeUtc={myEventHubMessage.SystemProperties.EnqueuedTimeUtc}");
log.LogInformation($"SequenceNumber={myEventHubMessage.SystemProperties.SequenceNumber}");
log.LogInformation($"Offset={myEventHubMessage.SystemProperties.Offset}");
}
另请注意,我们需要在 C# 中对字符串使用双引号 "
,请参阅代码中的 '
。
关于c# - 带有 eventData 对象的 EventHubTrigger C# 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52871846/
将 Azure.Messaging.EventHubs 从 5.5.0 升级到 5.9.0。 我需要将旧的 Microsoft.Azure.EventHubs.EventData 更改为 Azure.
在设置事件处理程序(提交、单击、按键等)时,将数据获取到处理程序并在处理程序中使用它的最快、最有效的方法是什么?我应该做这样的事情: $obj.data({name: value, ...}); $o
在 Azure 文档中 EventHubClient有two methods对于发送一批数据,它们每个都有下面的注释,并且会抛出 MessageSizeExceededException如果被忽略。
代码如下: -- Create a log table CREATE TABLE TriggerLog (LogInfo xml) -- Create a dummy
documentation没有任何关于如何使用 .submit( [eventData], handler(eventObject) ) 的示例 我有以下函数,我需要将 url 传递给 row_sav
如果使用 Azure EventHub 客户端 SDK 中的 EventHub.SendAsync(EventData),是否有办法找出哪个分区是写入的消息? 我们故意不提供分区键,以便 EventH
我试图通过查看安全事件日志来确定机器的最频繁用户。我正在考虑使用 4624 事件 ID,但我似乎无法弄清楚如何从查询中的 EventData 添加任何内容。我可以从 4624 事件中获取标准数据,但我
我有一些使用 Service Bus Event Data 的代码,并且我怀疑我需要使用 offset 属性,因为目前我的程序正在(或似乎)一遍又一遍地重新运行相同的事件中心数据。 我的代码如下: p
当前触发器如下: CREATE TRIGGER TestTrigger ON DATABASE FOR ALTER_TABLE AS BEGIN SET NOCOUNT ON; DECLARE
我正在使用 1x 函数,我的问题是,如果使用这个版本,我可以接收 EventData 类型的对象。 我已阅读有关它的文档,但我还不清楚。 执行函数时,抛出以下异常: mscorlib: Excepti
我正在创建一个由 EventHub 触发的 C# 隔离工作进程 Azure Function,该函数会将带有 header 的 EventData 列表输出到另一个 EventHub。 该函数在使用
从官方文档来看,他们只支持批量发送。只是想知道是否存在某些东西(当然除了作为列表发送一个之外) 最佳答案 EventHubProduerClient不提供发送单个事件的方法。在新 SDK 的设计过程中
从官方文档来看,他们只支持批量发送。只是想知道是否存在某些东西(当然除了作为列表发送一个之外) 最佳答案 EventHubProduerClient不提供发送单个事件的方法。在新 SDK 的设计过程中
我目前有一个像这样的 javascript 错误处理程序: window.onerror = function(msg, url, line){ //stuff }}; 但我希望能够像这样使用 jqu
给定一个 元素,我想在 blur 上调用一个现有的函数,并向它传递一个匿名回调。 案例一,简单的函数调用: function bar(){ alert("I am"); } $("#foo")
我通常按如下方式将数据发送到事件中心.. var encoded = Encoding.UTF8.GetBytes(serializedString); using (var edata = new
我有以下函数定义。 消息类型: type MailboxItem = { CustomerID: int AssetID: int } 代码: let Run(item: Mailbo
按照以下文章中的说明进行操作后 https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure
按照以下文章中的说明进行操作后 https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-first-azure
假设您使用 bind() 或 on() 将处理程序绑定(bind)到某个对象,并指定诸如 { color : "red"} 之类的数据>。后来,情况发生变化,您希望使用 { color : "blue
我是一名优秀的程序员,十分优秀!