Skip to content

Commit 26a3084

Browse files
authored
Merge pull request #934 from aws-powertools/chore/ua-change-env
chore: update environment variable references to use AWS_SDK_UA_APP_ID
2 parents 1fe8ede + 531eb6a commit 26a3084

File tree

73 files changed

+1542
-563
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+1542
-563
lines changed

libraries/AWS.Lambda.Powertools.sln

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka
123123
EndProject
124124
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.Kafka.Protobuf", "src\AWS.Lambda.Powertools.Kafka.Protobuf\AWS.Lambda.Powertools.Kafka.Protobuf.csproj", "{B640DB80-C982-407B-A2EC-CD29AC77DDB8}"
125125
EndProject
126+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AWS.Lambda.Powertools.ModuleInitializer.Tests", "tests\AWS.Lambda.Powertools.ModuleInitializer.Tests\AWS.Lambda.Powertools.ModuleInitializer.Tests.csproj", "{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}"
127+
EndProject
128+
126129
Global
127130
GlobalSection(SolutionConfigurationPlatforms) = preSolution
128131
Debug|Any CPU = Debug|Any CPU
@@ -688,6 +691,19 @@ Global
688691
{B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x64.Build.0 = Release|Any CPU
689692
{B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x86.ActiveCfg = Release|Any CPU
690693
{B640DB80-C982-407B-A2EC-CD29AC77DDB8}.Release|x86.Build.0 = Release|Any CPU
694+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
695+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
696+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|x64.ActiveCfg = Debug|Any CPU
697+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|x64.Build.0 = Debug|Any CPU
698+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|x86.ActiveCfg = Debug|Any CPU
699+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Debug|x86.Build.0 = Debug|Any CPU
700+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
701+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|Any CPU.Build.0 = Release|Any CPU
702+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|x64.ActiveCfg = Release|Any CPU
703+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|x64.Build.0 = Release|Any CPU
704+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|x86.ActiveCfg = Release|Any CPU
705+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B}.Release|x86.Build.0 = Release|Any CPU
706+
691707
EndGlobalSection
692708

693709
GlobalSection(NestedProjects) = preSolution
@@ -746,5 +762,7 @@ Global
746762
{25F0929B-2E04-4ED6-A0ED-5379A0A755B0} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
747763
{9E2B8160-3E76-4B33-86AB-DE35A5FCDB1E} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
748764
{B640DB80-C982-407B-A2EC-CD29AC77DDB8} = {73C9B1E5-3893-47E8-B373-17E5F5D7E6F5}
765+
{E1F2A3B4-C5D6-7E8F-9A0B-1C2D3E4F5A6B} = {1CFF5568-8486-475F-81F6-06105C437528}
766+
749767
EndGlobalSection
750768
EndGlobal

libraries/src/AWS.Lambda.Powertools.BatchProcessing/AWS.Lambda.Powertools.BatchProcessing.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,10 @@
1616
<PackageReference Include="Amazon.Lambda.SQSEvents" />
1717
<ProjectReference Include="..\AWS.Lambda.Powertools.Common\AWS.Lambda.Powertools.Common.csproj" Condition="'$(Configuration)'=='Debug'"/>
1818
</ItemGroup>
19+
20+
<!-- Include MSBuild targets in the NuGet package -->
21+
<ItemGroup>
22+
<None Include="build\AWS.Lambda.Powertools.BatchProcessing.targets" Pack="true" PackagePath="build\AWS.Lambda.Powertools.BatchProcessing.targets" />
23+
</ItemGroup>
24+
1925
</Project>

libraries/src/AWS.Lambda.Powertools.BatchProcessing/BatchProcessor.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
using System.Threading;
66
using System.Threading.Tasks;
77
using AWS.Lambda.Powertools.BatchProcessing.Exceptions;
8-
using AWS.Lambda.Powertools.Common;
98

109
namespace AWS.Lambda.Powertools.BatchProcessing;
1110

@@ -16,14 +15,6 @@ namespace AWS.Lambda.Powertools.BatchProcessing;
1615
/// <typeparam name="TRecord">Type of batch record.</typeparam>
1716
public abstract class BatchProcessor<TEvent, TRecord> : IBatchProcessor<TEvent, TRecord>
1817
{
19-
/// <summary>
20-
/// Default constructor
21-
/// </summary>
22-
protected BatchProcessor(IPowertoolsConfigurations powertoolsConfigurations)
23-
{
24-
powertoolsConfigurations.SetExecutionEnvironment(this);
25-
}
26-
2718
/// <inheritdoc />
2819
public ProcessingResult<TRecord> ProcessingResult { get; protected set; }
2920

libraries/src/AWS.Lambda.Powertools.BatchProcessing/DynamoDb/DynamoDbStreamBatchProcessor.cs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
using System.Collections.Generic;
44
using Amazon.Lambda.DynamoDBEvents;
5-
using AWS.Lambda.Powertools.Common;
65

76
namespace AWS.Lambda.Powertools.BatchProcessing.DynamoDb;
87

@@ -20,23 +19,16 @@ public class DynamoDbStreamBatchProcessor : BatchProcessor<DynamoDBEvent, Dynamo
2019
/// The singleton instance of the batch processor.
2120
/// </summary>
2221
public static IDynamoDbStreamBatchProcessor Instance =>
23-
_instance ??= new DynamoDbStreamBatchProcessor(PowertoolsConfigurations.Instance);
22+
_instance ??= new DynamoDbStreamBatchProcessor();
23+
2424

25-
/// <summary>
26-
/// This is the default constructor
27-
/// </summary>
28-
/// <param name="powertoolsConfigurations"></param>
29-
public DynamoDbStreamBatchProcessor(IPowertoolsConfigurations powertoolsConfigurations) : base(powertoolsConfigurations)
30-
{
31-
_instance = this;
32-
}
33-
3425
/// <summary>
3526
/// Need default constructor for when consumers create a custom batch processor
3627
/// </summary>
3728
// ReSharper disable once MemberCanBePrivate.Global
38-
protected DynamoDbStreamBatchProcessor() : this(PowertoolsConfigurations.Instance)
29+
protected DynamoDbStreamBatchProcessor()
3930
{
31+
_instance = this;
4032
}
4133

4234
/// <summary>

libraries/src/AWS.Lambda.Powertools.BatchProcessing/DynamoDb/TypedDynamoDbStreamBatchProcessor.cs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using Amazon.Lambda.DynamoDBEvents;
88
using AWS.Lambda.Powertools.BatchProcessing.Exceptions;
99
using AWS.Lambda.Powertools.BatchProcessing.Internal;
10-
using AWS.Lambda.Powertools.Common;
1110

1211
namespace AWS.Lambda.Powertools.BatchProcessing.DynamoDb;
1312

@@ -20,30 +19,18 @@ public class TypedDynamoDbStreamBatchProcessor : DynamoDbStreamBatchProcessor, I
2019
private readonly IRecordDataExtractor<DynamoDBEvent.DynamodbStreamRecord> _recordDataExtractor;
2120

2221

23-
2422
/// <summary>
2523
/// Initializes a new instance of the TypedDynamoDbStreamBatchProcessor class.
2624
/// </summary>
27-
/// <param name="powertoolsConfigurations">The Powertools configurations.</param>
2825
/// <param name="deserializationService">The deserialization service. If null, uses JsonDeserializationService.Instance.</param>
2926
/// <param name="recordDataExtractor">The record data extractor. If null, uses DynamoDbRecordDataExtractor.Instance.</param>
30-
public TypedDynamoDbStreamBatchProcessor(
31-
IPowertoolsConfigurations powertoolsConfigurations,
32-
IDeserializationService deserializationService = null,
27+
public TypedDynamoDbStreamBatchProcessor(IDeserializationService deserializationService = null,
3328
IRecordDataExtractor<DynamoDBEvent.DynamodbStreamRecord> recordDataExtractor = null)
34-
: base(powertoolsConfigurations)
3529
{
3630
_deserializationService = deserializationService ?? JsonDeserializationService.Instance;
3731
_recordDataExtractor = recordDataExtractor ?? DynamoDbRecordDataExtractor.Instance;
3832
}
3933

40-
/// <summary>
41-
/// Default constructor for when consumers create a custom typed batch processor.
42-
/// </summary>
43-
protected TypedDynamoDbStreamBatchProcessor() : this(PowertoolsConfigurations.Instance)
44-
{
45-
}
46-
4734
/// <inheritdoc />
4835
public async Task<ProcessingResult<DynamoDBEvent.DynamodbStreamRecord>> ProcessAsync<T>(
4936
DynamoDBEvent @event,
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using AWS.Lambda.Powertools.Common;
2+
3+
namespace AWS.Lambda.Powertools.BatchProcessing.Internal
4+
{
5+
/// <summary>
6+
/// Wrapper class to set the execution environment
7+
/// </summary>
8+
public static class EnvWrapper
9+
{
10+
/// <summary>
11+
/// Sets the execution environment
12+
/// </summary>
13+
public static void SetExecutionEnvironment()
14+
{
15+
PowertoolsEnvironment.Instance.SetExecutionEnvironment(typeof(EnvWrapper));
16+
}
17+
}
18+
}

libraries/src/AWS.Lambda.Powertools.BatchProcessing/Kinesis/KinesisEventBatchProcessor.cs

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System.Collections.Generic;
22
using Amazon.Lambda.KinesisEvents;
3-
using AWS.Lambda.Powertools.Common;
43

54
namespace AWS.Lambda.Powertools.BatchProcessing.Kinesis;
65

@@ -18,25 +17,16 @@ public class KinesisEventBatchProcessor : BatchProcessor<KinesisEvent, KinesisEv
1817
/// The singleton instance of the batch processor.
1918
/// </summary>
2019
public static IKinesisEventBatchProcessor Instance =>
21-
_instance ??= new KinesisEventBatchProcessor(PowertoolsConfigurations.Instance);
22-
23-
/// <summary>
24-
/// This is the default constructor
25-
/// </summary>
26-
/// <param name="powertoolsConfigurations"></param>
27-
public KinesisEventBatchProcessor(IPowertoolsConfigurations powertoolsConfigurations) : base(powertoolsConfigurations)
28-
{
29-
_instance = this;
30-
}
20+
_instance ??= new KinesisEventBatchProcessor();
3121

3222
/// <summary>
3323
/// Need default constructor for when consumers create a custom batch processor
3424
/// </summary>
35-
// ReSharper disable once MemberCanBePrivate.Global
36-
protected KinesisEventBatchProcessor() : this(PowertoolsConfigurations.Instance)
25+
protected KinesisEventBatchProcessor()
3726
{
27+
_instance = this;
3828
}
39-
29+
4030
/// <summary>
4131
/// Return the instance ProcessingResult
4232
/// </summary>

libraries/src/AWS.Lambda.Powertools.BatchProcessing/Kinesis/TypedKinesisEventBatchProcessor.cs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using Amazon.Lambda.KinesisEvents;
88
using AWS.Lambda.Powertools.BatchProcessing.Exceptions;
99
using AWS.Lambda.Powertools.BatchProcessing.Internal;
10-
using AWS.Lambda.Powertools.Common;
1110

1211
namespace AWS.Lambda.Powertools.BatchProcessing.Kinesis;
1312

@@ -20,30 +19,18 @@ public class TypedKinesisEventBatchProcessor : KinesisEventBatchProcessor, IType
2019
private readonly IRecordDataExtractor<KinesisEvent.KinesisEventRecord> _recordDataExtractor;
2120

2221

23-
2422
/// <summary>
2523
/// Initializes a new instance of the TypedKinesisEventBatchProcessor class.
2624
/// </summary>
27-
/// <param name="powertoolsConfigurations">The Powertools configurations.</param>
2825
/// <param name="deserializationService">The deserialization service. If null, uses JsonDeserializationService.Instance.</param>
2926
/// <param name="recordDataExtractor">The record data extractor. If null, uses KinesisRecordDataExtractor.Instance.</param>
30-
public TypedKinesisEventBatchProcessor(
31-
IPowertoolsConfigurations powertoolsConfigurations,
32-
IDeserializationService deserializationService = null,
27+
public TypedKinesisEventBatchProcessor(IDeserializationService deserializationService = null,
3328
IRecordDataExtractor<KinesisEvent.KinesisEventRecord> recordDataExtractor = null)
34-
: base(powertoolsConfigurations)
3529
{
3630
_deserializationService = deserializationService ?? JsonDeserializationService.Instance;
3731
_recordDataExtractor = recordDataExtractor ?? KinesisRecordDataExtractor.Instance;
3832
}
3933

40-
/// <summary>
41-
/// Default constructor for when consumers create a custom typed batch processor.
42-
/// </summary>
43-
protected TypedKinesisEventBatchProcessor() : this(PowertoolsConfigurations.Instance)
44-
{
45-
}
46-
4734
/// <inheritdoc />
4835
public async Task<ProcessingResult<KinesisEvent.KinesisEventRecord>> ProcessAsync<T>(
4936
KinesisEvent @event,

libraries/src/AWS.Lambda.Powertools.BatchProcessing/Sqs/SqsBatchProcessor.cs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using Amazon.Lambda.SQSEvents;
5-
using AWS.Lambda.Powertools.Common;
65

76
namespace AWS.Lambda.Powertools.BatchProcessing.Sqs;
87

@@ -20,22 +19,14 @@ public class SqsBatchProcessor : BatchProcessor<SQSEvent, SQSEvent.SQSMessage>,
2019
/// Gets the instance.
2120
/// </summary>
2221
/// <value>The instance.</value>
23-
public static ISqsBatchProcessor Instance => _instance ??= new SqsBatchProcessor(PowertoolsConfigurations.Instance);
24-
25-
/// <summary>
26-
/// This is the default constructor
27-
/// </summary>
28-
/// <param name="powertoolsConfigurations"></param>
29-
public SqsBatchProcessor(IPowertoolsConfigurations powertoolsConfigurations) : base(powertoolsConfigurations)
30-
{
31-
_instance = this;
32-
}
33-
22+
public static ISqsBatchProcessor Instance => _instance ??= new SqsBatchProcessor();
23+
3424
/// <summary>
3525
/// Need default constructor for when consumers create a custom batch processor
3626
/// </summary>
37-
protected SqsBatchProcessor() : this(PowertoolsConfigurations.Instance)
27+
public SqsBatchProcessor()
3828
{
29+
_instance = this;
3930
}
4031

4132
/// <summary>

libraries/src/AWS.Lambda.Powertools.BatchProcessing/Sqs/TypedSqsBatchProcessor.cs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using Amazon.Lambda.SQSEvents;
88
using AWS.Lambda.Powertools.BatchProcessing.Exceptions;
99
using AWS.Lambda.Powertools.BatchProcessing.Internal;
10-
using AWS.Lambda.Powertools.Common;
1110

1211
namespace AWS.Lambda.Powertools.BatchProcessing.Sqs;
1312

@@ -20,30 +19,18 @@ public class TypedSqsBatchProcessor : SqsBatchProcessor, ITypedBatchProcessor<SQ
2019
private readonly IRecordDataExtractor<SQSEvent.SQSMessage> _recordDataExtractor;
2120

2221

23-
2422
/// <summary>
2523
/// Initializes a new instance of the TypedSqsBatchProcessor class.
2624
/// </summary>
27-
/// <param name="powertoolsConfigurations">The Powertools configurations.</param>
2825
/// <param name="deserializationService">The deserialization service. If null, uses JsonDeserializationService.Instance.</param>
2926
/// <param name="recordDataExtractor">The record data extractor. If null, uses SqsRecordDataExtractor.Instance.</param>
30-
public TypedSqsBatchProcessor(
31-
IPowertoolsConfigurations powertoolsConfigurations,
32-
IDeserializationService deserializationService = null,
27+
public TypedSqsBatchProcessor(IDeserializationService deserializationService = null,
3328
IRecordDataExtractor<SQSEvent.SQSMessage> recordDataExtractor = null)
34-
: base(powertoolsConfigurations)
3529
{
3630
_deserializationService = deserializationService ?? JsonDeserializationService.Instance;
3731
_recordDataExtractor = recordDataExtractor ?? SqsRecordDataExtractor.Instance;
3832
}
3933

40-
/// <summary>
41-
/// Default constructor for when consumers create a custom typed batch processor.
42-
/// </summary>
43-
protected TypedSqsBatchProcessor() : this(PowertoolsConfigurations.Instance)
44-
{
45-
}
46-
4734
/// <inheritdoc />
4835
public async Task<ProcessingResult<SQSEvent.SQSMessage>> ProcessAsync<T>(
4936
SQSEvent @event,

0 commit comments

Comments
 (0)