Api - AWS Serverless Application Model

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

L'oggetto che descrive un tipo di origine Api dell'evento. Se viene definita una AWS::Serverless::Api risorsa, i valori del percorso e del metodo devono corrispondere a un'operazione nella definizione OpenAPI dell'API.

Se AWS::Serverless::Api è 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

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

Proprietà

Auth

Configurazione di autenticazione per questo metodo Api+Path+specifico.

Utile per sovrascrivere l'DefaultAuthorizerimpostazione auth config dell'API su un singolo percorso quando non è specificato no DefaultAuthorizer o per sovrascrivere l'impostazione predefinita. ApiKeyRequired

Tipo: ApiFunctionAuth

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Method

Metodo HTTP per il quale viene richiamata questa funzione.

Tipo: stringa

Campo obbligatorio: sì

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

Path

Percorso Uri per il quale viene richiamata questa funzione. Deve iniziare con/.

Tipo: stringa

Campo obbligatorio: sì

AWS CloudFormationcompatibilità: Questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

RequestModel

Richiedi il modello da utilizzare per questo specifico metodo Api+Path+. Questo dovrebbe fare riferimento al nome di un modello specificato nella Models sezione di una risorsa. AWS::Serverless::Api

Tipo: RequestModel

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

RequestParameters

Richiedi la configurazione dei parametri per questo metodo Api+Path+ specifico. Tutti i nomi dei parametri devono iniziare con method.request e devono essere limitati amethod.request.header, o. method.request.querystring method.request.path

Un elenco può contenere sia stringhe di nomi di parametri che RequestParameteroggetti. Per le stringhe, l'impostazione predefinita delle Caching proprietà Required and è. false

Tipo: Elenco di [String | RequestParameter]

Required: No

AWS CloudFormationcompatibilità: Questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

RestApiId

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 risorsa definita in questo modello.

Se non definisci questa proprietà, AWS SAM crea una AWS::Serverless::Api 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 aRestApiId.

Questo non può fare riferimento a una AWS::Serverless::Api risorsa definita in un altro modello.

Tipo: stringa

Required: No

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un AWS CloudFormation equivalente.

TimeoutInMillis

Timeout personalizzato tra 50 e 29.000 millisecondi.

Nota

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

Required: No

Impostazione predefinita: 29.000 millisecondi o 29 secondi

AWS CloudFormationcompatibilità: questa proprietà è unica AWS SAM e non ha un equivalente. AWS CloudFormation

Esempi

Esempio di base

YAML

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