Crea una tabella per un percorso a livello di organizzazione utilizzando il partizionamento manuale - Amazon Athena

Crea una tabella per un percorso a livello di organizzazione utilizzando il partizionamento manuale

Per creare una tabella per i file di log CloudTrail a livello di organizzazione in Athena, segui i passaggi indicati in Crea una tabella per i registri CloudTrail in Athena utilizzando il partizionamento manuale ma apporta le modifiche indicate nella procedura seguente.

Creazione di una tabella Athena per i registri CloudTrail a livello di organizzazione
  1. Nell'istruzione CREATE TABLE, modifica la clausola LOCATION per includere l'ID dell'organizzazione, come nell'esempio seguente:

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/'
  2. Nella clausola PARTITIONED BY, aggiungi una voce per l'ID account sotto forma di stringa, come nell'esempio seguente:

    PARTITIONED BY (account string, region string, year string, month string, day string)

    L'esempio seguente mostra solo il risultato combinato:

    ... PARTITIONED BY (account string, region string, year string, month string, day string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/'
  3. Nella clausola ADD PARTITION dell'istruzione ALTER TABLE, includi l'ID dell'account, come nell'esempio seguente:

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08')
  4. Nella clausola LOCATION dell'istruzione ALTER TABLE, includi l'ID dell'organizzazione, l'ID dell'account e la partizione che desideri aggiungere, come nell'esempio seguente:

    LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/Account_ID/CloudTrail/us-east-1/2022/08/08/'

    L'istruzione di esempio ALTER TABLE seguente mostra solo il risultato combinato:

    ALTER TABLE table_name ADD PARTITION (account='111122223333', region='us-east-1', year='2022', month='08', day='08') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/organization_id/111122223333/CloudTrail/us-east-1/2022/08/08/'

Nota che che, in un'organizzazione di grandi dimensioni, l'utilizzo di questo metodo per aggiungere e gestire manualmente una partizione per ogni ID di account dell'organizzazione può essere complicato. In uno scenario del genere, prendere in considerazione l'utilizzo di CloudTrail Lake anziché Athena. CloudTrail Lake in questo scenario offre i seguenti vantaggi:

  • Aggrega automaticamente i log di un'intera organizzazione

  • Non richiede la configurazione o la manutenzione di partizioni o di una tabella Athena

  • Le query vengono eseguite direttamente nella console CloudTrail

  • Utilizza un linguaggio di query compatibile con SQL

Per ulteriori informazioni consultare Working with AWS CloudTrail Lake nella Guida per l'utente AWS CloudTrail.