아파치 플링크용 매니지드 서비스 API 예제 코드 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

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

아파치 플링크용 매니지드 서비스 API 예제 코드

이 항목에는 Managed Service for Apache Flink 작업을 위한 예 요청 블록이 포함되어 있습니다.

AWS Command Line Interface (AWS CLI) 와 함께 JSON을 작업의 입력으로 사용하려면 요청을 JSON 파일에 저장합니다. 그런 다음 --cli-input-json 파라미터를 사용하여 파일 명칭을 작업에 전달합니다.

다음 예에서는 작업과 함께 JSON 파일을 사용하는 방법을 보여줍니다.

$ aws kinesisanalyticsv2 start-application --cli-input-json file://start.json

에서 JSON을 사용하는 방법에 대한 자세한 내용은 사용 AWS CLI설명서의 CLI 스켈레톤 및 CLI 입력 JSON 파라미터 생성을 참조하십시오.AWS Command Line Interface

AddApplicationCloudWatchLoggingOption

다음 예제 AddApplicationCloudWatchLoggingOption작업 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션에 Amazon CloudWatch 로깅 옵션을 추가합니다.

{ "ApplicationName": "MyApplication", "CloudWatchLoggingOption": { "LogStreamARN": "arn:aws:logs:us-east-1:123456789123:log-group:my-log-group:log-stream:My-LogStream" }, "CurrentApplicationVersionId": 2 }

AddApplicationInput

다음 예제 AddApplicationInput작업 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션에 애플리케이션 입력을 추가합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "Input": { "InputParallelism": { "Count": 2 }, "InputSchema": { "RecordColumns": [ { "Mapping": "$.TICKER", "Name": "TICKER_SYMBOL", "SqlType": "VARCHAR(50)" }, { "SqlType": "REAL", "Name": "PRICE", "Mapping": "$.PRICE" } ], "RecordEncoding": "UTF-8", "RecordFormat": { "MappingParameters": { "JSONMappingParameters": { "RecordRowPath": "$" } }, "RecordFormatType": "JSON" } }, "KinesisStreamsInput": { "ResourceARN": "arn:aws:kinesis:us-east-1:012345678901:stream/ExampleInputStream" } } }

AddApplicationInputProcessingConfiguration

다음 예제 AddApplicationInputProcessingConfiguration작업 요청 코드는 Apache Flink용 관리 서비스 애플리케이션에 애플리케이션 입력 처리 구성을 추가합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "InputId": "2.1", "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "arn:aws:lambda:us-east-1:012345678901:function:MyLambdaFunction" } } }

AddApplicationOutput

AddApplicationOutput작업에 대한 다음 예제 요청 코드는 Kinesis 데이터 스트림을 Apache Flink용 관리형 서비스 애플리케이션에 애플리케이션 출력으로 추가합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "Output": { "DestinationSchema": { "RecordFormatType": "JSON" }, "KinesisStreamsOutput": { "ResourceARN": "arn:aws:kinesis:us-east-1:012345678901:stream/ExampleOutputStream" }, "Name": "DESTINATION_SQL_STREAM" } }

AddApplicationReferenceDataSource

다음 예제 AddApplicationReferenceDataSource작업 요청 코드는 CSV 애플리케이션 참조 데이터 소스를 Apache Flink용 관리형 서비스 애플리케이션에 추가합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 5, "ReferenceDataSource": { "ReferenceSchema": { "RecordColumns": [ { "Mapping": "$.TICKER", "Name": "TICKER", "SqlType": "VARCHAR(4)" }, { "Mapping": "$.COMPANYNAME", "Name": "COMPANY_NAME", "SqlType": "VARCHAR(40)" }, ], "RecordEncoding": "UTF-8", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": " ", "RecordRowDelimiter": "\r\n" } }, "RecordFormatType": "CSV" } }, "S3ReferenceDataSource": { "BucketARN": "arn:aws:s3:::MyS3Bucket", "FileKey": "TickerReference.csv" }, "TableName": "string" } }

AddApplicationVpcConfiguration

AddApplicationVpcConfiguration작업에 대한 다음 예제 요청 코드는 기존 애플리케이션에 VPC 구성을 추가합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 9, "VpcConfiguration": { "SecurityGroupIds": [ "sg-0123456789abcdef0" ], "SubnetIds": [ "subnet-0123456789abcdef0" ] } }

CreateApplication

CreateApplication작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션을 생성합니다.

{ "ApplicationName":"MyApplication", "ApplicationDescription":"My-Application-Description", "RuntimeEnvironment":"FLINK-1_15", "ServiceExecutionRole":"arn:aws:iam::123456789123:role/myrole", "CloudWatchLoggingOptions":[ { "LogStreamARN":"arn:aws:logs:us-east-1:123456789123:log-group:my-log-group:log-stream:My-LogStream" } ], "ApplicationConfiguration": { "EnvironmentProperties": {"PropertyGroups": [ {"PropertyGroupId": "ConsumerConfigProperties", "PropertyMap": {"aws.region": "us-east-1", "flink.stream.initpos": "LATEST"} }, {"PropertyGroupId": "ProducerConfigProperties", "PropertyMap": {"aws.region": "us-east-1"} }, ] }, "ApplicationCodeConfiguration":{ "CodeContent":{ "S3ContentLocation":{ "BucketARN":"arn:aws:s3:::mybucket", "FileKey":"myflink.jar", "ObjectVersion":"AbCdEfGhIjKlMnOpQrStUvWxYz12345" } }, "CodeContentType":"ZIPFILE" }, "FlinkApplicationConfiguration":{ "ParallelismConfiguration":{ "ConfigurationType":"CUSTOM", "Parallelism":2, "ParallelismPerKPU":1, "AutoScalingEnabled":true } } } }

CreateApplicationSnapshot

CreateApplicationSnapshot작업에 대한 다음 예제 요청 코드는 애플리케이션 상태의 스냅샷을 생성합니다.

{ "ApplicationName": "MyApplication", "SnapshotName": "MySnapshot" }

DeleteApplication

DeleteApplication작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션을 삭제합니다.

{"ApplicationName": "MyApplication", "CreateTimestamp": 12345678912}

DeleteApplicationCloudWatchLoggingOption

다음 예제 DeleteApplicationCloudWatchLoggingOption작업 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션에서 Amazon CloudWatch 로깅 옵션을 삭제합니다.

{ "ApplicationName": "MyApplication", "CloudWatchLoggingOptionId": "3.1" "CurrentApplicationVersionId": 3 }

DeleteApplicationInputProcessingConfiguration

DeleteApplicationInputProcessingConfiguration작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션에서 입력 처리 구성을 제거합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "InputId": "2.1" }

