

신중한 고려 끝에 Amazon Kinesis Data Analytics for SQL 애플리케이션을 중단하기로 결정했습니다.

1. **2025년 9월 1**일부터 Amazon Kinesis Data Analytics for SQL 애플리케이션에 대한 버그 수정은 제공되지 않습니다. 곧 중단될 예정이므로 지원이 제한될 예정이기 때문입니다.

2. **2025년 10월 15**일부터 새 Kinesis Data Analytics for SQL 애플리케이션을 생성할 수 없습니다.

3. **2026년 1월 27**일부터 애플리케이션이 삭제됩니다. Amazon Kinesis Data Analytics for SQL 애플리케이션을 시작하거나 작동할 수 없게 됩니다. 그 시점부터 Amazon Kinesis Data Analytics for SQL에 대한 지원을 더 이상 이용할 수 없습니다. 자세한 내용은 [Amazon Kinesis Data Analytics for SQL 애플리케이션 단종](discontinuation.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 애플리케이션 목적지용 Lambda 함수 생성
<a name="how-it-works-output-lambda-functions"></a>

Kinesis Data Analytics 애플리케이션은 AWS Lambda 함수를 출력으로 사용할 수 있습니다. Kinesis Data Analytics는 애플리케이션의 대상으로 사용할 Lambda 함수를 생성하기 위한 템플릿을 제공합니다. 이러한 템플릿은 애플리케이션에서 사후 처리 출력을 위한 시작점으로 사용합니다.

**Topics**
+ [

## Node.js에서 Lambda 함수 목적지 생성
](#how-it-works-lambda-dest-nodejs)
+ [

## Python에서 Lambda 함수 목적지 생성
](#how-it-works-lambda-dest-python)
+ [

## Java에서 Lambda 함수 목적지 생성
](#how-it-works-lambda-dest-java)
+ [

## .NET에서 Lambda 함수 목적지 생성
](#how-it-works-lambda-net)

## Node.js에서 Lambda 함수 목적지 생성
<a name="how-it-works-lambda-dest-nodejs"></a>

Node.js에서 Lambda 함수를 생성하는 다음 템플릿은 콘솔에서 사용할 수 있습니다:


| 출력 청사진으로서의 Lambda | 언어 및 버전 | 설명 | 
| --- | --- | --- | 
| kinesis-analytics-output | Node.js 12.x | Kinesis Data Analytics 애플리케이션의 출력 레코드를 맞춤 목적지로 전송합니다. | 

## Python에서 Lambda 함수 목적지 생성
<a name="how-it-works-lambda-dest-python"></a>

Python에서 목적지 Lambda 함수를 생성할 때 다음 템플릿은 콘솔에서 사용할 수 있습니다:


| 출력 청사진으로서의 Lambda | 언어 및 버전 | 설명 | 
| --- | --- | --- | 
| kinesis-analytics-output-sns | Python 2.7 | Kinesis Data Analytics 애플리케이션의 출력 기록을 Amazon SNS로 전송하십시오. | 
| kinesis-analytics-output-ddb | Python 2.7 | Kinesis Data Analytics 애플리케이션의 출력 기록을 Amazon DynamoDB로 전송하십시오. | 

## Java에서 Lambda 함수 목적지 생성
<a name="how-it-works-lambda-dest-java"></a>

Java에서 목적지 Lambda 함수를 생성하려면 [Java 이벤트](https://github.com/aws/aws-lambda-java-libs/tree/master/aws-lambda-java-events/src/main/java/com/amazonaws/services/lambda/runtime/events) 클래스를 사용합니다.

다음 코드는 Java를 사용한 목적지 Lambda 함수 예입니다:

```
public class LambdaFunctionHandler
        implements RequestHandler<KinesisAnalyticsOutputDeliveryEvent, KinesisAnalyticsOutputDeliveryResponse> {

    @Override
    public KinesisAnalyticsOutputDeliveryResponse handleRequest(KinesisAnalyticsOutputDeliveryEvent event,
            Context context) {
        context.getLogger().log("InvocatonId is : " + event.invocationId);
        context.getLogger().log("ApplicationArn is : " + event.applicationArn);

        List<KinesisAnalyticsOutputDeliveryResponse.Record> records = new ArrayList<KinesisAnalyticsOutputDeliveryResponse.Record>();
        KinesisAnalyticsOutputDeliveryResponse response = new KinesisAnalyticsOutputDeliveryResponse(records);

        event.records.stream().forEach(record -> {
            context.getLogger().log("recordId is : " + record.recordId);
            context.getLogger().log("record retryHint is :" + record.lambdaDeliveryRecordMetadata.retryHint);
            // Add logic here to transform and send the record to final destination of your choice.
            response.records.add(new Record(record.recordId, KinesisAnalyticsOutputDeliveryResponse.Result.Ok));
        });
        return response;
    }

}
```

## .NET에서 Lambda 함수 목적지 생성
<a name="how-it-works-lambda-net"></a>

.NET에서 목적지 Lambda 함수를 생성하려면 [.NET 이벤트](https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda.KinesisAnalyticsEvents) 클래스를 사용합니다.

다음 코드는 C\$1을 사용한 목적지 Lambda 함수 예입니다:

```
public class Function
    {
        public KinesisAnalyticsOutputDeliveryResponse FunctionHandler(KinesisAnalyticsOutputDeliveryEvent evnt, ILambdaContext context)
        {
            context.Logger.LogLine($"InvocationId: {evnt.InvocationId}");
            context.Logger.LogLine($"ApplicationArn: {evnt.ApplicationArn}");

            var response = new KinesisAnalyticsOutputDeliveryResponse
            {
                Records = new List<KinesisAnalyticsOutputDeliveryResponse.Record>()
            };

            foreach (var record in evnt.Records)
            {
                context.Logger.LogLine($"\tRecordId: {record.RecordId}");
                context.Logger.LogLine($"\tRetryHint: {record.RecordMetadata.RetryHint}");
                context.Logger.LogLine($"\tData: {record.DecodeData()}");

                // Add logic here to send to the record to final destination of your choice.

                var deliveredRecord = new KinesisAnalyticsOutputDeliveryResponse.Record
                {
                    RecordId = record.RecordId,
                    Result = KinesisAnalyticsOutputDeliveryResponse.OK
                };
                response.Records.Add(deliveredRecord);
            }
            return response;
        }
    }
```

.NET에서 사전 처리 및 목적지 Lambda 함수 생성에 대한 자세한 설명은 [https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda.KinesisAnalyticsEvents](https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda.KinesisAnalyticsEvents)을 참조하십시오.