-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathqueueAdded.cs
More file actions
45 lines (37 loc) · 1.41 KB
/
queueAdded.cs
File metadata and controls
45 lines (37 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using Azure.Data.Tables;
using Azure.Storage.Queues.Models;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace FucntionsApp;
public class QueueAddedOutput
{
[TableOutput("salesorders", Connection = "TABLE-CONN")]
public TableEntity? TableEntity { get; set; }
[BlobOutput("salesorders/{id}.txt", Connection = "TABLE-CONN")]
public string? BlobContent { get; set; }
}
public class queueAdded
{
private readonly ILogger<queueAdded> _logger;
public queueAdded(ILogger<queueAdded> logger)
{
_logger = logger;
}
[Function(nameof(queueAdded))]
public QueueAddedOutput Run([QueueTrigger("salesorders", Connection = "TABLE-CONN")] QueueMessage message)
{
var messageText = message.Body.ToString();
_logger.LogInformation("C# Queue trigger function processed: {messageText}", messageText);
var processedAt = DateTime.UtcNow.ToString("o");
return new QueueAddedOutput
{
BlobContent = $"MessageId: {message.MessageId}\nMessageText: {messageText}\nInsertedOn: {message.InsertedOn?.ToString("o")}\nProcessedAt: {processedAt}",
TableEntity = new TableEntity("SalesOrders", message.MessageId)
{
{ "MessageText", messageText },
{ "InsertedOn", message.InsertedOn?.ToString("o") },
{ "ProcessedAt", processedAt }
}
};
}
}