InvokeWithResponseStream
응답 페이로드를 클라이언트로 다시 스트리밍하도록 Lambda 함수를 구성합니다. 자세한 내용은 응답을 스트리밍하도록 Lambda 함수 구성을 참조하세요.
이 작업에는 lambda:InvokeFunction 작업에 대한 권한이 필요합니다. 교차 계정 호출에 대한 권한을 설정하는 방법에 대한 자세한 내용은 함수에 다른 계정에 대한 액세스 권한 부여를 참조하세요.
Request Syntax
POST /2021-11-15/functions/FunctionName
/response-streaming-invocations?Qualifier=Qualifier
HTTP/1.1
X-Amz-Invocation-Type: InvocationType
X-Amz-Log-Type: LogType
X-Amz-Client-Context: ClientContext
Payload
URI 요청 파라미터
요청은 다음 URI 파라미터를 사용합니다.
- ClientContext
-
컨텍스트 객체의 함수에 전달할 호출 클라이언트의 경우 base64로 인코딩된 데이터의 최대 크기는 3,583바이트입니다.
- FunctionName
-
Lambda 함수의 이름입니다.
이름 형식
-
함수 이름 -
my-function
. -
함수 ARN -
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
부분적 ARN -
123456789012:function:my-function
.
길이 제한은 전체 ARN에만 적용됩니다. 함수 이름만 지정하는 경우, 길이가 64자로 제한됩니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 170입니다.
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-_]+))?
필수 항목 여부: 예
-
- InvocationType
-
다음 옵션 중 하나를 사용하십시오.
-
RequestResponse
(기본값) - 함수를 동기적으로 호출합니다. 함수가 응답을 반환하거나 시간이 초과할 때까지 연결을 열어 둡니다. API 작업 응답에는 함수 응답과 추가 데이터가 포함됩니다. -
DryRun
- 파라미터 값의 유효성을 검사하고, IAM 사용자 또는 역할이 함수를 호출할 권한을 가졌는지 확인합니다.
유효한 값:
RequestResponse | DryRun
-
- LogType
-
응답에 실행 로그를 포함하도록
Tail
(으)로 설정합니다. 동기식으로 호출된 함수에만 적용됩니다.유효한 값:
None | Tail
- Qualifier
-
별칭 이름입니다.
길이 제약: 최소 길이 1자. 최대 길이 128.
Pattern:
(|[a-zA-Z0-9$_-]+)
요청 본문
요청은 다음의 이진 데이터를 허용합니다.
- Payload
-
Lambda 함수에 입력으로 제공하려는 JSON입니다.
JSON을 직접 입력할 수 있습니다. 예:
--payload '{ "key": "value" }'
. 파일 경로를 지정할 수도 있습니다. 예:--payload file://payload.json
.
Response Syntax
HTTP/1.1 StatusCode
X-Amz-Executed-Version: ExecutedVersion
Content-Type: ResponseStreamContentType
Content-type: application/json
{
"InvokeComplete": {
"ErrorCode": "string",
"ErrorDetails": "string",
"LogResult": "string"
},
"PayloadChunk": {
"Payload": blob
}
}
응답 요소
작업이 성공하면 서비스가 다음 HTTP 응답을 다시 전송합니다.
- StatusCode
-
요청이 성공한 경우 HTTP 상태 코드가 200 범위에 있습니다.
RequestResponse
호출 유형의 경우 이 상태 코드는 200입니다.DryRun
호출 유형의 경우 이 상태 코드는 204입니다.
응답에 다음 HTTP 헤더가 반환됩니다.
- ExecutedVersion
-
실행된 함수의 버전입니다. 별칭이 있는 함수를 호출할 경우 이는 별칭이 귀결된(resolved) 버전을 나타냅니다.
길이 제약: 최소 길이는 1입니다. 최대 길이는 1024입니다.
Pattern:
(\$LATEST|[0-9]+)
- ResponseStreamContentType
-
스트림이 반환하는 데이터의 형식입니다.
다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.
- InvokeComplete
-
스트림이 종료되고 모든 페이로드 청크가 반환되었을 때 반환되는 객체입니다.
- PayloadChunk
-
스트리밍된 응답 페이로드의 청크입니다.
Errors
모든 작업에서 발생하는 일반적인 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.
- EC2AccessDeniedException
-
VPC 설정을 구성하려면 추가 권한이 필요합니다.
HTTP 상태 코드: 502
- EC2ThrottledException
-
Lambda 함수에 제공된 실행 역할을 사용하여 함수를 초기화하는 동안 Amazon EC2가 AWS Lambda를 제한했습니다.
HTTP 상태 코드: 502
- EC2UnexpectedException
-
Lambda 함수를 설정하는 동안 AWS Lambda이(가) 예기치 않은 Amazon EC2 클라이언트 예외를 수신했습니다.
HTTP 상태 코드: 502
- EFSIOException
-
연결된 파일 시스템을 읽거나 쓸 때 오류가 발생했습니다.
HTTP 상태 코드: 410
- EFSMountConnectivityException
-
Lambda 함수가 구성된 파일 시스템에 네트워크 연결을 수립할 수 없습니다.
HTTP 상태 코드: 408
- EFSMountFailureException
-
권한 또는 구성 문제로 인해 Lambda 함수가 구성된 파일 시스템을 마운트할 수 없습니다.
HTTP 상태 코드: 403
- EFSMountTimeoutException
-
Lambda 함수가 구성된 파일 시스템에 네트워크 연결을 수립했지만 마운트 작업 시간이 초과되었습니다.
HTTP 상태 코드: 408
- ENILimitReachedException
-
네트워크 인터페이스 제한에 도달했기 때문에 Lambda 함수 구성의 일부로 지정된 VPC에서 AWS Lambda가 Elastic Network Interface(ENI)를 생성하지 못했습니다. 자세한 내용은 Lambda 할당량을 참조하세요.
HTTP 상태 코드: 502
- InvalidParameterValueException
-
요청의 파라미터 중 하나가 유효하지 않습니다.
HTTP 상태 코드: 400
- InvalidRequestContentException
-
요청 본문을 JSON으로 구문 분석할 수 없습니다.
HTTP 상태 코드: 400
- InvalidRuntimeException
-
런타임 또는 지정된 런타임 버전이 지원되지 않습니다.
HTTP 상태 코드: 502
- InvalidSecurityGroupIDException
-
Lambda 함수 VPC 구성에 제공된 보안 그룹 ID가 잘못되었습니다.
HTTP 상태 코드: 502
- InvalidSubnetIDException
-
Lambda 함수 VPC 구성에 제공된 서브넷 ID가 잘못되었습니다.
HTTP 상태 코드: 502
- InvalidZipFileException
-
AWS Lambda이(가) 배포 패키지의 압축을 풀 수 없습니다.
HTTP 상태 코드: 502
- KMSAccessDeniedException
-
AWS KMS 액세스가 거부되었기 때문에 Lambda에서 환경 변수의 암호화를 해제할 수 없습니다. Lambda 함수의 KMS 권한을 확인하세요.
HTTP 상태 코드: 502
- KMSDisabledException
-
사용된 AWS KMS key가 비활성화되어 있으므로 Lambda가 환경 변수를 복호화할 수 없습니다. Lambda 함수의 KMS 키 설정을 확인하세요.
HTTP 상태 코드: 502
- KMSInvalidStateException
-
복호화에 사용된 AWS KMS key의 상태가 유효하지 않기 때문에 Lambda에서 환경 변수의 암호화를 해제할 수 없습니다. 함수의 KMS 키 설정을 확인하세요.
HTTP 상태 코드: 502
- KMSNotFoundException
-
AWS KMS key를 찾을 수 없기 때문에 Lambda에서 환경 변수의 암호화를 해제할 수 없습니다. 함수의 KMS 키 설정을 확인하세요.
HTTP 상태 코드: 502
- RecursiveInvocationException
-
Lambda가 다른 AWS 리소스와 함께 재귀 루프에서 함수가 간접적으로 호출되는 것을 감지하고 함수 간접 호출을 중지했습니다.
HTTP 상태 코드: 400
- RequestTooLargeException
-
요청 페이로드가
Invoke
요청 본문 JSON 입력 할당량을 초과했습니다. 자세한 내용은 Lambda 할당량을 참조하세요.HTTP 상태 코드: 413
- ResourceConflictException
-
리소스가 이미 있거나 다른 작업이 진행 중입니다.
HTTP 상태 코드: 409
- ResourceNotFoundException
-
요청에 지정된 리소스가 없습니다.
HTTP 상태 코드: 404
- ResourceNotReadyException
-
함수가 비활성 상태이며 VPC 연결을 더 이상 사용할 수 없습니다. VPC 연결이 다시 설정될 때까지 기다렸다가 다시 시도하세요.
HTTP 상태 코드: 502
- ServiceException
-
AWS Lambda 서비스에 내부 오류가 발생했습니다.
HTTP 상태 코드: 500
- SnapStartException
-
afterRestore()
런타임 후크에서 오류가 발생했습니다. 자세한 내용은 Amazon CloudWatch Logs를 참조하세요.HTTP 상태 코드: 400
- SnapStartNotReadyException
-
Lambda가 함수를 초기화하고 있습니다. 함수 상태가
Active
로 바뀌면 함수를 호출할 수 있습니다.HTTP Status Code: 409
- SnapStartTimeoutException
-
Lambda가 제한 시간 내에 스냅샷을 복원하지 못했습니다.
HTTP 상태 코드: 408
- SubnetIPAddressLimitReachedException
-
하나 이상의 구성된 서브넷에 사용 가능한 IP 주소가 없어 AWS Lambda가 Lambda 함수에 대한 VPC 액세스를 설정하지 못했습니다.
HTTP 상태 코드: 502
- TooManyRequestsException
-
요청 처리량 제한을 초과했습니다. 자세한 내용은 Lambda 할당량을 참조하세요.
HTTP Status Code: 429
- UnsupportedMediaTypeException
-
Invoke
요청 본문의 콘텐츠 유형이 JSON이 아닙니다.HTTP 상태 코드: 415
참고
이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.