

# AWS Lambda 함수 및 파라미터 참조
<a name="PostgreSQL-Lambda-functions"></a>

다음은 RDS for PostgreSQL에서 Lambda 간접 호출에 사용할 함수 및 파라미터에 대한 참조입니다.

**Topics**
+ [aws\$1lambda.invoke](#aws_lambda.invoke)
+ [aws\$1commons.create\$1lambda\$1function\$1arn](#aws_commons.create_lambda_function_arn)
+ [aws\$1lambda 파라미터](#aws_lambda.parameters)

## aws\$1lambda.invoke
<a name="aws_lambda.invoke"></a>

 RDS for PostgreSQL DB 인스턴스에 대해 Lambda 함수를 실행합니다.

Lambda 함수 호출에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*에서 [호출](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html)을 참조하세요.

**구문**

------
#### [ JSON ]

```
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSON,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSON,
OUT executed_version TEXT,
OUT log_result TEXT)
```

```
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSON,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSON DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSON,
OUT executed_version TEXT,
OUT log_result TEXT)
```

------
#### [ JSONB ]

```
aws_lambda.invoke(
IN function_name TEXT,
IN payload JSONB,
IN region TEXT DEFAULT NULL,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT)
```

```
aws_lambda.invoke(
IN function_name aws_commons._lambda_function_arn_1,
IN payload JSONB,
IN invocation_type TEXT DEFAULT 'RequestResponse',
IN log_type TEXT DEFAULT 'None',
IN context JSONB DEFAULT NULL,
IN qualifier VARCHAR(128) DEFAULT NULL,
OUT status_code INT,
OUT payload JSONB,
OUT executed_version TEXT,
OUT log_result TEXT
)
```

------입력 파라미터

**function\$1name**  
Lambda 함수의 식별 이름입니다. 값은 함수 이름, ARN 또는 부분 ARN일 수 있습니다. 가능한 형식 목록은 *AWS Lambda 개발자 안내서*에서 [Lambda 함수 이름 형식](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_RequestParameters)을 참조하세요.

*payload*  
Lambda 함수에 대한 입력입니다. 형식은 JSON 또는 JSONB 일 수 있습니다. 자세한 내용은 PostgreSQL 설명서의 [JSON 유형](https://www.postgresql.org/docs/current/datatype-json.html)을 참조하십시오.

*region*  
(선택 사항) 함수의 Lambda 리전입니다. 기본적으로 RDS는 `function_name`의 전체 ARN에서 AWS 리전을 확인하거나 RDS for PostgreSQL DB 인스턴스 리전을 사용합니다. 이 리전 값이 `function_name` ARN에 제공된 값과 충돌하면 오류가 발생합니다.

*invocation\$1type*  
Lambda 함수의 호출 유형입니다. 값은 대소문자를 구분합니다. 가능한 값은 다음을 포함합니다.  
+ `RequestResponse` – 기본값입니다. Lambda 함수에 대한 이러한 유형의 호출은 동시에 발생하며 결과에 응답 페이로드를 돌려보냅니다. 워크플로가 Lambda 함수 결과 수신에 즉시 의존하는 경우 `RequestResponse` 호출 유형을 사용합니다.
+ `Event` – Lambda 함수에 대한 이러한 유형의 호출은 비동기식이며 반환된 페이로드없이 즉시 반환됩니다. 워크플로를 이동하기 전에 Lambda 함수 결과가 필요하지 않은 경우 `Event` 호출 유형을 사용합니다.
+ `DryRun` – 이 유형의 호출은 Lambda 함수를 실행하지 않고 액세스를 테스트합니다.

*log\$1type*  
`log_result` 출력 파라미터에 반환할 Lambda 로그의 유형입니다. 값은 대소문자를 구분합니다. 가능한 값은 다음을 포함합니다.  
+ – 추적 반환된 `log_result` 출력 파라미터에는 실행 로그의 마지막 4KB가 포함됩니다.
+ – 없음 Lambda 로그 정보가 반환되지 않았습니다.

*context*  
JSON 또는 JSONB 형식의 클라이언트 컨텍스트 사용할 필드에는 보다 `custom` 및 `env` 가 포함됩니다.

*한정자*  
호출할 Lambda 함수의 버전을 식별하는 한정자입니다. 이 값이 `function_name` ARN에 제공된 값과 충돌하면 오류가 발생합니다.출력 파라미터

*status\$1code*  
HTTP 상태 응답 코드입니다. 자세한 내용은 *AWS Lambda 개발자 안내서*에서 [Lambda 호출 응답 요소](https://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html#API_Invoke_ResponseElements)를 참조하세요.

*payload*  
실행된 Lambda 함수에서 반환된 정보입니다. 형식은 JSON 또는 JSONB입니다.

*executed\$1version*  
실행된 Lambda 함수 버전입니다.

*log\$1result*  
Lambda 함수가 호출 될 때 `log_type` 값이 `Tail` 인 경우 반환된 실행 로그 정보입니다. 결과에는 Base64로 인코딩된 실행 로그의 마지막 4KB가 포함됩니다.

## aws\$1commons.create\$1lambda\$1function\$1arn
<a name="aws_commons.create_lambda_function_arn"></a>

Lambda 파일 정보를 저장할 `aws_commons._lambda_function_arn_1` 구조를 생성합니다. aws\$1lambda.invoke `aws_commons.create_lambda_function_arn` 함수의 `function_name` 파라미터에 [aws\$1lambda.invoke](#aws_lambda.invoke) 함수의 결과를 사용할 수 있습니다.

**구문**

```
aws_commons.create_lambda_function_arn(
    function_name TEXT,
    region TEXT DEFAULT NULL
    )
    RETURNS aws_commons._lambda_function_arn_1
```입력 파라미터

*function\$1name*  
Lambda 함수 이름이 포함된 필수 텍스트 문자열입니다. 값은 함수 이름, 부분 ARN 또는 전체 ARN일 수 있습니다.

*region*  
Lambda 함수가 있는 AWS 리전을 포함하는 선택적 텍스트 문자열입니다. 리전 이름 및 연결된 값의 목록은 섹션을 참조하십시오[리전, 가용 영역 및 로컬 영역](Concepts.RegionsAndAvailabilityZones.md)

## aws\$1lambda 파라미터
<a name="aws_lambda.parameters"></a>

이 표에서는 `aws_lambda` 함수와 관련된 파라미터를 찾아볼 수 있습니다.


| 파라미터 | 설명 | 
| --- | --- | 
| `aws_lambda.connect_timeout_ms` | 이는 동적 파라미터이며 AWS Lambda에 연결하는 동안 최대 대기 시간을 설정합니다. 기본값은 `1000`입니다. 이 파라미터에 허용되는 값은 1\$1900,000입니다. | 
| `aws_lambda.request_timeout_ms` | 이는 동적 파라미터이며 AWS Lambda의 응답을 기다리는 동안 최대 대기 시간을 설정합니다. 기본값은 `3000`입니다. 이 파라미터에 허용되는 값은 1\$1900,000입니다. | 
| `aws_lambda.endpoint_override` | AWS Lambda에 연결하는 데 사용할 수 있는 엔드포인트를 지정합니다. 빈 문자열은 해당 리전의 기본 AWS Lambda 엔드포인트를 선택합니다. 이 정적 파라미터 변경을 적용하려면 데이터베이스를 다시 시작해야 합니다. | 