

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

# Api
<a name="sam-property-function-api"></a>

`Api` 이벤트 소스 유형을 설명하는 객체. [AWS::Serverless::Api](sam-resource-api.md) 리소스가 정의된 경우 경로 및 메서드 값은 API의 OpenAPI 정의에 있는 작업과 일치해야 합니다.

정의된 [AWS::Serverless::Api](sam-resource-api.md)이 없는 경우, 함수 입력 및 출력은 HTTP 요청 및 HTTP 응답을 나타냅니다.

예를 들어, JavaScript API를 사용하면 StatusCode 및 body 키가 있는 객체를 반환하여 응답의 상태 코드와 본문을 제어할 수 있습니다.

## 구문
<a name="sam-property-function-api-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

### YAML
<a name="sam-property-function-api-syntax.yaml"></a>

```
  [Auth](#sam-function-api-auth): {{ApiFunctionAuth}}
  [Method](#sam-function-api-method): {{String}}
  [Path](#sam-function-api-path): {{String}}
  [RequestModel](#sam-function-api-requestmodel): {{RequestModel}}
  [RequestParameters](#sam-function-api-requestparameters): {{List of [ String | RequestParameter ]}}
  [RestApiId](#sam-function-api-restapiid): {{String}}
  [ResponseTransferMode](#sam-function-api-responsetransfermode): {{String}}
  TimeoutInMillis: {{Integer}}
```

## 속성
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
이 특정 Api\+Path\+Method에 대한 인증 구성입니다.  
지정된 `DefaultAuthorizer`가 없는 경우, 개별 경로에 대한 API의 `DefaultAuthorizer` 설정 인증 구성을 재정의하거나 기본 `ApiKeyRequired` 설정을 재정의하는 데 유용합니다.   
*[유형](sam-property-function-apifunctionauth.md): API/함수/권한부여*  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Method`   <a name="sam-function-api-method"></a>
이 함수가 간접 호출되는 HTTP 메서드입니다. 옵션에는 `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` 및 `ANY`이(가) 포함됩니다. 자세한 내용은 *API Gateway 개발자 가이드*의 [HTTP 메서드 설정](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Path`   <a name="sam-function-api-path"></a>
이 함수가 간접 호출되는 Uri 경로입니다. `/`로 시작해야 합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
이 특정 API\+Path\+메서드에 사용할 요청 모델입니다. 이것은 [AWS::Serverless::Api](sam-resource-api.md) 리소스의 `Models` 섹션에 지정된 모델 이름을 참조해야 합니다.   
*유형*: [요청 모델](sam-property-function-requestmodel.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
이 특정 API\+Path\+메서드에 대한 파라미터 구성을 요청합니다. 모든 파라미터 이름은 `method.request`로 시작해야 하며, `method.request.header`, `method.request.querystring`, 혹은 `method.request.path`로 제한되어야 합니다.  
목록에는 매개변수 이름 문자열과 [RequestParameter](sam-property-function-requestparameter.md) 객체가 모두 포함될 수 있습니다. 문자열의 경우 `Required` 및 `Caching` 속성은 `false`에 기본적으로 설정됩니다.  
*유형*: [문자열 \| [요청 파라미터](sam-property-function-requestparameter.md)] 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
지정된 경로와 메서드를 가진 작업을 포함해야 하는 RestAPI 리소스의 식별자. 이것은 일반적으로 이 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조하도록 설정됩니다.  
이 속성을 정의하지 않으면는 생성된 `OpenApi` 문서를 사용하여 기본 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 AWS SAM 생성합니다. 해당 리소스에는 `RestApiId`를 지정하지 않은 동일한 템플릿의 `Api` 이벤트에 의해 정의된 모든 경로와 메서드가 통합되어 있습니다.  
이것은 다른 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조할 수 없습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Lambda 함수 통합을 위한 응답 전송 모드입니다. API Gateway를 통해 Lambda 응답 스트리밍을 활성화`RESPONSE_STREAM`하려면 로 설정하면 함수가 응답을 클라이언트로 다시 스트리밍할 수 있습니다. 로 설정하면 `RESPONSE_STREAM`API Gateway는 Lambda InvokeWithResponseStreaming API를 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
유효한 값**: `BUFFERED` \| `RESPONSE_STREAM`  
*CloudFormation 호환성*:이 속성은의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode) 속성으로 직접 전달됩니다`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
50\~29,000밀리초 사이의 제한 시간 사용자 지정입니다.  
이 속성을 지정하면가 OpenAPI 정의를 AWS SAM 수정합니다. OpenAPI 정의는 `DefinitionBody` 속성을 사용하여 인라인으로 지정해야 합니다. 
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 29,000밀리초(29초)입니다.  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

## 예제
<a name="sam-property-function-api--examples"></a>

### 기본 예제
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```