

# InvokeWithResponseStream
<a name="API_InvokeWithResponseStream"></a>

응답 페이로드를 클라이언트로 다시 스트리밍하도록 Lambda 함수를 구성합니다. 자세한 내용은 [응답을 스트리밍하도록 Lambda 함수 구성](https://docs.aws.amazon.com/lambda/latest/dg/configuration-response-streaming.html)을 참조하세요.

이 작업에는 [lambda:InvokeFunction](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html) 작업에 대한 권한이 필요합니다. 교차 계정 호출에 대한 권한을 설정하는 방법에 대한 자세한 내용은 [함수에 다른 계정에 대한 액세스 권한 부여](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke)를 참조하세요.

## Request Syntax
<a name="API_InvokeWithResponseStream_RequestSyntax"></a>

```
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 요청 파라미터
<a name="API_InvokeWithResponseStream_RequestParameters"></a>

요청은 다음 URI 파라미터를 사용합니다.

 ** [ClientContext](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-ClientContext"></a>
컨텍스트 객체의 함수에 전달할 호출 클라이언트의 경우 base64로 인코딩된 데이터의 최대 크기는 3,583바이트입니다.

 ** [FunctionName](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-FunctionName"></a>
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](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-InvocationType"></a>
다음 옵션 중 하나를 사용하십시오.  
+  `RequestResponse`(기본값) - 함수를 동기적으로 호출합니다. 함수가 응답을 반환하거나 시간이 초과할 때까지 연결을 열어 둡니다. API 작업 응답에는 함수 응답과 추가 데이터가 포함됩니다.
+  `DryRun` - 파라미터 값의 유효성을 검사하고, IAM 사용자 또는 역할이 함수를 호출할 권한을 가졌는지 확인합니다.
유효한 값: `RequestResponse | DryRun` 

 ** [LogType](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-LogType"></a>
응답에 실행 로그를 포함하도록 `Tail`(으)로 설정합니다. 동기식으로 호출된 함수에만 적용됩니다.  
유효한 값: `None | Tail` 

 ** [Qualifier](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-Qualifier"></a>
별칭 이름입니다.  
길이 제약: 최소 길이 1자. 최대 길이 128.  
Pattern: `(|[a-zA-Z0-9$_-]+)` 

## 요청 본문
<a name="API_InvokeWithResponseStream_RequestBody"></a>

요청은 다음의 이진 데이터를 허용합니다.

 ** [Payload](#API_InvokeWithResponseStream_RequestSyntax) **   <a name="lambda-InvokeWithResponseStream-request-Payload"></a>
Lambda 함수에 입력으로 제공하려는 JSON입니다.  
JSON을 직접 입력할 수 있습니다. 예: `--payload '{ "key": "value" }'`. 파일 경로를 지정할 수도 있습니다. 예: `--payload file://payload.json`.

## Response Syntax
<a name="API_InvokeWithResponseStream_ResponseSyntax"></a>

```
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
   }
}
```

## 응답 요소
<a name="API_InvokeWithResponseStream_ResponseElements"></a>

작업이 성공하면 서비스가 다음 HTTP 응답을 다시 전송합니다.

 ** [StatusCode](#API_InvokeWithResponseStream_ResponseSyntax) **   <a name="lambda-InvokeWithResponseStream-response-StatusCode"></a>
요청이 성공한 경우 HTTP 상태 코드가 200 범위에 있습니다. `RequestResponse` 호출 유형의 경우 이 상태 코드는 200입니다. `DryRun` 호출 유형의 경우 이 상태 코드는 204입니다.

응답에 다음 HTTP 헤더가 반환됩니다.

 ** [ExecutedVersion](#API_InvokeWithResponseStream_ResponseSyntax) **   <a name="lambda-InvokeWithResponseStream-response-ExecutedVersion"></a>
실행된 함수의 버전입니다. 별칭이 있는 함수를 호출할 경우 이는 별칭이 귀결된(resolved) 버전을 나타냅니다.  
길이 제약: 최소 길이는 1입니다. 최대 길이는 1024입니다.  
Pattern: `(\$LATEST|[0-9]+)` 

 ** [ResponseStreamContentType](#API_InvokeWithResponseStream_ResponseSyntax) **   <a name="lambda-InvokeWithResponseStream-response-ResponseStreamContentType"></a>
스트림이 반환하는 데이터의 형식입니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

 ** [InvokeComplete](#API_InvokeWithResponseStream_ResponseSyntax) **   <a name="lambda-InvokeWithResponseStream-response-InvokeComplete"></a>
스트림이 종료되고 모든 페이로드 청크가 반환되었을 때 반환되는 객체입니다.  
유형: [InvokeWithResponseStreamCompleteEvent](API_InvokeWithResponseStreamCompleteEvent.md)객체

 ** [PayloadChunk](#API_InvokeWithResponseStream_ResponseSyntax) **   <a name="lambda-InvokeWithResponseStream-response-PayloadChunk"></a>
스트리밍된 응답 페이로드의 청크입니다.  
유형: [InvokeResponseStreamUpdate](API_InvokeResponseStreamUpdate.md)객체

## Errors
<a name="API_InvokeWithResponseStream_Errors"></a>

모든 작업에서 발생하는 일반적인 오류에 대한 자세한 내용은 [일반적인 오류](CommonErrors.md) 섹션을 참조하세요.

 ** 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 할당량](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)을 참조하세요.  
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 할당량](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)을 참조하세요.  
HTTP 상태 코드: 413

 ** ResourceConflictException **   
리소스가 이미 있거나 다른 작업이 진행 중입니다.  
HTTP 상태 코드: 409

 ** ResourceNotFoundException **   
요청에 지정된 리소스가 없습니다.  
HTTP 상태 코드: 404

 ** ResourceNotReadyException **   
함수가 비활성 상태이며 VPC 연결을 더 이상 사용할 수 없습니다. VPC 연결이 다시 설정될 때까지 기다렸다가 다시 시도하세요.  
HTTP 상태 코드: 502

 ** ServiceException **   
AWS Lambda 서비스에 내부 오류가 발생했습니다.  
HTTP 상태 코드: 500

 ** SnapStartException **   
`afterRestore()` [런타임 후크](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-runtime-hooks.html)에서 오류가 발생했습니다. 자세한 내용은 Amazon CloudWatch Logs를 참조하세요.  
HTTP 상태 코드: 400

 ** SnapStartNotReadyException **   
Lambda가 함수를 초기화하고 있습니다. [함수 상태가](https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html) `Active`로 바뀌면 함수를 호출할 수 있습니다.  
HTTP Status Code: 409

 ** SnapStartTimeoutException **   
Lambda가 제한 시간 내에 스냅샷을 복원하지 못했습니다.  
HTTP 상태 코드: 408

 ** SubnetIPAddressLimitReachedException **   
 하나 이상의 구성된 서브넷에 사용 가능한 IP 주소가 없어 AWS Lambda가 Lambda 함수에 대한 VPC 액세스를 설정하지 못했습니다.  
HTTP 상태 코드: 502

 ** TooManyRequestsException **   
요청 처리량 제한을 초과했습니다. 자세한 내용은 [Lambda 할당량](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests)을 참조하세요.  
HTTP Status Code: 429

 ** UnsupportedMediaTypeException **   
`Invoke` 요청 본문의 콘텐츠 유형이 JSON이 아닙니다.  
HTTP 상태 코드: 415

## 참고
<a name="API_InvokeWithResponseStream_SeeAlso"></a>

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.
+  [AWS Command Line Interface](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for Go](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/InvokeWithResponseStream) 
+  [JavaScript V3용 AWS SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/InvokeWithResponseStream) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/InvokeWithResponseStream) 