

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

# HttpApi
<a name="sam-property-function-httpapi"></a>

HttpAPI 유형의 이벤트 소스를 설명하는 객체입니다.

지정된 경로 및 메서드에 대한 OpenAPI 정의가 API에 있는 경우 SAM은 Lambda 통합 및 보안 섹션(해당하는 경우)을 자동으로 추가합니다.

API에 지정된 경로와 메서드에 대한 OpenApi 정의가 없는 경우 SAM이 이 정의를 자동으로 생성합니다.

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

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

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

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

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

 `ApiId`   <a name="sam-function-httpapi-apiid"></a>
이 템플릿에 정의된 [AWS::Serverless::HttpApi](sam-resource-httpapi.md) 리소스의 식별자입니다.  
정의되지 않은 경우, [AWS::Serverless::HttpApi](sam-resource-httpapi.md)을 정의하지 않는 이 템플릿에 정의된 Api 이벤트에 의해 정의된 모든 경로와 메서드의 집합을 포함하는 생성된 OpenAPI 문서를 사용하여 `ServerlessHttpApi`라는 명칭의 기본 `ApiId` 리소스가 생성됩니다.  
이것은 다른 템플릿에 정의된 [AWS::Serverless::HttpApi](sam-resource-httpapi.md) 리소스를 참조할 수 없습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

 `Method`   <a name="sam-function-httpapi-method"></a>
이 함수가 간접 호출되는 HTTP 메서드입니다.  
`Path`이나 `Method` 어느 것도 지정되지 않은 경우, SAM은 다른 엔드포인트에 매핑되지 않는 모든 요청을 이 Lambda 함수로 라우팅하는 기본 API 경로를 생성합니다. API당 이러한 기본 경로 중 하나만 존재할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Path`   <a name="sam-function-httpapi-path"></a>
이 함수가 간접 호출되는 Uri 경로입니다. `/`로 시작해야 합니다.  
`Path`이나 `Method` 어느 것도 지정되지 않은 경우, SAM은 다른 엔드포인트에 매핑되지 않는 모든 요청을 이 Lambda 함수로 라우팅하는 기본 API 경로를 생성합니다. API당 이러한 기본 경로 중 하나만 존재할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
통합으로 전송되는 페이로드의 형식을 지정합니다.  
참고: PayloadFormatVersion을 사용하려면 SAM이 OpenAPI 정의를 수정해야 하므로 `DefinitionBody` 속성에 정의된 인라인 OpenApi와만 작동합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 2.0  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
이 HTTP API의 경로별 경로 설정입니다. 경로 설정에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)의 *AWS::API 게이트웨이V2::StageRouteSettings*을 참조하세요.  
참고: HttpApi 리소스와 이벤트 소스 모두에 RouteSettings가 지정된 경우는 이를 이벤트 소스 속성과 AWS SAM 병합합니다.  
*유형*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` 속성으로 직접 전달됩니다.

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
50\$129,000밀리초 사이의 제한 시간 사용자 지정입니다.  
참고: TimeoutInMillis를 사용하려면 SAM이 OpenAPI 정의를 수정해야 하므로 `DefinitionBody` 속성에 정의된 인라인 OpenApi와만 작동합니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 5000  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 기본 HttpApi 이벤트
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

기본 경로를 사용하는 HttpApi 이벤트입니다. 이 API의 매핑되지 않은 모든 경로와 메서드는 이 엔드포인트로 라우팅됩니다.

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

특정 경로와 메서드를 사용하는 HttpApi 이벤트입니다.

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

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HttpApi 승인
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

권한 부여자를 사용하는HttpApi 이벤트입니다.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

이벤트 수준에서 권한 부여를 구성합니다.

특정 API \$1 경로 \$1 방법에 대한 권한 부여 구성 

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

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

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

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

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

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
이 API, 경로 및 메서드에 적용할 수 있는 권한 부여 범위.  
여기에 나열된 범위는 `DefaultAuthorizer`이(존재한다면) 적용한 어떤 범위보다도 우선합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
특정 함수를 위한 `Authorizer` IAM 인증을 사용하려면 `AWS_IAM`을 지정하고, 템플릿의 `true` 섹션에서 `EnableIamAuthorizer`에 관하여 `Globals`를 지정하십시오.  
API에서 글로벌 권한 부여자를 지정한 상태에서 특정 함수를 공개하려면 `Authorizer`을 `NONE`로 설정하여 변경하십시오.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 함수-권한 부여
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

함수 수준에서 권한 부여

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### IAM 권한 부여
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

이벤트 수준에서 IAM 권한 부여를 지정합니다. 이벤트 수준에서 `AWS_IAM` 권한 부여를 사용하려면 템플릿의 `true` 섹션에서 `EnableIamAuthorizer`에 관하여 `Globals`를 지정해야 합니다. 자세한 내용은 [AWS SAM 템플릿의 글로벌 섹션](sam-specification-template-anatomy-globals.md)을 참조하십시오.

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```