Skip to content

Commit 95bd254

Browse files
committed
Update Azure function .NET 8 isolated
1 parent c8f5d2b commit 95bd254

11 files changed

Lines changed: 108 additions & 42 deletions

FunctionService3/FunctionService3.csproj

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22
<PropertyGroup>
33
<TargetFramework>net8.0</TargetFramework>
44
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
5-
<UserSecretsId>347b70ab-6834-45be-8c47-9036a70d52b7</UserSecretsId>
5+
<OutputType>Exe</OutputType>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
8+
<UserSecretsId>eb3fc5ef-9f98-41e6-bb97-e7630eaf9945</UserSecretsId>
89
</PropertyGroup>
910
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="8.0.0" />
11-
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.4.0" />
12-
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="5.16.1" />
13-
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
11+
<FrameworkReference Include="Microsoft.AspNetCore.App" />
12+
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
13+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http" Version="3.1.0" />
14+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="1.2.0" />
15+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.16.0" />
16+
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.17.0" />
17+
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
18+
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.2.0" />
19+
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
1420
</ItemGroup>
1521
<ItemGroup>
1622
<None Update="host.json">
@@ -20,8 +26,8 @@
2026
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2127
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
2228
</None>
23-
<None Update="server.pfx">
24-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
25-
</None>
2629
</ItemGroup>
27-
</Project>
30+
<ItemGroup>
31+
<Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
32+
</ItemGroup>
33+
</Project>
Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,31 @@
1-
using Microsoft.Azure.WebJobs;
1+
using System;
2+
using System.Threading.Tasks;
3+
using Azure.Messaging.ServiceBus;
4+
using Microsoft.Azure.Functions.Worker;
25
using Microsoft.Extensions.Logging;
36

47
namespace FunctionService3;
58

6-
public static class MyQueueFunction
9+
public class MyQueueFunction
710
{
8-
[FunctionName("MyQueueFunction")]
9-
public static void Run([ServiceBusTrigger("myqueue", Connection = "ServiceBusConnectionString")] string myQueueItem, ILogger log)
11+
private readonly ILogger<MyQueueFunction> _logger;
12+
13+
public MyQueueFunction(ILogger<MyQueueFunction> logger)
14+
{
15+
_logger = logger;
16+
}
17+
18+
[Function(nameof(MyQueueFunction))]
19+
public async Task Run([ServiceBusTrigger("myqueue", Connection = "ServiceBusConnectionString")]
20+
ServiceBusReceivedMessage message, ServiceBusMessageActions messageActions)
1021
{
11-
//throw new Exception("Cannot not process for some reason");
12-
log.LogInformation("C# ServiceBus queue trigger function processed message: {myQueueItem}", myQueueItem);
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+
// Complete the message
27+
await messageActions.CompleteMessageAsync(message);
28+
29+
_logger.LogInformation("C# ServiceBus queue trigger function processed message: {myQueueItem}", message);
1330
}
1431
}

FunctionService3/Program.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using Microsoft.Azure.Functions.Worker;
2+
using Microsoft.Extensions.DependencyInjection;
3+
using Microsoft.Extensions.Hosting;
4+
5+
var host = new HostBuilder()
6+
.ConfigureFunctionsWebApplication()
7+
.ConfigureServices(services =>
8+
{
9+
services.AddApplicationInsightsTelemetryWorkerService();
10+
services.ConfigureFunctionsApplicationInsights();
11+
})
12+
.Build();
13+
14+
host.Run();
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
{
22
"profiles": {
3-
"SubscriptionClientFunction": {
3+
"FunctionService3": {
44
"commandName": "Project",
5-
"commandLineArgs": "host start --useHttps --cert \"server.pfx\" --password \"1111\""
5+
"commandLineArgs": "--port 7183",
6+
"launchBrowser": false
67
}
78
}
89
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"dependencies": {
3+
"appInsights1": {
4+
"type": "appInsights"
5+
},
6+
"storage1": {
7+
"type": "storage",
8+
"connectionId": "AzureWebJobsStorage"
9+
}
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"dependencies": {
3+
"appInsights1": {
4+
"type": "appInsights.sdk"
5+
},
6+
"storage1": {
7+
"type": "storage.emulator",
8+
"connectionId": "AzureWebJobsStorage"
9+
}
10+
}
11+
}

FunctionService3/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,31 @@
1-
using Microsoft.Azure.WebJobs;
1+
using System;
2+
using System.Threading.Tasks;
3+
using Azure.Messaging.ServiceBus;
4+
using Microsoft.Azure.Functions.Worker;
25
using Microsoft.Extensions.Logging;
36

47
namespace FunctionService3;
58

6-
public static class SubscriptionClientFunction
9+
public class SubscriptionClientFunction
710
{
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)
1314
{
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);
1527

16-
var payload = System.Text.Json.JsonSerializer.Deserialize<MyPayload>(message);
28+
// Complete the message
29+
await messageActions.CompleteMessageAsync(message);
1730
}
1831
}

FunctionService3/host.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"samplingSettings": {
66
"isEnabled": true,
77
"excludedTypes": "Request"
8-
}
8+
},
9+
"enableLiveMetricsFilters": true
910
}
1011
}
1112
}
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
1-
{
2-
"IsEncrypted": false,
3-
"Values": {
4-
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
5-
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
6-
"ServiceBusConnectionString": "Not possible to read from a secret src without a another"
7-
},
8-
"Host": {
9-
"LocalHttpPort": "7071",
10-
"CORS": "*"
11-
}
12-
}
1+
{
2+
"IsEncrypted": false,
3+
"Values": {
4+
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
5+
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
6+
}
7+
}

0 commit comments

Comments
 (0)