mirror of
https://github.com/swift-server/swift-aws-lambda-runtime.git
synced 2026-05-03 07:22:27 +00:00
e58d89148c
- Adjust notice, security reporting, code of conduct, contribution process to the standard AWS documents - Adjust GitHub issue templates to AWS standard ones. - Adjust the license header in all source files --------- Co-authored-by: Sebastien Stormacq <stormacq@amazon.lu>
35 lines
1.2 KiB
Swift
35 lines
1.2 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the SwiftAWSLambdaRuntime open source project
|
|
//
|
|
// Copyright SwiftAWSLambdaRuntime project authors
|
|
// Copyright (c) Amazon.com, Inc. or its affiliates.
|
|
// Licensed under Apache License v2.0
|
|
//
|
|
// See LICENSE.txt for license information
|
|
// See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
import AWSLambdaEvents
|
|
import AWSLambdaRuntime
|
|
import Foundation
|
|
|
|
let runtime = LambdaRuntime { (event: S3Event, context: LambdaContext) async throws in
|
|
guard let s3NotificationRecord = event.records.first else {
|
|
context.logger.error("No S3 notification record found in the event")
|
|
return
|
|
}
|
|
|
|
let bucket = s3NotificationRecord.s3.bucket.name
|
|
let key = s3NotificationRecord.s3.object.key.replacingOccurrences(of: "+", with: " ")
|
|
|
|
context.logger.info("Received notification from S3 bucket '\(bucket)' for object with key '\(key)'")
|
|
|
|
// Here you could, for example, notify an API or a messaging service
|
|
}
|
|
|
|
try await runtime.run()
|