

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# AWS::Serverless::HttpApi
<a name="sam-resource-httpapi"></a>

Crea un'API HTTP Amazon API Gateway, che ti consente di creare RESTful APIs con una latenza inferiore e costi inferiori rispetto a REST APIs. Per ulteriori informazioni, consulta [Working with HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) nella *API Gateway Developer Guide*.

Ti consigliamo di utilizzare CloudFormation hook o policy IAM per verificare che alle risorse API Gateway siano associate autorizzazioni per controllarne l'accesso.

Per ulteriori informazioni sull'uso degli CloudFormation hook, consulta [Registrazione degli hook](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) nella guida per l'*utente della CloudFormation CLI* e nel repository. [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub 

Per ulteriori informazioni sull'utilizzo delle policy IAM, consulta [Require che le route API abbiano l'autorizzazione](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) nella *API Gateway Developer Guide*.

**Nota**  
Quando esegui la distribuzione a AWS CloudFormation, AWS SAM trasforma le tue AWS SAM risorse in CloudFormation risorse. Per ulteriori informazioni, consulta [CloudFormation Risorse generate per AWS SAM](sam-specification-generated-resources.md).

## Sintassi
<a name="sam-resource-httpapi-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
Type: AWS::Serverless::HttpApi
Properties:
  [AccessLogSettings](#sam-httpapi-accesslogsettings): [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)
  [Auth](#sam-httpapi-auth): HttpApiAuth
  [CorsConfiguration](#sam-httpapi-corsconfiguration): String | HttpApiCorsConfiguration
  [DefaultRouteSettings](#sam-httpapi-defaultroutesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [DefinitionBody](#sam-httpapi-definitionbody): JSON
  [DefinitionUri](#sam-httpapi-definitionuri): String | HttpApiDefinition
  [Description](#sam-httpapi-description): String
  [DisableExecuteApiEndpoint](#sam-httpapi-disableexecuteapiendpoint): Boolean
  [Domain](#sam-httpapi-domain): HttpApiDomainConfiguration
  [FailOnWarnings](#sam-httpapi-failonwarnings): Boolean
  Name: String
  PropagateTags: Boolean
  [RouteSettings](#sam-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [StageName](#sam-httpapi-stagename): String
  [StageVariables](#sam-httpapi-stagevariables): [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)
  [Tags](#sam-httpapi-tags): Map
```

## Properties
<a name="sam-resource-httpapi-properties"></a>

 `AccessLogSettings`   <a name="sam-httpapi-accesslogsettings"></a>
Le impostazioni per la registrazione degli accessi in una fase.  
*Tipo:* [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)` proprietà di una `AWS::ApiGatewayV2::Stage` risorsa.

 `Auth`   <a name="sam-httpapi-auth"></a>
Configura l'autorizzazione per il controllo dell'accesso all'API HTTP API Gateway.  
Per ulteriori informazioni, consulta [Controllare l'accesso a HTTP APIs con gli autorizzatori JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) nella *API Gateway Developer Guide*.  
*Tipo:* [HttpApiAuth](sam-property-httpapi-httpapiauth.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `CorsConfiguration`   <a name="sam-httpapi-corsconfiguration"></a>
Gestisce la condivisione delle risorse tra le origini (CORS) per tutti i tuoi API Gateway HTTP. APIs Specificate il dominio da consentire come stringa o specificate un `HttpApiCorsConfiguration` oggetto. Nota che CORS richiede AWS SAM di modificare la definizione OpenAPI, quindi CORS funziona solo se `DefinitionBody` la proprietà è specificata.  
Per ulteriori informazioni, consulta [Configurazione di CORS per un'API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) nella Guida per *sviluppatori di API Gateway*.  
Se `CorsConfiguration` è impostato sia in una definizione OpenAPI che a livello di proprietà, AWS SAM unisce entrambe le fonti di configurazione con le proprietà che hanno la precedenza. Se questa proprietà è impostata su`true`, tutte le origini sono consentite.
*Tipo*: String \$1 [HttpApiCorsConfiguration](sam-property-httpapi-httpapicorsconfiguration.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `DefaultRouteSettings`   <a name="sam-httpapi-defaultroutesettings"></a>
Le impostazioni di routing predefinite per questa API HTTP. Queste impostazioni si applicano a tutti i percorsi a meno che non vengano sovrascritte dalla `RouteSettings` proprietà per determinati percorsi.  
*Tipo:* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` proprietà di una `AWS::ApiGatewayV2::Stage` risorsa.

 `DefinitionBody`   <a name="sam-httpapi-definitionbody"></a>
La definizione OpenAPI che descrive la tua API HTTP. Se non specifichi a `DefinitionUri` o a`DefinitionBody`, AWS SAM genera una `DefinitionBody` per te in base alla configurazione del modello.  
*Type*: JSON  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è simile alla `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` proprietà di una `AWS::ApiGatewayV2::Api` risorsa. Se vengono fornite determinate proprietà, AWS SAM può inserire o modificare il contenuto `DefinitionBody` prima che venga passato a CloudFormation. Le proprietà includono `Auth` e un `EventSource` tipo HttpApi per una `AWS::Serverless::Function` risorsa corrispondente.

 `DefinitionUri`   <a name="sam-httpapi-definitionuri"></a>
L'URI, il percorso del file locale o l'oggetto location di Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) che definisce l'API HTTP. L'oggetto Amazon S3 a cui fa riferimento questa proprietà deve essere un file di definizione OpenAPI valido. Se non specifichi a `DefinitionUri` o a are `DefinitionBody` sono specificati, AWS SAM genera un messaggio `DefinitionBody` in base alla configurazione del modello.  
Se fornite un percorso di file locale, il modello deve passare attraverso il flusso di lavoro che include il `sam package` comando `sam deploy` o affinché la definizione venga trasformata correttamente.  
Le funzioni intrinseche non sono supportate nei file di OpenApi definizione esterni a cui si fa riferimento. `DefinitionUri` Per importare una OpenApi definizione nel modello, utilizzate la `DefinitionBody` proprietà con la trasformazione [Include](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html).  
*Tipo*: String \$1 [HttpApiDefinition](sam-property-httpapi-httpapidefinition.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è simile alla `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location)` proprietà di una `AWS::ApiGatewayV2::Api` risorsa. Le proprietà annidate di Amazon S3 sono denominate in modo diverso.

 `Description`   <a name="sam-httpapi-description"></a>
La descrizione della risorsa API HTTP.  
Quando si specifica`Description`, AWS SAM modificherà la OpenApi definizione della risorsa API HTTP impostando il `description` campo. I seguenti scenari genereranno un errore:  
+ La `DefinitionBody` proprietà viene specificata con il `description` campo impostato nella definizione di Open API: ciò genera un conflitto del `description` campo che AWS SAM non verrà risolto.
+ La `DefinitionUri` proprietà è specificata: AWS SAM non modificherà una definizione di Open API recuperata da Amazon S3.
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `DisableExecuteApiEndpoint`   <a name="sam-httpapi-disableexecuteapiendpoint"></a>
Speciifica se i client possono richiamare l'API HTTP utilizzando l'endpoint predefinito`execute-api`. `https://{api_id}.execute-api.{region}.amazonaws.com` Per impostazione predefinita, i client possono richiamare l'API con l'endpoint predefinito. Per richiedere che i client utilizzino solo un nome di dominio personalizzato per richiamare l'API, disabilita l'endpoint predefinito.  
Per utilizzare questa proprietà, è necessario specificare la `DefinitionBody` proprietà anziché la `DefinitionUri` proprietà o definire `x-amazon-apigateway-endpoint-configuration` con `disableExecuteApiEndpoint` nella definizione OpenAPI.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è simile alla `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint)` proprietà di una `AWS::ApiGatewayV2::Api` risorsa. Viene passato direttamente alla `disableExecuteApiEndpoint` proprietà di un'`[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)`estensione, che viene aggiunta alla ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` proprietà di una `AWS::ApiGatewayV2::Api` risorsa.

 `Domain`   <a name="sam-httpapi-domain"></a>
Configura un dominio personalizzato per questa API HTTP API Gateway.  
*Tipo:* [HttpApiDomainConfiguration](sam-property-httpapi-httpapidomainconfiguration.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `FailOnWarnings`   <a name="sam-httpapi-failonwarnings"></a>
Speciifica se ripristinare la creazione dell'API HTTP (`true`) o meno (`false`) quando viene rilevato un avviso. Il valore predefinito è `false`.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings)` proprietà di una `AWS::ApiGatewayV2::Api` risorsa.

`Name`  <a name="sam-httpapi-name"></a>
Il nome della risorsa API HTTP.  
Quando si specifica`Name`, AWS SAM modificherà la definizione OpenAPI della risorsa API HTTP impostando il `title` campo. I seguenti scenari genereranno un errore:  
+ La `DefinitionBody` proprietà viene specificata con il `title` campo impostato nella definizione di Open API: ciò genera un conflitto del `title` campo che AWS SAM non verrà risolto.
+ La `DefinitionUri` proprietà è specificata: AWS SAM non modificherà una definizione di Open API recuperata da Amazon S3.
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

`PropagateTags`  <a name="sam-httpapi-propagatetags"></a>
Indica se passare o meno i tag dalla `Tags` proprietà alle risorse [AWS::Serverless::HttpApi](sam-specification-generated-resources-httpapi.md) generate. `True`Specificate di propagare i tag nelle risorse generate.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*Default*: `False`  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `RouteSettings`   <a name="sam-httpapi-routesettings"></a>
Le impostazioni del percorso, per percorso, per questa API HTTP. Per ulteriori informazioni, consulta [Working with routes for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) nella *API Gateway Developer Guide*.  
*Tipo:* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` proprietà di una `AWS::ApiGatewayV2::Stage` risorsa.

 `StageName`   <a name="sam-httpapi-stagename"></a>
Il nome della fase API. Se non viene specificato alcun nome, AWS SAM utilizza lo `$default` stage di API Gateway.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Predefinito*: \$1default  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename)` proprietà di una `AWS::ApiGatewayV2::Stage` risorsa.

 `StageVariables`   <a name="sam-httpapi-stagevariables"></a>
Mappa che definisce le variabili delle fasi. I nomi delle variabili possono avere caratteri alfanumerici e caratteri di sottolineatura. I valori devono corrispondere a [a-zA-Z0-9-.\$1\$1:/? \$1&=,] \$1.  
*Type*: [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[StageVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)` proprietà di una `AWS::ApiGatewayV2::Stage` risorsa.

 `Tags`   <a name="sam-httpapi-tags"></a>
Una mappa (da stringa a stringa) che specifica i tag da aggiungere a questa fase di API Gateway. Le chiavi possono contenere da 1 a 128 caratteri Unicode e non possono includere il prefisso. `aws:` Puoi utilizzare uno qualsiasi dei seguenti caratteri: l'insieme delle lettere Unicode, cifre, spazi, `_`, `.`, `/`, `=`, `+` e `-`. I valori possono avere una lunghezza compresa tra 1 e 256 caratteri Unicode.  
*Tipo*: Mappa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.  
*Note aggiuntive*: La `Tags` proprietà richiede di AWS SAM modificare la definizione di OpenAPI, quindi i tag vengono aggiunti solo se la `DefinitionBody` proprietà è specificata, non viene aggiunto alcun tag se la proprietà è specificata. `DefinitionUri` AWS SAM aggiunge automaticamente un tag. `httpapi:createdBy:SAM` I tag vengono aggiunti anche alla `AWS::ApiGatewayV2::Stage` risorsa e alla `AWS::ApiGatewayV2::DomainName` risorsa (se `DomainName` specificato).

## Valori restituiti
<a name="sam-resource-httpapi-return-values"></a>

### Ref
<a name="sam-resource-httpapi-return-values-ref"></a>

Quando si passa l'ID logico di questa risorsa alla `Ref` funzione intrinseca, `Ref` restituisce l'ID API della `AWS::ApiGatewayV2::Api` risorsa sottostante, ad esempio. `a1bcdef2gh`

Per ulteriori informazioni sull'uso della `Ref` funzione, consulta [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)la Guida per l'*AWS CloudFormation utente*. 

## Esempi
<a name="sam-resource-httpapi--examples"></a>

### Semplice HttpApi
<a name="sam-resource-httpapi--examples--simple-httpapi"></a>

L'esempio seguente mostra il minimo necessario per configurare un endpoint API HTTP supportato da una funzione Lambda. Questo esempio utilizza l'API HTTP predefinita che AWS SAM crea.

#### YAML
<a name="sam-resource-httpapi--examples--simple-httpapi--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS SAM template with a simple API definition
Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Runtime: python3.7
Transform: AWS::Serverless-2016-10-31
```

### HttpApi con Auth
<a name="sam-resource-httpapi--examples--httpapi-with-auth"></a>

L'esempio seguente mostra come impostare l'autorizzazione sugli endpoint dell'API HTTP.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-auth--yaml"></a>

```
Properties:
  FailOnWarnings: true
  Auth:
    DefaultAuthorizer: OAuth2
    Authorizers:
      OAuth2:
        AuthorizationScopes:
          - scope4
        JwtConfiguration:
          issuer: "https://www.example.com/v1/connect/oauth2"
          audience:
            - MyApi
        IdentitySource: "$request.querystring.param"
```

### HttpApi con definizione OpenAPI
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition"></a>

L'esempio seguente mostra come aggiungere una definizione OpenAPI al modello.

Tieni presente che AWS SAM compila tutte le integrazioni Lambda mancanti HttpApi per gli eventi che fanno riferimento a questa API HTTP. AWS SAM aggiunge anche eventuali percorsi mancanti a cui fanno riferimento gli HttpApi eventi.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition--yaml"></a>

```
Properties:
  FailOnWarnings: true
  DefinitionBody:
    info:
      version: '1.0'
      title:
        Ref: AWS::StackName
    paths:
      "/":
        get:
          security:
          - OpenIdAuth:
            - scope1
            - scope2
          responses: {}
    openapi: 3.0.1
    securitySchemes:
      OpenIdAuth:
        type: openIdConnect
        x-amazon-apigateway-authorizer:
          identitySource: "$request.querystring.param"
          type: jwt
          jwtConfiguration:
            audience:
            - MyApi
            issuer: https://www.example.com/v1/connect/oidc
          openIdConnectUrl: https://www.example.com/v1/connect/oidc/.well-known/openid-configuration
```

### HttpApi con impostazioni di configurazione
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings"></a>

L'esempio seguente mostra come aggiungere API HTTP e configurazioni di stage al modello.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  StageName:
    Type: String
    Default: Prod
    
Resources:
  HttpApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
          def handler(event, context):
              import json
              return {
                  "statusCode": 200,
                  "body": json.dumps(event),
              }
      Handler: index.handler
      Runtime: python3.7
      Events:
        ExplicitApi: # warning: creates a public endpoint
          Type: HttpApi
          Properties:
            ApiId: !Ref HttpApi
            Method: GET
            Path: /path
            TimeoutInMillis: 15000
            PayloadFormatVersion: "2.0"
            RouteSettings:
              ThrottlingBurstLimit: 600

  HttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: !Ref StageName
      Tags:
        Tag: Value
      AccessLogSettings:
        DestinationArn: !GetAtt AccessLogs.Arn
        Format: $context.requestId
      DefaultRouteSettings:
        ThrottlingBurstLimit: 200
      RouteSettings:
        "GET /path":
          ThrottlingBurstLimit: 500 # overridden in HttpApi Event
      StageVariables:
        StageVar: Value
      FailOnWarnings: true

  AccessLogs:
    Type: AWS::Logs::LogGroup

Outputs:
  HttpApiUrl:
    Description: URL of your API endpoint
    Value:
      Fn::Sub: 'https://${HttpApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/${StageName}/'
  HttpApiId:
    Description: Api id of HttpApi
    Value:
      Ref: HttpApi
```

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

Configura l'autorizzazione per controllare l'accesso alla tua API HTTP Amazon API Gateway.

Per ulteriori informazioni sulla configurazione dell'accesso a HTTP APIs, consulta [Controllare e gestire l'accesso a un'API HTTP in API Gateway nella API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) *Developer Guide*.

## Sintassi
<a name="sam-property-httpapi-httpapiauth-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

## Properties
<a name="sam-property-httpapi-httpapiauth-properties"></a>

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
L'autorizzatore utilizzato per controllare l'accesso all'API API Gateway.  
*Tipo*: [OAuth2Autorizzatore \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)](sam-property-httpapi-oauth2authorizer.md)  
*Obbligatorio:* no  
*Default*: nessuna  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.  
*Note aggiuntive*: AWS SAM aggiunge gli autorizzatori alla definizione OpenAPI.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
Specificate l'autorizzatore predefinito da utilizzare per autorizzare le chiamate API alla vostra API API Gateway. È possibile specificare `AWS_IAM` come autorizzatore predefinito se `EnableIamAuthorizer` è impostato su. `true` Altrimenti, specifica un autorizzatore che hai definito in. `Authorizers`  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Default*: nessuna  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
Specificare se utilizzare l'autorizzazione IAM per il percorso dell'API.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

## Esempi
<a name="sam-property-httpapi-httpapiauth--examples"></a>

### OAuth Autorizzatore 2.0
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth Esempio di autorizzatore 2.0

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### Autorizzatore IAM
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

Esempio di autorizzatore IAM

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

Configura un autorizzatore Lambda per controllare l'accesso alla tua API HTTP Amazon API Gateway con una funzione. AWS Lambda 

Per ulteriori informazioni ed esempi, consulta [Working with AWS Lambda authorizers for HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) nella *API Gateway Developer Guide*.

## Sintassi
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## Properties
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
Specifica il formato del payload inviato a un autorizzatore Lambda API HTTP. Richiesto per gli autorizzatori Lambda API HTTP.  
Questo viene passato alla `authorizerPayloadFormatVersion` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
*Valori validi*: `1.0` o `2.0`  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
Per impostazione predefinita, alla risorsa API HTTP non viene concessa l'autorizzazione per richiamare l'autorizzatore Lambda. Specificate questa proprietà `true` per creare automaticamente le autorizzazioni tra la risorsa API HTTP e l'autorizzatore Lambda.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*Valore predefinito*: `false`  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Specifica se un autorizzatore Lambda restituisce una risposta in un formato semplice. Per impostazione predefinita, un autorizzatore Lambda deve restituire una policy AWS Identity and Access Management (IAM). Se abilitato, l'autorizzatore Lambda può restituire un valore booleano invece di una policy IAM.  
Questo viene passato alla `enableSimpleResponses` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
L'Amazon Resource Name (ARN) della funzione Lambda che fornisce l'autorizzazione per l'API.  
Questo viene passato alla `authorizerUri` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
L'ARN del ruolo IAM che dispone delle credenziali necessarie affinché API Gateway richiami la funzione di autorizzazione. Specificate questo parametro se la policy basata sulle risorse della funzione non concede l'autorizzazione API Gateway. `lambda:InvokeFunction`  
Questo viene passato alla `authorizerCredentials` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
Per ulteriori informazioni, consulta [Create a Lambda authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) nella *API Gateway Developer Guide*.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
Speciifica un elemento `IdentitySource` in una richiesta in entrata per un autorizzatore.  
Questo viene passato alla `identitySource` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
*Tipo:* [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

## Esempi
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer esempio

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

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

La proprietà use può essere utilizzata per specificare un IdentitySource in una richiesta in entrata per un autorizzatore Lambda. Per ulteriori informazioni sulle fonti di identità, consulta [Identity sources](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources) nella *API Gateway Developer Guide*.

## Sintassi
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## Properties
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
Converte le stringhe di contesto fornite in un elenco di espressioni di mappatura nel formato. `$context.contextString`  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
Converte le intestazioni in un elenco di espressioni di mappatura nel formato. `$request.header.name`  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
Converte le stringhe di query fornite in un elenco di espressioni di mappatura nel formato. `$request.querystring.queryString`  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
Il periodo time-to-live (TTL), in secondi, che specifica per quanto tempo API Gateway memorizza nella cache i risultati dell'autorizzazione. Se il valore specificato è maggiore di 0, API Gateway memorizza nella cache le risposte di autorizzazione. Il valore massimo è 3600, ovvero un'ora.  
*Tipo*: integer  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
Converte le variabili di fase specificate in un elenco di espressioni di mappatura nel formato. `$stageVariables.stageVariable`  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

## Esempi
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Esempio di identità della richiesta Lambda

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

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

Definizione di un autorizzatore OAuth 2.0, noto anche come autorizzatore JSON Web Token (JWT).

Per ulteriori informazioni, consulta [Controllare l'accesso a HTTP APIs con gli autorizzatori JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) nella *API Gateway Developer Guide*.

## Sintassi
<a name="sam-property-httpapi-oauth2authorizer-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

## Properties
<a name="sam-property-httpapi-oauth2authorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
Elenco degli ambiti di autorizzazione per questo autorizzatore.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
Espressione di origine dell'identità per questo autorizzatore.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
Configurazione JWT per questo autorizzatore.  
Questo viene passato alla `jwtConfiguration` sezione di an `x-amazon-apigateway-authorizer` nella `securitySchemes` sezione di una definizione OpenAPI.  
Le proprietà `issuer` e `audience` non fanno distinzione tra maiuscole e minuscole e possono essere utilizzate sia in minuscolo come in OpenAPI che in maiuscolo e come in. `Issuer` `Audience` [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html) 
*Tipo: Mappa*  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

## Esempi
<a name="sam-property-httpapi-oauth2authorizer--examples"></a>

### OAuth autorizzatore 2.0
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth Esempio di autorizzatore 2.0

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

# HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration"></a>

Gestisci la condivisione delle risorse tra le origini (CORS) per il tuo HTTP. APIs Specificate il dominio da consentire come stringa o specificate un dizionario con una configurazione Cors aggiuntiva. NOTA: Cors richiede SAM per modificare la definizione di OpenAPI, quindi funziona solo con OpenApi inline definito nella proprietà. `DefinitionBody`

Per ulteriori informazioni su CORS, vedere [Configuring CORS for an HTTP API nella *API*](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) Gateway Developer Guide.

Nota: se HttpApiCorsConfiguration è impostato sia in OpenAPI che a livello di proprietà, li AWS SAM unisce alle proprietà che hanno la precedenza.

## Sintassi
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [AllowCredentials](#sam-httpapi-httpapicorsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-httpapi-httpapicorsconfiguration-allowheaders): List
  [AllowMethods](#sam-httpapi-httpapicorsconfiguration-allowmethods): List
  [AllowOrigins](#sam-httpapi-httpapicorsconfiguration-alloworigins): List
  [ExposeHeaders](#sam-httpapi-httpapicorsconfiguration-exposeheaders): List
  [MaxAge](#sam-httpapi-httpapicorsconfiguration-maxage): Integer
```

## Properties
<a name="sam-property-httpapi-httpapicorsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-httpapi-httpapicorsconfiguration-allowcredentials"></a>
Specifica se le credenziali sono incluse nella richiesta CORS.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AllowHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-allowheaders"></a>
Rappresenta una raccolta di intestazioni consentite.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AllowMethods`   <a name="sam-httpapi-httpapicorsconfiguration-allowmethods"></a>
Rappresenta una raccolta di metodi HTTP consentiti.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AllowOrigins`   <a name="sam-httpapi-httpapicorsconfiguration-alloworigins"></a>
Rappresenta una raccolta di origini consentite.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `ExposeHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-exposeheaders"></a>
Rappresenta una raccolta di intestazioni esposte.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `MaxAge`   <a name="sam-httpapi-httpapicorsconfiguration-maxage"></a>
Specifica il numero di secondi in cui il browser deve memorizzare nella cache i risultati delle richieste preliminari.  
*Tipo*: integer  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

## Esempi
<a name="sam-property-httpapi-httpapicorsconfiguration--examples"></a>

### HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration"></a>

Esempio di configurazione HTTP API Cors.

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

```
CorsConfiguration:
  AllowOrigins:
    - "https://example.com"
  AllowHeaders:
    - x-apigateway-header
  AllowMethods:
    - GET
  MaxAge: 600
  AllowCredentials: true
```

# HttpApiDefinition
<a name="sam-property-httpapi-httpapidefinition"></a>

Un documento OpenAPI che definisce l'API.

## Sintassi
<a name="sam-property-httpapi-httpapidefinition-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [Bucket](#sam-httpapi-httpapidefinition-bucket): String
  [Key](#sam-httpapi-httpapidefinition-key): String
  [Version](#sam-httpapi-httpapidefinition-version): String
```

## Properties
<a name="sam-property-httpapi-httpapidefinition-properties"></a>

 `Bucket`   <a name="sam-httpapi-httpapidefinition-bucket"></a>
Il nome del bucket Amazon S3 in cui è archiviato il file OpenAPI.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket)` proprietà del tipo di dati. `AWS::ApiGatewayV2::Api` `BodyS3Location`

 `Key`   <a name="sam-httpapi-httpapidefinition-key"></a>
La chiave Amazon S3 del file OpenAPI.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key)` proprietà del tipo di `AWS::ApiGatewayV2::Api` `BodyS3Location` dati.

 `Version`   <a name="sam-httpapi-httpapidefinition-version"></a>
Per gli oggetti con versione, la versione del file OpenAPI.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version)` proprietà del tipo di `AWS::ApiGatewayV2::Api` `BodyS3Location` dati.

## Esempi
<a name="sam-property-httpapi-httpapidefinition--examples"></a>

### Definizione: esempio Uri
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example"></a>

Esempio di definizione dell'API

#### YAML
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# HttpApiDomainConfiguration
<a name="sam-property-httpapi-httpapidomainconfiguration"></a>

Configura un dominio personalizzato per un'API.

## Sintassi
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [BasePath](#sam-httpapi-httpapidomainconfiguration-basepath): List
  [CertificateArn](#sam-httpapi-httpapidomainconfiguration-certificatearn): String
  [DomainName](#sam-httpapi-httpapidomainconfiguration-domainname): String
  [EndpointConfiguration](#sam-httpapi-httpapidomainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)
  [OwnershipVerificationCertificateArn](#sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn): String
  [Route53](#sam-httpapi-httpapidomainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-httpapi-httpapidomainconfiguration-securitypolicy): String
```

## Properties
<a name="sam-property-httpapi-httpapidomainconfiguration-properties"></a>

 `BasePath`   <a name="sam-httpapi-httpapidomainconfiguration-basepath"></a>
Un elenco dei percorsi di base da configurare con il nome di dominio Amazon API Gateway.  
Tipo: elenco  
*Obbligatorio:* no  
*Predefinito*:/  
*CloudFormation compatibilità*: questa proprietà è simile alla `[ApiMappingKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey)` proprietà di una `AWS::ApiGatewayV2::ApiMapping` risorsa. AWS SAM crea più `AWS::ApiGatewayV2::ApiMapping` risorse, una per valore specificato in questa proprietà.

 `CertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-certificatearn"></a>
L'Amazon Resource Name (ARN) di un certificato AWS gestito per l'endpoint di questo nome di dominio. AWS Certificate Manager è l'unica fonte supportata.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn)` proprietà di una `AWS::ApiGateway2::DomainName DomainNameConfiguration` risorsa.

 `DomainName`   <a name="sam-httpapi-httpapidomainconfiguration-domainname"></a>
Il nome di dominio personalizzato per l'API API Gateway. Le lettere maiuscole non sono supportate.  
AWS SAM genera una `AWS::ApiGatewayV2::DomainName` risorsa quando questa proprietà è impostata. Per informazioni su questo scenario, vedere[DomainName la proprietà è specificata](sam-specification-generated-resources-httpapi.md#sam-specification-generated-resources-httpapi-domain-name). Per informazioni sulle CloudFormation risorse generate, vedere[CloudFormation Risorse generate per AWS SAM](sam-specification-generated-resources.md).  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname)` proprietà di una `AWS::ApiGateway2::DomainName` risorsa.

 `EndpointConfiguration`   <a name="sam-httpapi-httpapidomainconfiguration-endpointconfiguration"></a>
Definisce il tipo di endpoint API Gateway da mappare al dominio personalizzato. Il valore di questa proprietà determina il modo in cui la `CertificateArn` proprietà viene mappata. CloudFormation  
L'unico valore valido per HTTP APIs è`REGIONAL`.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Default*: `REGIONAL`  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `MutualTlsAuthentication`   <a name="sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication"></a>
La configurazione di autenticazione TLS (Mutual Transport Layer Security) per un nome di dominio personalizzato.  
*Tipo:* [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)` proprietà di una `AWS::ApiGatewayV2::DomainName` risorsa.

 `OwnershipVerificationCertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn"></a>
L'ARN del certificato pubblico emesso da ACM per convalidare la proprietà del dominio personalizzato. Richiesto solo quando si configura il TLS reciproco e si specifica un ARN di certificato CA privato o importato da ACM per. `CertificateArn`  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn)` proprietà del tipo di dati. `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration`

 `Route53`   <a name="sam-httpapi-httpapidomainconfiguration-route53"></a>
Definisce una configurazione Amazon Route 53.  
*Tipo: configurazione* [Route53](sam-property-httpapi-route53configuration.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `SecurityPolicy`   <a name="sam-httpapi-httpapidomainconfiguration-securitypolicy"></a>
La versione TLS della politica di sicurezza per questo nome di dominio.  
L'unico valore valido per HTTP APIs è`TLS_1_2`.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy)` proprietà del tipo di `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` dati.

## Esempi
<a name="sam-property-httpapi-httpapidomainconfiguration--examples"></a>

### DomainName
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname"></a>

DomainName esempio

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

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: REGIONAL
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# Route53Configuration
<a name="sam-property-httpapi-route53configuration"></a>

Configura i set di record Route53 per un'API.

## Sintassi
<a name="sam-property-httpapi-route53configuration-syntax"></a>

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

```
  [DistributionDomainName](#sam-httpapi-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-httpapi-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-httpapi-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-httpapi-route53configuration-hostedzonename): String
  [IpV6](#sam-httpapi-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
```

## Properties
<a name="sam-property-httpapi-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-httpapi-route53configuration-distributiondomainname"></a>
Configura una distribuzione personalizzata del nome di dominio personalizzato dell'API.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Impostazione predefinita*: utilizza la distribuzione API Gateway.  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` proprietà di una `AWS::Route53::RecordSetGroup AliasTarget` risorsa.  
*Note aggiuntive*: il nome di dominio di una [CloudFrontdistribuzione](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-httpapi-route53configuration-evaluatetargethealth"></a>
Quando EvaluateTargetHealth è vero, un record alias eredita lo stato della AWS risorsa di riferimento, ad esempio un sistema di bilanciamento del carico Elastic Load Balancing o un altro record nella zona ospitata.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla proprietà di una risorsa. `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` `AWS::Route53::RecordSetGroup AliasTarget`  
*Note aggiuntive*: non è possibile impostare su EvaluateTargetHealth true quando l'alias target è una CloudFront distribuzione.

 `HostedZoneId`   <a name="sam-httpapi-route53configuration-hostedzoneid"></a>
L'ID della zona ospitata in cui creare i record.  
Specifica `HostedZoneName` o `HostedZoneId`, ma non entrambi. Se disponi di più zone ospitate con lo stesso nome di dominio, devi specificare la zona ospitata utilizzando `HostedZoneId`.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` proprietà di una `AWS::Route53::RecordSetGroup RecordSet` risorsa.

 `HostedZoneName`   <a name="sam-httpapi-route53configuration-hostedzonename"></a>
Il nome della zona ospitata in cui desideri creare record. È necessario includere un punto finale (ad esempio, `www.example.com.`) come parte di `HostedZoneName`.  
Specifica `HostedZoneName` o `HostedZoneId`, ma non entrambi. Se disponi di più zone ospitate con lo stesso nome di dominio, devi specificare la zona ospitata utilizzando `HostedZoneId`.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` proprietà di una `AWS::Route53::RecordSetGroup RecordSet` risorsa.

 `IpV6`   <a name="sam-httpapi-route53configuration-ipv6"></a>
Quando questa proprietà è impostata, AWS SAM crea una `AWS::Route53::RecordSet` risorsa e imposta [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) su `AAAA` quella fornita HostedZone.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

`Region`  <a name="sam-httpapi-route53configuration-region"></a>
*Solo set di record di risorse basati sulla latenza: la* EC2 regione Amazon in cui hai creato la risorsa a cui si riferisce questo set di record di risorse. La risorsa è in genere una AWS risorsa, EC2 ad esempio un'istanza o un sistema di bilanciamento del carico ELB, a cui si fa riferimento tramite un indirizzo IP o un nome di dominio DNS, a seconda del tipo di record.  
Quando Amazon Route 53 riceve una query DNS per un nome e un tipo di dominio per i quali sono stati creati set di record di risorse di latenza, Route 53 seleziona il set di record di risorse di latenza con la latenza più bassa tra l'utente finale e la regione Amazon associata. EC2 Route 53 restituisce il valore associato al set di record della risorsa selezionato.  
Tenere presente quanto segue:  
+ È possibile specificare un `ResourceRecord` per set di record di risorse di latenza.
+ Puoi creare un solo set di record di risorse di latenza per ogni EC2 regione Amazon.
+ Non è necessario creare set di record di risorse di latenza per tutte le EC2 regioni Amazon. Route 53 sceglie la Regione con la migliore latenza tra quelle per cui hai creato i set di record della risorsa di latenza.
+ Non è possibile creare set di record di risorse non di latenza le cui proprietà `Name` e `Type` abbiano lo stesso valore dei set di record di risorse di latenza.
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` proprietà di un tipo di `AWS::Route53::RecordSetGroup` `RecordSet` dati.

`SetIdentifier`  <a name="sam-httpapi-route53configuration-setidentifier"></a>
*Set di record di risorse con un criterio di routing non semplice:* un identificatore che differenzia tra più set di record di risorse che hanno la stessa combinazione di nome e tipo, ad esempio più set di record di risorse ponderati denominati acme.example.com di tipo A. In un gruppo di set di record di risorse con lo steso nome e lo stesso tipo, il valore di `SetIdentifier` deve essere univoco per ogni set di record di risorse.  
Per informazioni sulle politiche di routing, consulta la sezione [Choose a routing policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) nella *Amazon Route 53 Developer Guide*.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` proprietà di un tipo di `AWS::Route53::RecordSetGroup` `RecordSet` dati.

## Esempi
<a name="sam-property-httpapi-route53configuration--examples"></a>

### Esempio di configurazione della Route 53
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example"></a>

Questo esempio mostra come configurare Route 53.

#### YAML
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
    EvaluateTargetHealth: true
    DistributionDomainName: xyz
```