Skip to content

Commit a95a578

Browse files
#36 upgrade Orchestrators => v3
1 parent d55a84e commit a95a578

7 files changed

+35
-28
lines changed

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/ServerlessMicroservices.FunctionApp.Orchestrators.csproj

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>netcoreapp2.1</TargetFramework>
4-
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
3+
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
55
</PropertyGroup>
66
<ItemGroup>
7-
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="1.7.1" />
8-
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="3.0.3" />
9-
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.24" />
7+
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.6.0" />
8+
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="3.0.12" />
9+
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.0.0" />
10+
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.0.1" />
1011
</ItemGroup>
1112
<ItemGroup>
1213
<None Update="host.json">

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripDemoOrchestrator.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Azure.WebJobs;
2+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
23
using Microsoft.Extensions.Logging;
34
using ServerlessMicroservices.Models;
45
using ServerlessMicroservices.Shared.Services;
@@ -15,7 +16,7 @@ public static class TripDemoOrchestrator
1516

1617
[FunctionName("O_DemoTrip")]
1718
public static async Task<object> DemoTrip(
18-
[OrchestrationTrigger] DurableOrchestrationContext context,
19+
[OrchestrationTrigger] IDurableOrchestrationContext context,
1920
ILogger log)
2021
{
2122
TripDemoState state = context.GetInput<TripDemoState>();

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripDemoOrchestratorTriggers.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.AspNetCore.Http;
22
using Microsoft.AspNetCore.Mvc;
33
using Microsoft.Azure.WebJobs;
4+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
45
using Microsoft.Azure.WebJobs.Extensions.Http;
56
using Microsoft.Extensions.Logging;
67
using Newtonsoft.Json;
@@ -15,7 +16,7 @@ public static class TripDemoOrchestratorTriggers
1516
{
1617
[FunctionName("T_StartTripDemoViaQueueTrigger")]
1718
public static async Task StartTripDemoViaQueueTrigger(
18-
[OrchestrationClient] DurableOrchestrationClient context,
19+
[DurableClient] IDurableClient context,
1920
[QueueTrigger("%TripDemosQueue%", Connection = "AzureWebJobsStorage")] TripDemoState demoState,
2021
ILogger log)
2122
{
@@ -34,7 +35,7 @@ public static async Task StartTripDemoViaQueueTrigger(
3435

3536
[FunctionName("T_StartTripDemo")]
3637
public static async Task<IActionResult> StartTripDemo([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripdemos")] HttpRequest req,
37-
[OrchestrationClient] DurableOrchestrationClient context,
38+
[DurableClient] IDurableClient context,
3839
ILogger log)
3940
{
4041
try
@@ -63,7 +64,7 @@ public static async Task<IActionResult> StartTripDemo([HttpTrigger(Authorization
6364

6465
[FunctionName("T_GetTripDemo")]
6566
public static async Task<IActionResult> GetTripDemo([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "tripdemos/{code}")] HttpRequest req,
66-
[OrchestrationClient] DurableOrchestrationClient context,
67+
[DurableClient] IDurableClient context,
6768
string code,
6869
ILogger log)
6970
{
@@ -85,7 +86,7 @@ public static async Task<IActionResult> GetTripDemo([HttpTrigger(AuthorizationLe
8586

8687
[FunctionName("T_TerminateTripDemo")]
8788
public static async Task<IActionResult> TerminateTripDemo([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripdemos/{code}/terminate")] HttpRequest req,
88-
[OrchestrationClient] DurableOrchestrationClient context,
89+
[DurableClient] IDurableClient context,
8990
string code,
9091
ILogger log)
9192
{
@@ -105,7 +106,7 @@ public static async Task<IActionResult> TerminateTripDemo([HttpTrigger(Authoriza
105106
//TODO: Implement Get Trip Demo Instances, Restart Trip Demo Instances and Terminate Trip Demo Instances if Persist to table storage if persist instances is activated
106107

107108
/** PRIVATE **/
108-
private static async Task StartInstance(DurableOrchestrationClient context, TripDemoState state, string instanceId, ILogger log)
109+
private static async Task StartInstance(IDurableOrchestrationClient context, TripDemoState state, string instanceId, ILogger log)
109110
{
110111
try
111112
{
@@ -127,7 +128,7 @@ private static async Task StartInstance(DurableOrchestrationClient context, Trip
127128
}
128129
}
129130

130-
private static async Task TeminateInstance(DurableOrchestrationClient context, string instanceId, ILogger log)
131+
private static async Task TeminateInstance(IDurableClient context, string instanceId, ILogger log)
131132
{
132133
try
133134
{

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripManagerOrchestrator.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Azure.WebJobs;
2+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
23
using Microsoft.Extensions.Logging;
34
using ServerlessMicroservices.Models;
45
using ServerlessMicroservices.Shared.Helpers;
@@ -16,7 +17,7 @@ public static class TripManagerOrchestrator
1617
{
1718
[FunctionName("O_ManageTrip")]
1819
public static async Task<object> ManageTrip(
19-
[OrchestrationTrigger] DurableOrchestrationContext context,
20+
[OrchestrationTrigger] IDurableOrchestrationContext context,
2021
ILogger log)
2122
{
2223
TripItem trip = context.GetInput<TripItem>();

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripManagerOrchestratorTriggers.cs

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.AspNetCore.Http;
22
using Microsoft.AspNetCore.Mvc;
33
using Microsoft.Azure.WebJobs;
4+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
45
using Microsoft.Azure.WebJobs.Extensions.Http;
56
using Microsoft.Extensions.Logging;
67
using Newtonsoft.Json;
@@ -16,7 +17,7 @@ public static class TripManagerOrchestratorTriggers
1617
{
1718
[FunctionName("T_StartTripManagerViaQueueTrigger")]
1819
public static async Task StartTripManagerViaQueueTrigger(
19-
[OrchestrationClient] DurableOrchestrationClient context,
20+
[DurableClient] IDurableClient context,
2021
[QueueTrigger("%TripManagersQueue%", Connection = "AzureWebJobsStorage")] TripItem trip,
2122
ILogger log)
2223
{
@@ -35,7 +36,7 @@ public static async Task StartTripManagerViaQueueTrigger(
3536

3637
[FunctionName("T_StartTripManager")]
3738
public static async Task<IActionResult> StartTripManager([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripmanagers")] HttpRequest req,
38-
[OrchestrationClient] DurableOrchestrationClient context,
39+
[DurableClient] IDurableClient context,
3940
ILogger log)
4041
{
4142
try
@@ -64,7 +65,7 @@ public static async Task<IActionResult> StartTripManager([HttpTrigger(Authorizat
6465

6566
[FunctionName("T_GetTripManager")]
6667
public static async Task<IActionResult> GetTripManager([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "tripmanagers/{code}")] HttpRequest req,
67-
[OrchestrationClient] DurableOrchestrationClient context,
68+
[DurableClient] IDurableClient context,
6869
string code,
6970
ILogger log)
7071
{
@@ -86,7 +87,7 @@ public static async Task<IActionResult> GetTripManager([HttpTrigger(Authorizatio
8687

8788
[FunctionName("T_TerminateTripManager")]
8889
public static async Task<IActionResult> TerminateTripManager([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripmanagers/{code}/terminate")] HttpRequest req,
89-
[OrchestrationClient] DurableOrchestrationClient context,
90+
[DurableClient] IDurableClient context,
9091
string code,
9192
ILogger log)
9293
{
@@ -105,7 +106,7 @@ public static async Task<IActionResult> TerminateTripManager([HttpTrigger(Author
105106

106107
[FunctionName("T_AcknowledgeTrip")]
107108
public static async Task<IActionResult> AcknowledgeTrip([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripmanagers/{code}/acknowledge/drivers/{drivercode}")] HttpRequest req,
108-
[OrchestrationClient] DurableOrchestrationClient context,
109+
[DurableClient] IDurableClient context,
109110
string code,
110111
string drivercode,
111112
ILogger log)
@@ -125,7 +126,7 @@ public static async Task<IActionResult> AcknowledgeTrip([HttpTrigger(Authorizati
125126

126127
[FunctionName("T_AcknowledgeTripViaQueueTrigger")]
127128
public static async Task AcknowledgeTripViaQueueTrigger(
128-
[OrchestrationClient] DurableOrchestrationClient context,
129+
[DurableClient] IDurableClient context,
129130
[QueueTrigger("%TripDriversQueue%", Connection = "AzureWebJobsStorage")] TripDriver info,
130131
ILogger log)
131132
{
@@ -143,7 +144,7 @@ public static async Task AcknowledgeTripViaQueueTrigger(
143144
//TODO: Implement Get Trip Manager Instances, Restart Trip Manager Instances and Terminate Trip Manager Instances if Persist to table storage if persist instances is activated
144145

145146
/** PRIVATE **/
146-
private static async Task StartInstance(DurableOrchestrationClient context, TripItem trip, string instanceId, ILogger log)
147+
private static async Task StartInstance(IDurableClient context, TripItem trip, string instanceId, ILogger log)
147148
{
148149
try
149150
{
@@ -165,7 +166,7 @@ private static async Task StartInstance(DurableOrchestrationClient context, Trip
165166
}
166167
}
167168

168-
private static async Task TeminateInstance(DurableOrchestrationClient context, string instanceId, ILogger log)
169+
private static async Task TeminateInstance(IDurableClient context, string instanceId, ILogger log)
169170
{
170171
try
171172
{

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripMonitorOrchestrator.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.Azure.WebJobs;
2+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
23
using Microsoft.Extensions.Logging;
34
using ServerlessMicroservices.Models;
45
using ServerlessMicroservices.Shared.Helpers;
@@ -15,7 +16,7 @@ public static class TripMonitorOrchestrator
1516
{
1617
[FunctionName("O_MonitorTrip")]
1718
public static async Task<object> MonitorTrip(
18-
[OrchestrationTrigger] DurableOrchestrationContext context,
19+
[OrchestrationTrigger] IDurableOrchestrationContext context,
1920
ILogger log)
2021
{
2122
string code = context.GetInput<string>();

dotnet/ServerlessMicroservices.FunctionApp.Orchestrators/TripMonitorOrchestratorTriggers.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using Microsoft.AspNetCore.Http;
22
using Microsoft.AspNetCore.Mvc;
33
using Microsoft.Azure.WebJobs;
4+
using Microsoft.Azure.WebJobs.Extensions.DurableTask;
45
using Microsoft.Azure.WebJobs.Extensions.Http;
56
using Microsoft.Extensions.Logging;
67
using System;
@@ -12,7 +13,7 @@ public static class TripMonitorOrchestratorTriggers
1213
{
1314
[FunctionName("T_StartTripMonitorViaQueueTrigger")]
1415
public static async Task StartTripMonitorViaQueueTrigger(
15-
[OrchestrationClient] DurableOrchestrationClient context,
16+
[DurableClient] IDurableClient context,
1617
[QueueTrigger("%TripMonitorsQueue%", Connection = "AzureWebJobsStorage")] string code,
1718
ILogger log)
1819
{
@@ -31,7 +32,7 @@ public static async Task StartTripMonitorViaQueueTrigger(
3132

3233
[FunctionName("T_StartTripMonitor")]
3334
public static async Task<IActionResult> StartTripMonitor([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripmonitors/{code}")] HttpRequest req,
34-
[OrchestrationClient] DurableOrchestrationClient context,
35+
[DurableClient] IDurableClient context,
3536
string code,
3637
ILogger log)
3738
{
@@ -58,7 +59,7 @@ public static async Task<IActionResult> StartTripMonitor([HttpTrigger(Authorizat
5859

5960
[FunctionName("T_GetTripMonitor")]
6061
public static async Task<IActionResult> GetTripMonitor([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "tripmonitors/{code}")] HttpRequest req,
61-
[OrchestrationClient] DurableOrchestrationClient context,
62+
[DurableClient] IDurableClient context,
6263
string code,
6364
ILogger log)
6465
{
@@ -80,7 +81,7 @@ public static async Task<IActionResult> GetTripMonitor([HttpTrigger(Authorizatio
8081

8182
[FunctionName("T_TerminateTripMonitor")]
8283
public static async Task<IActionResult> TerminateTripMonitor([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "tripmonitors/{code}/terminate")] HttpRequest req,
83-
[OrchestrationClient] DurableOrchestrationClient context,
84+
[DurableClient] IDurableClient context,
8485
string code,
8586
ILogger log)
8687
{
@@ -100,7 +101,7 @@ public static async Task<IActionResult> TerminateTripMonitor([HttpTrigger(Author
100101
//TODO: Implement Get Trip Monitor Instances, Restart Trip Monitor Instances and Terminate Trip Monitor Instances if Persist to table storage if persist instances is activated
101102

102103
/** PRIVATE **/
103-
private static async Task StartInstance(DurableOrchestrationClient context, string code, string instanceId, ILogger log)
104+
private static async Task StartInstance(IDurableClient context, string code, string instanceId, ILogger log)
104105
{
105106
try
106107
{
@@ -122,7 +123,7 @@ private static async Task StartInstance(DurableOrchestrationClient context, stri
122123
}
123124
}
124125

125-
private static async Task TeminateInstance(DurableOrchestrationClient context, string instanceId, ILogger log)
126+
private static async Task TeminateInstance(IDurableClient context, string instanceId, ILogger log)
126127
{
127128
try
128129
{

0 commit comments

Comments
 (0)