DeleteApplicationOutput

DeleteApplicationOutput작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리 서비스 애플리케이션에서 애플리케이션 출력을 제거합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 4, "OutputId": "4.1" }

DeleteApplicationReferenceDataSource

DeleteApplicationReferenceDataSource작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리 서비스 애플리케이션에서 애플리케이션 참조 데이터 소스를 제거합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 5, "ReferenceId": "5.1" }

DeleteApplicationSnapshot

DeleteApplicationSnapshot작업에 대한 다음 예제 요청 코드는 애플리케이션 상태의 스냅샷을 삭제합니다.

{ "ApplicationName": "MyApplication", "SnapshotCreationTimestamp": 12345678912, "SnapshotName": "MySnapshot" }

DeleteApplicationVpcConfiguration

DeleteApplicationVpcConfiguration작업에 대한 다음 예제 요청 코드는 애플리케이션에서 기존 VPC 구성을 제거합니다.

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 9, "VpcConfigurationId": "1.1" }

DescribeApplication

DescribeApplication작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션에 대한 세부 정보를 반환합니다.

{"ApplicationName": "MyApplication"}

DescribeApplicationSnapshot

DescribeApplicationSnapshot작업에 대한 다음 예제 요청 코드는 애플리케이션 상태 스냅샷에 대한 세부 정보를 반환합니다.

{ "ApplicationName": "MyApplication", "SnapshotName": "MySnapshot" }

DiscoverInputSchema

다음 예제 DiscoverInputSchema작업 요청 코드는 스트리밍 소스에서 스키마를 생성합니다.

{ "InputProcessingConfiguration": { "InputLambdaProcessor": { "ResourceARN": "arn:aws:lambda:us-east-1:012345678901:function:MyLambdaFunction" } }, "InputStartingPositionConfiguration": { "InputStartingPosition": "NOW" }, "ResourceARN": "arn:aws:kinesis:us-east-1:012345678901:stream/ExampleInputStream", "S3Configuration": { "BucketARN": "string", "FileKey": "string" }, "ServiceExecutionRole": "string" }

다음 예제 DiscoverInputSchema작업 요청 코드는 참조 소스에서 스키마를 생성합니다.

{ "S3Configuration": { "BucketARN": "arn:aws:s3:::mybucket", "FileKey": "TickerReference.csv" }, "ServiceExecutionRole": "arn:aws:iam::123456789123:role/myrole" }

ListApplications

다음 예제 ListApplications작업 요청 코드는 계정의 Apache Flink 관리 서비스 애플리케이션 목록을 반환합니다.

{ "ExclusiveStartApplicationName": "MyApplication", "Limit": 50 }

ListApplicationSnapshots

ListApplicationSnapshots작업에 대한 다음 예제 요청 코드는 애플리케이션 상태의 스냅샷 목록을 반환합니다.

{"ApplicationName": "MyApplication", "Limit": 50, "NextToken": "aBcDeFgHiJkLmNoPqRsTuVwXyZ0123" }

StartApplication

다음 예제 StartApplication작업 요청 코드는 Apache Flink용 Managed Service for Apache Flink 애플리케이션을 시작하고 최신 스냅샷 (있는 경우) 에서 애플리케이션 상태를 로드합니다.

{ "ApplicationName": "MyApplication", "RunConfiguration": { "ApplicationRestoreConfiguration": { "ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT" } } }

StopApplication

API_ StopApplication 작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리 서비스 애플리케이션을 중지합니다.

{"ApplicationName": "MyApplication"}

UpdateApplication

UpdateApplication작업에 대한 다음 예제 요청 코드는 Apache Flink용 관리형 서비스 애플리케이션을 업데이트하여 애플리케이션 코드의 위치를 변경합니다.

{"ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationCodeConfigurationUpdate": { "CodeContentTypeUpdate": "ZIPFILE", "CodeContentUpdate": { "S3ContentLocationUpdate": { "BucketARNUpdate": "arn:aws:s3:::my_new_bucket", "FileKeyUpdate": "my_new_code.zip", "ObjectVersionUpdate": "2" } } } }