1717const string bucketName = "elastic-docs-link-index" ;
1818const string indexFile = "link-index-test.json" ;
1919
20- await LambdaBootstrapBuilder . Create < SQSEvent > ( Handler , new SourceGeneratorLambdaJsonSerializer < SQSEventSerializerContext > ( ) )
20+ await LambdaBootstrapBuilder . Create < SQSEvent > ( Handler , new SourceGeneratorLambdaJsonSerializer < LinkIndexUpdaterSerializerContext > ( ) )
2121 . Build ( )
2222 . RunAsync ( ) ;
2323
@@ -82,8 +82,8 @@ static async Task<SQSBatchResponse> Handler(SQSEvent ev, ILambdaContext context)
8282 catch ( Exception ex )
8383 {
8484 // if we fail to update the object, we need to return all the messages
85- context . Logger . LogError ( $ "Failed to update { bucketName } /{ indexFile } . Returning all messages to the queue.") ;
86- context . Logger . LogError ( ex . Message ) ;
85+ context . Logger . LogError ( $ "Failed to update { bucketName } /{ indexFile } . Returning all { ev . Records . Count } messages to the queue.") ;
86+ context . Logger . LogError ( ex , ex . Message ) ;
8787 return new SQSBatchResponse ( ev . Records . Select ( r => new SQSBatchResponse . BatchItemFailure
8888 {
8989 ItemIdentifier = r . MessageId
@@ -96,14 +96,14 @@ static async Task<SQSBatchResponse> Handler(SQSEvent ev, ILambdaContext context)
9696 if ( string . IsNullOrEmpty ( message . Body ) )
9797 throw new Exception ( "No Body in SQS Message." ) ;
9898 context . Logger . LogInformation ( $ "Received message { message . Body } ") ;
99- var s3Event = JsonSerializer . Deserialize < S3EventNotification > ( message . Body , SQSEventSerializerContext . Default . S3EventNotification ) ;
99+ var s3Event = JsonSerializer . Deserialize < S3EventNotification > ( message . Body , LinkIndexUpdaterSerializerContext . Default . S3EventNotification ) ;
100100 if ( s3Event ? . Records == null || s3Event . Records . Count == 0 )
101101 throw new Exception ( "Invalid S3 event message format" ) ;
102102 var linkReferences = new ConcurrentBag < ( S3EventRecord , LinkReference ) > ( ) ;
103103 await Parallel . ForEachAsync ( s3Event . Records , async ( record , ctx ) =>
104104 {
105105 var s3Bucket = record . S3 . Bucket ;
106- var s3Object = record . S3 . S3Object ;
106+ var s3Object = record . S3 . Obj ;
107107 context . Logger . LogInformation ( $ "Get object { s3Object . Key } from bucket { s3Bucket . Name } ") ;
108108 var getObjectResponse = await s3Client . GetObjectAsync ( s3Bucket . Name , s3Object . Key , ctx ) ;
109109 await using var stream = getObjectResponse . ResponseStream ;
@@ -118,7 +118,7 @@ await Parallel.ForEachAsync(s3Event.Records, async (record, ctx) =>
118118
119119static void UpdateLinkIndex ( LinkIndex linkIndex , LinkReference linkReference , S3EventRecord s3EventRecord , ILambdaContext context )
120120{
121- var s3Object = s3EventRecord . S3 . S3Object ;
121+ var s3Object = s3EventRecord . S3 . Obj ;
122122 var keyTokens = s3Object . Key . Split ( '/' ) ;
123123 var repository = keyTokens [ 1 ] ;
124124 var branch = keyTokens [ 2 ] ;
0 commit comments