

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à.

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

L'oggetto che descrive un tipo di origine `Api` dell'evento. Se viene definita una [AWS::Serverless::Api](sam-resource-api.md) risorsa, i valori del percorso e del metodo devono corrispondere a un'operazione nella definizione OpenAPI dell'API.

Se [AWS::Serverless::Api](sam-resource-api.md) è definito no, la funzione input e output sono una rappresentazione della richiesta HTTP e della risposta HTTP.

Ad esempio, utilizzando l' JavaScript API, il codice di stato e il corpo della risposta possono essere controllati restituendo un oggetto con le chiavi statusCode e body.

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

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

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

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

 `Auth`   <a name="sam-function-api-auth"></a>
Configurazione di autenticazione per questo metodo Api\$1Path\$1specifico.  
Utile per sovrascrivere l'`DefaultAuthorizer`impostazione auth config dell'API su un singolo percorso quando non è specificato no `DefaultAuthorizer` o per sovrascrivere l'impostazione predefinita. `ApiKeyRequired`  
*Tipo:* [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `Method`   <a name="sam-function-api-method"></a>
Metodo HTTP per il quale viene richiamata questa funzione. Le opzioni includono `DELETE``GET`,`HEAD`,`OPTIONS`,`PATCH`, `POST``PUT`, e`ANY`. Per ulteriori informazioni, consulta [Configurare un metodo HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) nella *Guida per gli sviluppatori di API Gateway*.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `Path`   <a name="sam-function-api-path"></a>
Percorso Uri per il quale viene richiamata questa funzione. Deve iniziare con`/`.  
▬*Tipo:* stringa  
*Obbligatorio:* sì  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
Richiedi il modello da utilizzare per questo specifico metodo Api\$1Path\$1. Questo dovrebbe fare riferimento al nome di un modello specificato nella `Models` sezione di una risorsa. [AWS::Serverless::Api](sam-resource-api.md)  
*Tipo:* [RequestModel](sam-property-function-requestmodel.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
Richiedi la configurazione dei parametri per questo metodo Api\$1Path\$1 specifico. Tutti i nomi dei parametri devono iniziare con `method.request` e devono essere limitati a`method.request.header`, o. `method.request.querystring` `method.request.path`  
Un elenco può contenere sia stringhe di nomi di parametri che [RequestParameter](sam-property-function-requestparameter.md)oggetti. Per le stringhe, l'impostazione predefinita delle `Caching` proprietà `Required` and è. `false`  
*Tipo*: Elenco di [String \$1 [RequestParameter](sam-property-function-requestparameter.md)]  
*Obbligatorio:* no  
*CloudFormation compatibilità*: Questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
Identificatore di una RestApi risorsa, che deve contenere un'operazione con il percorso e il metodo indicati. In genere, è impostato per fare riferimento a una [AWS::Serverless::Api](sam-resource-api.md) risorsa definita in questo modello.  
Se non definisci questa proprietà, AWS SAM crea una [AWS::Serverless::Api](sam-resource-api.md) risorsa predefinita utilizzando un `OpenApi` documento generato. Tale risorsa contiene un'unione di tutti i percorsi e i metodi definiti dagli `Api` eventi nello stesso modello che non specificano a`RestApiId`.  
Questo non può fare riferimento a una [AWS::Serverless::Api](sam-resource-api.md) risorsa definita in un altro modello.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
La modalità di trasferimento della risposta per l'integrazione della funzione Lambda. Impostato per `RESPONSE_STREAM` abilitare lo streaming di risposte Lambda tramite API Gateway, permettendo alla funzione di trasmettere le risposte ai client. Se impostato su`RESPONSE_STREAM`, API Gateway utilizza l'API Lambda InvokeWithResponseStreaming .  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Valori validi*: `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation compatibilità*: questa proprietà viene passata direttamente alla [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)proprietà di un`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Timeout personalizzato tra 50 e 29.000 millisecondi.  
Quando si specifica questa proprietà, AWS SAM modifica la definizione OpenAPI. La definizione OpenAPI deve essere specificata in linea utilizzando la proprietà. `DefinitionBody` 
*Tipo*: integer  
*Obbligatorio:* no  
*Impostazione predefinita*: 29.000 millisecondi o 29 secondi  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

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

### Esempio di base
<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
```