|
1 | | -using Microsoft.Azure.WebJobs; |
| 1 | +using System; |
| 2 | +using System.Threading.Tasks; |
| 3 | +using Azure.Messaging.ServiceBus; |
| 4 | +using Microsoft.Azure.Functions.Worker; |
2 | 5 | using Microsoft.Extensions.Logging; |
3 | 6 |
|
4 | 7 | namespace FunctionService3; |
5 | 8 |
|
6 | | -public static class SubscriptionClientFunction |
| 9 | +public class SubscriptionClientFunction |
7 | 10 | { |
8 | | - [FunctionName("SubscriptionClientFunction")] |
9 | | - public static void Run([ServiceBusTrigger( |
10 | | - "mytopic", |
11 | | - "functionsubscription", |
12 | | - Connection = "ServiceBusConnectionString")]string message, ILogger log) |
| 11 | + private readonly ILogger<SubscriptionClientFunction> _logger; |
| 12 | + |
| 13 | + public SubscriptionClientFunction(ILogger<SubscriptionClientFunction> logger) |
13 | 14 | { |
14 | | - log.LogInformation("C# ServiceBus topic trigger function processed message: {message}", message); |
| 15 | + _logger = logger; |
| 16 | + } |
| 17 | + |
| 18 | + [Function(nameof(SubscriptionClientFunction))] |
| 19 | + public async Task Run([ServiceBusTrigger("mytopic", "functionsubscription", Connection = "ServiceBusConnectionString")] |
| 20 | + ServiceBusReceivedMessage message, ServiceBusMessageActions messageActions) |
| 21 | + { |
| 22 | + _logger.LogInformation("Message ID: {id}", message.MessageId); |
| 23 | + _logger.LogInformation("Message Body: {body}", message.Body); |
| 24 | + _logger.LogInformation("Message Content-Type: {contentType}", message.ContentType); |
| 25 | + |
| 26 | + var payload = System.Text.Json.JsonSerializer.Deserialize<MyPayload>(message.Body); |
15 | 27 |
|
16 | | - var payload = System.Text.Json.JsonSerializer.Deserialize<MyPayload>(message); |
| 28 | + // Complete the message |
| 29 | + await messageActions.CompleteMessageAsync(message); |
17 | 30 | } |
18 | 31 | } |
0 commit comments