如何访问 Azure Function 隔离进程中服务总线消息的 ApplicationProperties?

Lia*_*iam 1 c# azure azureservicebus azure-functions

我有一条服务总线消息,其中ApplicationProperties添加了一些内容:

ServiceBusMessage serviceBusMessage
serviceBusMessage.ApplicationProperties.Add("TenantId", tenantId);
serviceBusMessage.ApplicationProperties.Add("Serialization", "JSON");
Run Code Online (Sandbox Code Playgroud)

我需要从我的 Azure 函数访问这些。在类库风格的函数应用程序中,我可以使用,但ServiceBusReceivedMessage在进程外似乎没有等效的东西?

Seb*_*oun 5

我可能会在战斗后到达,但有一种简单的方法可以访问ApplicationProperties. 只需将 type string(仅返回消息内容)替换为 type 即可Azure.Messaging.ServiceBus.ServiceBusReceivedMessage

public async Task OnServiceBusAsync(
    [ServiceBusTrigger(topicName: "TOPIC", subscriptionName: "SUBSCRIPTION", Connection = "CONNECTION")]
    Azure.Messaging.ServiceBus.ServiceBusReceivedMessage message,
    ILogger log)
Run Code Online (Sandbox Code Playgroud)

然后您将能够访问特定的自定义属性

    var vcountry = message.ApplicationProperties.GetValueOrDefault("BusinessCountry").ToString();
Run Code Online (Sandbox Code Playgroud)