CreateEventSourceMapping
이벤트 소스와 AWS Lambda Lambda 함수 간의 매핑을 만듭니다. Lambda는 이벤트 소스에서 항목을 읽고 함수를 호출합니다.
다양한 이벤트 소스를 구성하는 방법에 대한 자세한 내용은 다음 주제를 참조하십시오.
다음 오류 처리 옵션은 스트림 소스(DynamoDB 및 Kinesis)에만 사용할 수 있습니다.
-
BisectBatchOnFunctionError
- 함수가 오류를 반환하면 배치를 2개로 분할하고 다시 시도합니다. -
DestinationConfig
- 삭제된 레코드를 Amazon SQS 대기열 또는 Amazon SNS 주제로 보냅니다. -
MaximumRecordAgeInSeconds
- 지정된 기간보다 오래된 레코드를 삭제합니다. 기본값은 무한(-1)입니다. 무한(-1)으로 설정하면 레코드가 만료될 때까지 실패한 레코드가 다시 시도됩니다. -
MaximumRetryAttempts
- 지정된 횟수만큼 재시도한 후에 레코드를 삭제합니다. 기본값은 무한(-1)입니다. 무한(-1)으로 설정하면 레코드가 만료될 때까지 실패한 레코드가 다시 시도됩니다. -
ParallelizationFactor
- 각 샤드의 여러 배치를 동시에 처리합니다.
각 이벤트 소스에 적용되는 구성 파라미터에 대한 자세한 내용은 다음 주제를 참조하십시오.
Request Syntax
POST /2015-03-31/event-source-mappings/ HTTP/1.1
Content-type: application/json
{
"AmazonManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string
"
},
"BatchSize": number
,
"BisectBatchOnFunctionError": boolean
,
"DestinationConfig": {
"OnFailure": {
"Destination": "string
"
},
"OnSuccess": {
"Destination": "string
"
}
},
"DocumentDBEventSourceConfig": {
"CollectionName": "string
",
"DatabaseName": "string
",
"FullDocument": "string
"
},
"Enabled": boolean
,
"EventSourceArn": "string
",
"FilterCriteria": {
"Filters": [
{
"Pattern": "string
"
}
]
},
"FunctionName": "string
",
"FunctionResponseTypes": [ "string
" ],
"MaximumBatchingWindowInSeconds": number
,
"MaximumRecordAgeInSeconds": number
,
"MaximumRetryAttempts": number
,
"ParallelizationFactor": number
,
"Queues": [ "string
" ],
"ScalingConfig": {
"MaximumConcurrency": number
},
"SelfManagedEventSource": {
"Endpoints": {
"string
" : [ "string
" ]
}
},
"SelfManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string
"
},
"SourceAccessConfigurations": [
{
"Type": "string
",
"URI": "string
"
}
],
"StartingPosition": "string
",
"StartingPositionTimestamp": number
,
"Topics": [ "string
" ],
"TumblingWindowInSeconds": number
}
URI 요청 파라미터
요청은 URI 파라미터를 사용하지 않습니다.
요청 본문
요청은 JSON 형식으로 다음 데이터를 받습니다.
- AmazonManagedKafkaEventSourceConfig
-
Amazon Managed Streaming for Apache Kafka(Amazon MSK) 이벤트 소스에 대한 특정 구성 설정입니다.
유형: AmazonManagedKafkaEventSourceConfig객체
필수 항목 여부: 아니요
- BatchSize
-
Lambda가 스트림 또는 대기열에서 풀링하여 함수로 보내는 각 배치의 최대 레코드 수입니다. Lambda는 동기식 호출에 대한 페이로드 제한(6MB)까지 단일 호출로 배치의 모든 레코드를 함수로 전달합니다.
-
Amazon Kinesis - 기본값 100. 최대 10,000.
-
Amazon DynamoDB Streams - 기본값 100. 최대 10,000.
-
Amazon Simple Queue Service - 기본값 10. 표준 대기열의 경우 최대값은 10,000입니다. FIFO 대기열의 경우 최대값은 10입니다.
-
Amazon Managed Streaming for Apache Kafka - 기본값 100. 최대 10,000.
-
Self-managed Apache Kafka - 기본값은 100입니다. 최대 10,000.
-
Amazon MQ(ActiveMQ 및 RabbitMQ) - 기본값 100. 최대 10,000.
-
DocumentDB — 기본값 100입니다. 최대 10,000.
Type: 정수
유효한 범위: 최소값 1. 최대값은 10,000입니다.
필수 항목 여부: 아니요
-
- BisectBatchOnFunctionError
-
(Kinesis와 DynamoDB 스트림만 해당) 함수가 오류를 반환하면 배치를 둘로 분할하고 다시 시도합니다.
유형: 부울
필수 항목 여부: 아니요
- DestinationConfig
-
(Kinesis, DynamoDB Streams, Amazon MSK 및 자체 관리형 Kafka에만 해당)Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.
유형: DestinationConfig객체
필수 항목 여부: 아니요
- DocumentDBEventSourceConfig
-
DocumentDB 이벤트 소스에 대한 특정 구성 설정입니다.
유형: DocumentDBEventSourceConfig객체
필수 항목 여부: 아니요
- Enabled
-
true이면 이벤트 소스 매핑이 활성 상태입니다. false이면 Lambda는 폴링 및 호출을 일시 중지합니다.
기본값: True
유형: 부울
필수 항목 여부: 아니요
- EventSourceArn
-
이벤트 소스의 Amazon 리소스 이름(ARN)입니다.
-
Amazon Kinesis - 데이터 스트림 또는 스트림 소비자의 ARN입니다.
-
Amazon DynamoDB Streams - 스트림의 ARN입니다.
-
Amazon Simple Queue Service - 대기열의 ARN입니다.
-
Amazon Managed Streaming for Apache Kafka - 클러스터의 ARN 또는 VPC 연결의 ARN (계정 간 이벤트 소스 매핑용)
-
Amazon MQ - 브로커의 ARN입니다.
-
Amazon DocumentDB — DocumentDB 변경 스트림의 ARN입니다.
유형: 문자열
패턴:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
필수 항목 여부: 아니요
-
- FilterCriteria
-
Lambda가 이벤트를 처리해야 하는지를 결정하는 필터 기준을 정의하는 객체입니다. 자세한 내용은 Lambda 이벤트 필터링을 참조하세요.
유형: FilterCriteria객체
필수 항목 여부: 아니요
- FunctionName
-
Lambda 함수의 이름입니다.
이름 형식
-
함수 이름 -
MyFunction
. -
함수 ARN -
arn:aws:lambda:us-west-2:123456789012:function:MyFunction
. -
버전 또는 별칭 ARN -
arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD
. -
부분적 ARN -
123456789012:function:MyFunction
.
길이 제한은 전체 ARN에만 적용됩니다. 함수 이름만 지정하는 경우, 길이가 64자로 제한됩니다.
유형: 문자열
길이 제약: 최소 길이는 1. 최대 길이는 140입니다.
Pattern:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
필수 항목 여부: 예
-
- FunctionResponseTypes
-
(Kinesis, DynamoDB Streams 및 Amazon SQS) 이벤트 소스 매핑에 적용된 현재 응답 유형 열거형 목록입니다.
유형: 문자열 배열
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 1개입니다.
유효 값:
ReportBatchItemFailures
필수 항목 여부: 아니요
- MaximumBatchingWindowInSeconds
-
Lambda가 함수를 호출하기 전에 레코드를 수집하는 데 걸리는 최대 시간(초)입니다.
MaximumBatchingWindowInSeconds
는 0초에서 300초 사이의 값을 초 단위로 구성할 수 있습니다.스트림 및 Amazon SQS 이벤트 소스의 경우 기본 일괄 처리 기간은 0초입니다. Amazon MSK, 자체 관리형 Apache Kafka 및 Amazon MQ, DocumentDB 이벤트 소스의 경우 기본 일괄 처리 시간은 500ms입니다.
MaximumBatchingWindowInSeconds
는 초 단위로만 변경할 수 있기 때문에 변경한 후에는 500ms 기본 일괄 처리 기간으로 되돌릴 수 없습니다. 기본 일괄 처리 기간을 복원하려면 새 이벤트 소스 매핑을 생성해야 합니다.관련 설정: 스트림 및 Amazon SQS 이벤트 소스의 경우,
BatchSize
를 10보다 큰 값으로 설정하면MaximumBatchingWindowInSeconds
를 1이상으로 설정해야 합니다.유형: 정수
유효한 범위: 최소값 0. 최대값 300입니다.
필수 항목 여부: 아니요
- MaximumRecordAgeInSeconds
-
(Kinesis와 DynamoDB 스트림만 해당) 지정된 기간보다 오래된 레코드를 삭제합니다. 기본값은 무한(-1)입니다.
Type: 정수
유효한 범위: 최소값은 -1입니다. 최대값 604,800입니다.
필수 항목 여부: 아니요
- MaximumRetryAttempts
-
(Kinesis와 DynamoDB 스트림만 해당) 지정된 횟수의 재시도 후에 레코드를 삭제합니다. 기본값은 무한(-1)입니다. 무한(-1)으로 설정하면 레코드가 만료될 때까지 실패한 레코드가 다시 시도됩니다.
유형: 정수
유효한 범위: 최소값은 -1입니다. 최대값은 10,000입니다.
필수 항목 여부: 아니요
- ParallelizationFactor
-
(Kinesis와 DynamoDB스트림만 해당) 각 샤드에서 동시에 처리할 배치 수입니다.
유형: 정수
유효한 범위: 최소값 1. 최대값은 10입니다.
필수 항목 여부: 아니요
- Queues
-
(MQ) 소비할 Amazon MQ 브로커 대상 대기열의 이름입니다.
유형: 문자열 배열
배열 멤버: 고정된 항목 수는 1개입니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 1,000입니다.
패턴:
[\s\S]*
필수 항목 여부: 아니요
- ScalingConfig
-
(Amazon SQS만 해당) 이벤트 소스의 크기 조정 구성입니다. 자세한 내용은 Amazon SQS 이벤트 소스의 최대 동시성 구성을 참조하세요.
유형: ScalingConfig객체
필수 항목 여부: 아니요
- SelfManagedEventSource
-
레코드를 받을 자체 관리형 Apache Kafka 클러스터입니다.
유형: SelfManagedEventSource객체
필수 항목 여부: 아니요
- SelfManagedKafkaEventSourceConfig
-
자체 관리형 Apache Kafka 이벤트 소스에 대한 특정 구성 설정입니다.
유형: SelfManagedKafkaEventSourceConfig객체
필수 항목 여부: 아니요
- SourceAccessConfigurations
-
이벤트 소스를 보호하는 데 필요한 인증 프로토콜 또는 VPC 구성 요소 배열입니다.
유형: SourceAccessConfiguration 객체 배열
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 22개입니다.
필수 항목 여부: 아니요
- StartingPosition
-
읽기를 시작하는 스트림 내의 위치입니다. Amazon Kinesis 및 Amazon DynamoDB Streams 이벤트 소스에 필요합니다.
AT_TIMESTAMP
는 Amazon DynamoDB Streams, Amazon DocumentDB, Amazon MSK, 자체 관리형 Apache Kafka에 대해서만 지원됩니다.유형: 문자열
유효 값:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
필수 항목 여부: 아니요
- StartingPositionTimestamp
-
StartingPosition
을AT_TIMESTAMP
로 설정했을 때 읽기를 시작하는 시간(Unix 시간 초)입니다.StartingPositionTimestamp
는 미래가 될 수 없습니다.유형: 타임스탬프
필수 항목 여부: 아니요
- Topics
-
Kafka 주제의 이름입니다.
유형: 문자열 배열
배열 멤버: 고정된 항목 수는 1개입니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 249입니다.
패턴:
^[^.]([a-zA-Z0-9\-_.]+)
필수 항목 여부: 아니요
- TumblingWindowInSeconds
-
(Kinesis 및 DynamoDB 스트림만 해당) DynamoDB 및 Kinesis 스트림 이벤트 소스에 대한 처리 시간(초)입니다. 값이 0초이면 텀블링 윈도우가 없음을 나타냅니다.
유형: 정수
유효한 범위: 최소값 0. 최대값은 900입니다.
Required: No
응답 구문
HTTP/1.1 202
Content-type: application/json
{
"AmazonManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string"
},
"BatchSize": number,
"BisectBatchOnFunctionError": boolean,
"DestinationConfig": {
"OnFailure": {
"Destination": "string"
},
"OnSuccess": {
"Destination": "string"
}
},
"DocumentDBEventSourceConfig": {
"CollectionName": "string",
"DatabaseName": "string",
"FullDocument": "string"
},
"EventSourceArn": "string",
"FilterCriteria": {
"Filters": [
{
"Pattern": "string"
}
]
},
"FunctionArn": "string",
"FunctionResponseTypes": [ "string" ],
"LastModified": number,
"LastProcessingResult": "string",
"MaximumBatchingWindowInSeconds": number,
"MaximumRecordAgeInSeconds": number,
"MaximumRetryAttempts": number,
"ParallelizationFactor": number,
"Queues": [ "string" ],
"ScalingConfig": {
"MaximumConcurrency": number
},
"SelfManagedEventSource": {
"Endpoints": {
"string" : [ "string" ]
}
},
"SelfManagedKafkaEventSourceConfig": {
"ConsumerGroupId": "string"
},
"SourceAccessConfigurations": [
{
"Type": "string",
"URI": "string"
}
],
"StartingPosition": "string",
"StartingPositionTimestamp": number,
"State": "string",
"StateTransitionReason": "string",
"Topics": [ "string" ],
"TumblingWindowInSeconds": number,
"UUID": "string"
}
응답 요소
작업이 성공하면 서비스가 HTTP 202 응답을 다시 전송합니다.
다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.
- AmazonManagedKafkaEventSourceConfig
-
Amazon Managed Streaming for Apache Kafka(Amazon MSK) 이벤트 소스에 대한 특정 구성 설정입니다.
- BatchSize
-
Lambda가 스트림 또는 대기열에서 풀링하여 함수로 보내는 각 배치의 최대 레코드 수입니다. Lambda는 동기식 호출에 대한 페이로드 제한(6MB)까지 단일 호출로 배치의 모든 레코드를 함수로 전달합니다.
기본값: 서비스에 따라 다릅니다. Amazon SQS의 경우 기본값은 10입니다. 다른 모든 서비스의 경우 기본값은 100입니다.
관련 설정:
BatchSize
를 10보다 큰 값으로 설정하면MaximumBatchingWindowInSeconds
를 1이상으로 설정합니다.유형: 정수
유효한 범위: 최소값 1. 최대값은 10,000입니다.
- BisectBatchOnFunctionError
-
(Kinesis와 DynamoDB 스트림만 해당) 함수가 오류를 반환하면 배치를 둘로 분할하고 다시 시도합니다. 기본값은 false입니다.
유형: Boolean
- DestinationConfig
-
(Kinesis, DynamoDB Streams, Amazon MSK 및 자체 관리형 Apache Kafka 이벤트에만 해당) Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.
유형: DestinationConfig객체
- DocumentDBEventSourceConfig
-
DocumentDB 이벤트 소스에 대한 특정 구성 설정입니다.
- EventSourceArn
-
이벤트 소스의 Amazon 리소스 이름(ARN)입니다.
유형: String
패턴:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
- FilterCriteria
-
Lambda가 이벤트를 처리해야 하는지를 결정하는 필터 기준을 정의하는 객체입니다. 자세한 내용은 Lambda 이벤트 필터링을 참조하세요.
유형: FilterCriteria객체
- FunctionArn
-
Lambda 함수의 ARN입니다.
유형: String
패턴:
arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?
- FunctionResponseTypes
-
(Kinesis, DynamoDB Streams 및 Amazon SQS) 이벤트 소스 매핑에 적용된 현재 응답 유형 열거형 목록입니다.
유형: 문자열 배열
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 1개입니다.
유효한 값:
ReportBatchItemFailures
- LastModified
-
이벤트 소스 매핑이 마지막으로 업데이트된 날짜 또는 상태가 변경된 날짜입니다(Unix 시간 초).
유형: Timestamp
- LastProcessingResult
-
함수의 마지막 Lambda 호출의 결과입니다.
유형: 문자열
- MaximumBatchingWindowInSeconds
-
Lambda가 함수를 호출하기 전에 레코드를 수집하는 데 걸리는 최대 시간(초)입니다.
MaximumBatchingWindowInSeconds
는 0초에서 300초 사이의 값을 초 단위로 구성할 수 있습니다.스트림 및 Amazon SQS 이벤트 소스의 경우 기본 일괄 처리 기간은 0초입니다. Amazon MSK, 자체 관리형 Apache Kafka 및 Amazon MQ, DocumentDB 이벤트 소스의 경우 기본 일괄 처리 시간은 500ms입니다.
MaximumBatchingWindowInSeconds
는 초 단위로만 변경할 수 있기 때문에 변경한 후에는 500ms 기본 일괄 처리 기간으로 되돌릴 수 없습니다. 기본 일괄 처리 기간을 복원하려면 새 이벤트 소스 매핑을 생성해야 합니다.관련 설정: 스트림 및 Amazon SQS 이벤트 소스의 경우,
BatchSize
를 10보다 큰 값으로 설정하면MaximumBatchingWindowInSeconds
를 1이상으로 설정해야 합니다.유형: 정수
유효한 범위: 최소값 0. 최대값 300입니다.
- MaximumRecordAgeInSeconds
-
(Kinesis와 DynamoDB 스트림만 해당) 지정된 기간보다 오래된 레코드를 삭제합니다. 기본값은 -1이며, 최대 기간을 무한으로 설정합니다. 값이 무한으로 설정되면 Lambda가 오래된 레코드를 버리지 않습니다.
참고
최대 레코드 수명의 최소 유효 값은 60초입니다. 60보다 작거나 -1보다 큰 값은 파라미터의 절대 범위에 속하지만 허용되지 않습니다.
유형: 정수
유효한 범위: 최소값은 -1입니다. 최대값 604,800입니다.
- MaximumRetryAttempts
-
(Kinesis와 DynamoDB 스트림만 해당) 지정된 횟수의 재시도 후에 레코드를 삭제합니다. 기본값은 -1이며, 최대 재시도 횟수를 무한으로 설정합니다. MaximumRetryAttempts가 무한인 경우 이벤트 소스에서 레코드가 만료될 때까지 Lambda가 실패한 레코드를 다시 시도합니다.
유형: Integer
유효한 범위: 최소값은 -1입니다. 최대값은 10,000입니다.
- ParallelizationFactor
-
(Kinesis와 DynamoDB스트림만 해당) 각 샤드에서 동시에 처리할 배치 수입니다. 기본값은 1입니다.
유형: Integer
유효한 범위: 최소값 1. 최대값은 10입니다.
- Queues
-
(Amazon MQ) 소비할 Amazon MQ 브로커 대상 대기열의 이름입니다.
유형: 문자열 배열
배열 멤버: 고정된 항목 수는 1개입니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 1,000입니다.
패턴:
[\s\S]*
- ScalingConfig
-
(Amazon SQS만 해당) 이벤트 소스의 크기 조정 구성입니다. 자세한 내용은 Amazon SQS 이벤트 소스의 최대 동시성 구성을 참조하세요.
유형: ScalingConfig객체
- SelfManagedEventSource
-
이벤트 소스에 대한 자체 관리형 Apache Kafka 클러스터입니다.
유형: SelfManagedEventSource 객체
- SelfManagedKafkaEventSourceConfig
-
자체 관리형 Apache Kafka 이벤트 소스에 대한 특정 구성 설정입니다.
- SourceAccessConfigurations
-
이벤트 소스를 보호하기 위한 일련의 인증 프로토콜 또는 VPC 구성 요소입니다.
유형: SourceAccessConfiguration 객체 배열
배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 22개입니다.
- StartingPosition
-
읽기를 시작하는 스트림 내의 위치입니다. Amazon Kinesis 및 Amazon DynamoDB Streams 이벤트 소스에 필요합니다.
AT_TIMESTAMP
는 Amazon DynamoDB Streams, Amazon DocumentDB, Amazon MSK, 자체 관리형 Apache Kafka에 대해서만 지원됩니다.유형: 문자열
유효 값:
TRIM_HORIZON | LATEST | AT_TIMESTAMP
- StartingPositionTimestamp
-
StartingPosition
을AT_TIMESTAMP
로 설정했을 때 읽기를 시작하는 시간(Unix 시간 초)입니다.StartingPositionTimestamp
는 미래가 될 수 없습니다.유형: 타임스탬프
- State
-
이벤트 소스 매핑의 상태입니다.
Creating
,Enabling
,Enabled
,Disabling
,Disabled
,Updating
또는Deleting
중 하나일 수 있습니다.유형: 문자열
- StateTransitionReason
-
사용자 또는 Lambda가 이벤트 소스 매핑을 마지막으로 변경했는지 여부를 나타냅니다.
유형: 문자열
- Topics
-
Kafka 주제의 이름입니다.
유형: 문자열 배열
배열 멤버: 고정된 항목 수는 1개입니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 249입니다.
패턴:
^[^.]([a-zA-Z0-9\-_.]+)
- TumblingWindowInSeconds
-
(Kinesis 및 DynamoDB 스트림만 해당) DynamoDB 및 Kinesis 스트림 이벤트 소스에 대한 처리 시간(초)입니다. 값이 0초이면 텀블링 윈도우가 없음을 나타냅니다.
유형: 정수
유효한 범위: 최소값 0. 최대값은 900입니다.
- UUID
-
이벤트 소스 매핑의 식별자입니다.
유형: 문자열
Errors
모든 작업에서 발생하는 일반적인 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.
- InvalidParameterValueException
-
요청의 파라미터 중 하나가 유효하지 않습니다.
HTTP 상태 코드: 400
- ResourceConflictException
-
리소스가 이미 있거나 다른 작업이 진행 중입니다.
HTTP 상태 코드: 409
- ResourceNotFoundException
-
요청에 지정된 리소스가 없습니다.
HTTP 상태 코드: 404
- ServiceException
-
AWS Lambda 서비스에 내부 오류가 발생했습니다.
HTTP 상태 코드: 500
- TooManyRequestsException
-
요청 처리량 제한을 초과했습니다. 자세한 내용은 Lambda 할당량을 참조하세요.
HTTP Status Code: 429
참고
이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.