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à.
Crea una distribuzione di log per i log di esecuzione dell'API REST
Puoi indirizzare i log di esecuzione ai tuoi gruppi di CloudWatch log Logs, ai bucket Amazon S3 o ai tuoi stream Firehose. A tale scopo, crea una consegna Amazon Logs. CloudWatch Ciò prevede tre passaggi: creare una fonte di consegna, creare una destinazione di consegna e collegarli a una consegna.
Prerequisiti
Prima di creare un registro di consegna, assicurati di disporre di quanto segue:
-
La registrazione dell'esecuzione è abilitata nella fase dell'API REST. Imposta
loggingLevelsuERRORoINFO. Se la registrazione non è abilitata, la creazione dell'origine di consegna non riesce. -
Una risorsa di destinazione: un gruppo di CloudWatch log Logs, un bucket Amazon S3 o uno stream Firehose di tua proprietà.
-
Autorizzazioni per chiamare le API di distribuzione di Amazon Logs CloudWatch . Per ulteriori informazioni, consulta Abilitare la registrazione dai AWS servizi nella Amazon CloudWatch Logs User Guide.
Gateway-specific Valori API per la consegna di Amazon CloudWatch Logs
Quando crei una distribuzione per i log di esecuzione di API Gateway, utilizza i seguenti valori:
- ARN risorsa
-
arn:aws:apigateway:{region}:{account-id}:/restapis/{rest-api-id}/stages/{stage-name} - Tipo di log
-
EXECUTION_LOGS
Crea una consegna di log (AWS CLI)
L'esempio seguente crea una consegna che invia i log di esecuzione da un'API REST a un gruppo di CloudWatch log Logs di tua proprietà.
-
Crea la fonte di consegna
Registra la tua API REST come fonte di consegna.
aws logs put-delivery-source \ --namemy-apigw-source\ --log-type EXECUTION_LOGS \ --resource-arn arn:aws:apigateway:{region}:{account-id}:/restapis/{rest-api-id}/stages/{stage-name} -
Crea la destinazione di consegna
Registra il tuo gruppo di log come destinazione di consegna.
aws logs put-delivery-destination \ --namemy-log-destination\ --delivery-destination-configuration "destinationResourceArn=arn:aws:logs:{region}:{account-id}:log-group:{log-group-name}" -
Crea la consegna
Collega l'origine alla destinazione.
aws logs create-delivery \ --delivery-source-namemy-apigw-source\ --delivery-destination-arn arn:aws:logs:{region}:{account-id}:delivery-destination:my-log-destination
Per inviare i log ad Amazon S3 o Firehose, specifica l'ARN della risorsa appropriata nel comando. put-delivery-destination Per ulteriori informazioni sul flusso completo di distribuzione di Amazon CloudWatch Logs, consulta Enable logging from AWS services nella Amazon CloudWatch Logs User Guide.
Per inviare i log a più destinazioni, crea consegne aggiuntive utilizzando la stessa fonte di consegna con destinazioni diverse.
Campi di registrazione
Con la distribuzione di Amazon CloudWatch Logs, i log di esecuzione includono campi strutturati che puoi personalizzare per destinazione. Sono disponibili i seguenti campi:
resource_arn— L'ARN della fase APIevent_timestamp— L'ora dell'evento di registroapi_id— L'identificatore dell'API RESTstage— Il nome della faseresource_path— Il percorso della risorsa della richiestahttp_method— Il metodo HTTPpayload— Il contenuto del registro di esecuzione (uguale ai registri di esecuzione standard)
È possibile selezionare i campi da includere e il formato di output per ciascuna destinazione utilizzando il --record-fields parametro on create-delivery e il --output-format parametro onput-delivery-destination.
I formati di output disponibili dipendono dalla destinazione:
CloudWatch Registri: json, semplici
Amazon S3: json, semplice, w3c, parquet
Firehose — json, semplice
Corrisponde all'output del registro di esecuzione standard
Se desideri un output di consegna che corrisponda alla registrazione di esecuzione standard (solo payload, senza campi aggiuntivi), aggiungi --output-format "plain" a put-delivery-destination e --record-fields "payload" --field-delimiter "" a. create-delivery
Crea un registro di consegna (CloudFormation)
Quando assemblate lo stage ARN per i CloudFormation modelli, utilizzate il seguente schema:
DeliverySource: Type: AWS::Logs::DeliverySource Properties: Name: my-apigw-source LogType: EXECUTION_LOGS ResourceArn: !Sub "arn:${AWS::Partition}:apigateway:${AWS::Region}:${AWS::AccountId}:/restapis/${MyApi}/stages/${MyStageName}"
Crea una consegna del registro (console API Gateway)
Puoi creare una consegna dei log dalla sezione Log and tracing della pagina dei dettagli della fase.
Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway
. -
Scegli la tua API REST, quindi scegli Stages.
-
Scegliere una fase.
-
Nella sezione Log and tracing, in Destinazioni di consegna dei log, scegli Aggiungi destinazione.
-
Scegli un tipo di destinazione (CloudWatch Logs, Amazon S3 o Firehose) e specifica la risorsa di destinazione.
-
Selezionare Salva.
Importante
È necessario abilitare la registrazione dell'esecuzione sullo stage prima di poter aggiungere le destinazioni di consegna. Se la registrazione è impostata su Off, la configurazione di consegna non genera registri.
Nota
Per configurare le destinazioni di consegna tra più account, utilizza la CLI AWS . È necessario creare una politica di destinazione della consegna nell'account di destinazione prima di creare la consegna nell'account di origine. Per ulteriori informazioni, consulta l'esempio Cross-account di consegna nella Guida per l'utente di Amazon CloudWatch Logs.