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à.
Configurare la registrazione per WebSocket APIs Gateway API
È possibile abilitare la registrazione per scrivere i log nei registri. CloudWatch Esistono due tipi di API registrazione CloudWatch: registrazione dell'esecuzione e registrazione degli accessi. Nella registrazione dell'esecuzione, API Gateway gestisce i registri. CloudWatch Il processo include la creazione di gruppi e flussi di log e la segnalazione ai flussi di log delle richieste e delle risposte dell'intermediario.
Nella registrazione degli accessi, tu, in qualità di API sviluppatore, desideri registrare chi ha effettuato l'accesso al tuo API e in che modo il chiamante ha effettuato l'accesso al. API Puoi creare il tuo gruppo di log o scegliere un gruppo di log esistente che possa essere gestito da API Gateway. Per specificare i dettagli di accesso, seleziona variabili $context
(espresse in un formato a scelta) e scegli un gruppo di log come destinazione.
Per istruzioni su come configurare la CloudWatch registrazione, vedereConfigurare la CloudWatch API registrazione utilizzando la console API Gateway.
Quando specifichi il Log Format (Formato di log), puoi scegliere quali variabili di contesto registrare. Sono supportate le seguenti variabili.
Parametro | Descrizione |
---|---|
$context.apiId |
L'identificatore che API Gateway assegna al tuo. API |
$context.authorize.error |
Il messaggio di errore di autorizzazione. |
$context.authorize.latency |
La latenza di autorizzazione in ms. |
$context.authorize.status |
Il codice di stato restituito da un tentativo di autorizzazione. |
$context.authorizer.error |
Il messaggio di errore restituito da un'autorizzazione. |
$context.authorizer.integrationLatency |
La latenza del provider di autorizzazioni Lambda in ms. |
$context.authorizer.integrationStatus |
Il codice di stato restituito da un'autorizzazione Lambda. |
$context.authorizer.latency |
La latenza di autorizzazione in ms. |
$context.authorizer.requestId |
L'ID della AWS richiesta dell'endpoint. |
$context.authorizer.status |
Il codice di stato restituito da un'autorizzazione. |
$context.authorizer.principalId |
L'identificazione dell'utente principale associata al token inviato dal client e restituito da una funzione Lambda dell'autorizzazione API Gateway Lambda. (Un provider di autorizzazioni Lambda in precedenza noto come autorizzazioni ad hoc). |
$context.authorizer. |
Il valore stringato della coppia chiave-valore specificata della
la chiamata di |
$context.authenticate.error |
Il messaggio di errore restituito da un tentativo di autenticazione. |
$context.authenticate.latency |
La latenza di autenticazione in ms. |
$context.authenticate.status |
Il codice di stato restituito da un tentativo di autenticazione. |
$context.connectedAt |
L'ora della connessione in formato Epoch |
$context.connectionId |
Un ID univoco per la connessione, che può essere utilizzato per effettuare un callback al client. |
$context.domainName |
Un WebSocket API nome di dominio per. Può essere utilizzato per effettuare un callback al client (invece di un valore codificato). |
$context.error.message |
Una stringa che contiene un messaggio di errore API Gateway. |
$context.error.messageString |
Valore $context.error.message tra virgolette, ovvero "$context.error.message" . |
$context.error.responseType |
Il tipo di risposta di errore. |
$context.error.validationErrorString |
Stringa contenente un messaggio di errore di convalida dettagliato. |
$context.eventType |
Il tipo di evento: |
$context.extendedRequestId |
Equivalente a $context.requestId . |
$context.identity.accountId |
L'ID AWS dell'account associato alla richiesta. |
$context.identity.apiKey |
La chiave API del proprietario associata alla richiesta con chiave abilitataAPI. |
$context.identity.apiKeyId |
L'ID della API chiave associato alla richiesta abilitata alla chiave API |
$context.identity.caller |
Identificatore dell'entità principale dell'intermediario che ha firmato la richiesta. Supportato per i percorsi che utilizzano l'IAMautorizzazione. |
$context.identity.cognitoAuthenticationProvider |
Un elenco separato da virgole di tutti i provider di autenticazione Amazon Cognito utilizzati dal chiamante che effettua la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito. Ad esempio, per un'identità di un pool di utenti Amazon Cognito, Per informazioni sui provider di autenticazione di Amazon Cognito disponibili, consulta Using Federated Identities nella Amazon Cognito Developer Guide. |
$context.identity.cognitoAuthenticationType |
Tipo di autenticazione Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito. I valori possibili includono |
$context.identity.cognitoIdentityId |
ID identità di Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito. |
$context.identity.cognitoIdentityPoolId |
ID pool di identità di Amazon Cognito dell'intermediario da cui proviene la richiesta. Disponibile solo se la richiesta è stata firmata con credenziali Amazon Cognito. |
$context.identity.principalOrgId |
L'ID organizzazione AWS. Supportato per i percorsi che utilizzano l'autorizzazione. IAM |
$context.identity.sourceIp |
L'indirizzo IP di origine della TCP connessione che effettua la richiesta a API Gateway. |
$context.identity.user |
Identificatore dell'entità principale dell'utente che sarà autorizzato per l'accesso alle risorse. Supportato per i percorsi che utilizzano IAM l'autorizzazione. |
$context.identity.userAgent |
L'agente utente del API chiamante. |
$context.identity.userArn |
L'Amazon Resource Name (ARN) dell'utente effettivo identificato dopo l'autenticazione. |
$context.integration.error |
Il messaggio di errore restituito da un'integrazione. |
$context.integration.integrationStatus |
Per l'integrazione del proxy Lambda, il codice di stato restituito dal codice della funzione Lambda di backend AWS Lambda, non dal codice della funzione Lambda. |
$context.integration.latency |
Latenza di integrazione in ms. Equivalente a $context.integrationLatency . |
$context.integration.requestId |
L'ID della AWS richiesta dell'endpoint. Equivalente a $context.awsEndpointRequestId . |
$context.integration.status |
Il codice di stato restituito da un'integrazione. Per le integrazioni proxy Lambda, questo è il codice di stato restituito dal codice della funzione Lambda. Equivalente a $context.integrationStatus . |
$context.integrationLatency |
La latenza di integrazione in millisecondi, disponibile solo per il log di accesso. |
$context.messageId |
Un ID univoco sul lato server per un messaggio. Disponibile solo quando |
$context.requestId |
Come |
$context.requestTime |
L'ora della richiesta in CLFdd/MMM/yyyy:HH:mm:ss
+-hhmm |
$context.requestTimeEpoch |
L'ora della richiesta in formato epoca (Unix epoch) |
$context.routeKey |
La chiave di instradamento selezionata. |
$context.stage |
La fase di distribuzione della API chiamata (ad esempio, beta o prod). |
$context.status |
Lo stato della risposta. |
$context.waf.error |
Il messaggio di errore restituito da AWS WAF. |
$context.waf.latency |
La AWS WAF latenza in ms. |
$context.waf.status |
Il codice di stato restituito da AWS WAF. |
Esempi di alcuni formati di log di accesso di uso comune sono mostrati nella console API Gateway e sono elencati di seguito.
-
CLF
(Common Log Format): $context.identity.sourceIp $context.identity.caller \ $context.identity.user [$context.requestTime] "$context.eventType $context.routeKey $context.connectionId" \ $context.status $context.requestId
I caratteri di continuazione (
\
) sono intesi come un aiuto visivo. Il formato del registro deve essere una singola riga. È possibile aggiungere un carattere di nuova riga (\n
) alla fine del formato di registro per includere una nuova riga alla fine di ogni voce di registro. -
JSON
:{ "requestId":"$context.requestId", \ "ip": "$context.identity.sourceIp", \ "caller":"$context.identity.caller", \ "user":"$context.identity.user", \ "requestTime":"$context.requestTime", \ "eventType":"$context.eventType", \ "routeKey":"$context.routeKey", \ "status":"$context.status", \ "connectionId":"$context.connectionId" }
I caratteri di continuazione (
\
) sono intesi come un aiuto visivo. Il formato del registro deve essere una singola riga. È possibile aggiungere un carattere di nuova riga (\n
) alla fine del formato di registro per includere una nuova riga alla fine di ogni voce di registro. -
XML
:<request id="$context.requestId"> \ <ip>$context.identity.sourceIp</ip> \ <caller>$context.identity.caller</caller> \ <user>$context.identity.user</user> \ <requestTime>$context.requestTime</requestTime> \ <eventType>$context.eventType</eventType> \ <routeKey>$context.routeKey</routeKey> \ <status>$context.status</status> \ <connectionId>$context.connectionId</connectionId> \ </request>
I caratteri di continuazione (
\
) sono intesi come un aiuto visivo. Il formato del registro deve essere una singola riga. È possibile aggiungere un carattere di nuova riga (\n
) alla fine del formato di registro per includere una nuova riga alla fine di ogni voce di registro. -
CSV
(valori separati da virgola):$context.identity.sourceIp,$context.identity.caller, \ $context.identity.user,$context.requestTime,$context.eventType, \ $context.routeKey,$context.connectionId,$context.status, \ $context.requestId
I caratteri di continuazione (
\
) sono intesi come un aiuto visivo. Il formato del registro deve essere una singola riga. È possibile aggiungere un carattere di nuova riga (\n
) alla fine del formato di registro per includere una nuova riga alla fine di ogni voce di registro.