Skip to content

Commit f567b65

Browse files
committed
implement processors as interface in example
1 parent e632af6 commit f567b65

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

examples/BatchProcessing/src/HelloWorld/Function.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public BatchItemFailuresResponse HandlerUsingAttributeAndCustomBatchProcessor(SQ
9090
[Logging(LogEvent = true)]
9191
public BatchItemFailuresResponse HandlerUsingAttributeAndCustomBatchProcessorProvider(SQSEvent _)
9292
{
93-
var batchProcessor = Services.Provider.GetRequiredService<CustomSqsBatchProcessor>();
93+
var batchProcessor = Services.Provider.GetRequiredService<ISqsBatchProcessor>();
9494
return batchProcessor.ProcessingResult.BatchItemFailuresResponse;
9595
}
9696

@@ -107,8 +107,8 @@ public async Task<BatchItemFailuresResponse> HandlerUsingUtility(SQSEvent sqsEve
107107
[Logging(LogEvent = true)]
108108
public async Task<BatchItemFailuresResponse> HandlerUsingUtilityFromIoc(SQSEvent sqsEvent)
109109
{
110-
var batchProcessor = Services.Provider.GetRequiredService<CustomSqsBatchProcessor>();
111-
var recordHandler = Services.Provider.GetRequiredService<CustomSqsRecordHandler>();
110+
var batchProcessor = Services.Provider.GetRequiredService<ISqsBatchProcessor>();
111+
var recordHandler = Services.Provider.GetRequiredService<ISqsRecordHandler>();
112112
var result = await batchProcessor.ProcessAsync(sqsEvent, recordHandler);
113113
return result.BatchItemFailuresResponse;
114114
}

examples/BatchProcessing/src/HelloWorld/Services.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
*/
1515

1616
using System;
17+
using AWS.Lambda.Powertools.BatchProcessing.Sqs;
1718
using HelloWorld.Sqs;
1819
using Microsoft.Extensions.DependencyInjection;
1920

@@ -33,8 +34,8 @@ public static IServiceProvider Init()
3334
private static IServiceProvider Build()
3435
{
3536
var services = new ServiceCollection();
36-
services.AddSingleton<CustomSqsBatchProcessor>();
37-
services.AddSingleton<CustomSqsRecordHandler>();
37+
services.AddSingleton<ISqsBatchProcessor, CustomSqsBatchProcessor>();
38+
services.AddSingleton<ISqsRecordHandler, CustomSqsRecordHandler>();
3839
return services.BuildServiceProvider();
3940
}
4041
}

examples/BatchProcessing/src/HelloWorld/Sqs/CustomSqsBatchProcessorProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
using Amazon.Lambda.SQSEvents;
1717
using AWS.Lambda.Powertools.BatchProcessing;
18+
using AWS.Lambda.Powertools.BatchProcessing.Sqs;
1819
using AWS.Lambda.Powertools.Logging;
1920
using Microsoft.Extensions.DependencyInjection;
2021

@@ -24,6 +25,6 @@ internal class CustomSqsBatchProcessorProvider : IBatchProcessorProvider<SQSEven
2425
public IBatchProcessor<SQSEvent, SQSEvent.SQSMessage> Create()
2526
{
2627
Logger.LogInformation($"Creating SQS batch processor using: '{GetType().Name}'.");
27-
return Services.Provider.GetRequiredService<CustomSqsBatchProcessor>();
28+
return Services.Provider.GetRequiredService<ISqsBatchProcessor>();
2829
}
2930
}

examples/BatchProcessing/src/HelloWorld/Sqs/CustomSqsRecordHandlerProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@
1515

1616
using Amazon.Lambda.SQSEvents;
1717
using AWS.Lambda.Powertools.BatchProcessing;
18+
using AWS.Lambda.Powertools.BatchProcessing.Sqs;
1819
using Microsoft.Extensions.DependencyInjection;
1920

2021
namespace HelloWorld.Sqs;
2122
internal class CustomSqsRecordHandlerProvider : IRecordHandlerProvider<SQSEvent.SQSMessage>
2223
{
2324
public IRecordHandler<SQSEvent.SQSMessage> Create()
2425
{
25-
return Services.Provider.GetRequiredService<CustomSqsRecordHandler>();
26+
return Services.Provider.GetRequiredService<ISqsRecordHandler>();
2627
}
2728
}

0 commit comments

Comments
 (0)