Streaming di dati alle tabelle con Amazon Data Firehose - Amazon Simple Storage Service

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

Streaming di dati alle tabelle con Amazon Data Firehose

Amazon Data Firehose è un servizio completamente gestito per la distribuzione di dati di streaming in tempo reale a destinazioni come Amazon S3, Amazon Redshift, OpenSearch Amazon Service SplunkApache Iceberg, tabelle ed endpoint HTTP personalizzati o endpoint HTTP di proprietà di provider di servizi terzi supportati. Con Amazon Data Firehose, non è necessario scrivere applicazioni o gestire risorse. È sufficiente configurare i produttori dati perché inviino i dati a Firehose, che li distribuirà automaticamente alla destinazione specificata. È anche possibile configurare Firehose per trasformare i dati prima di distribuirli. Per ulteriori informazioni su Amazon Data Firehose, consulta What is Amazon Data Firehose?

Completa questi passaggi per configurare lo streaming di Firehose sulle tabelle nei bucket da tavolo S3:

  1. Integrare i bucket di tabelle con i servizi di analisi di AWS.

  2. Configura Firehose per fornire dati nelle tue tabelle S3. A tale scopo, create un ruolo di servizio AWS Identity and Access Management (IAM) che consenta a Firehose di accedere alle tabelle.

  3. Concedi al ruolo di servizio Firehose autorizzazioni esplicite per la tabella o lo spazio dei nomi della tabella. Per ulteriori informazioni, consulta Concedi le autorizzazioni di Lake Formation sulle risorse della tua tabella.

  4. Crea uno stream Firehose che indirizza i dati alla tua tabella.

Creazione di un ruolo per Firehose per l'uso delle tabelle S3 come destinazione

Firehose necessita di un ruolo di servizio IAM con autorizzazioni specifiche per accedere alle AWS Glue tabelle e scrivere dati nelle tabelle S3. È necessario fornire questo ruolo IAM quando si crea uno stream Firehose.

  1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione a sinistra, seleziona Policy.

  3. Scegli Crea una policy e scegliere JSON nell'editor delle policy.

  4. Aggiungere la seguente policy in linea che concede le autorizzazioni a tutti i database e alle tabelle del catalogo dei dati. Se lo si desidera, è possibile concedere le autorizzazioni solo a tabelle e database specifici. Per utilizzare questa policy, sostituisci user input placeholders con le tue informazioni.

    JSON

    Questa policy contiene istruzioni che consentono l'accesso a Kinesis Data Streams, l'invocazione delle funzioni Lambda e l'accesso alle chiavi. AWS KMS Se non si utilizza nessuna di queste risorse, è possibile rimuovere le rispettive istruzioni.

    Se la registrazione degli errori è abilitata, Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. Per questo motivo, è necessario configurare i nomi del gruppo di log e del flusso di log. Per i nomi dei gruppi di log e dei flussi di log, consulta Monitoring Amazon Data Firehose Using Logs. CloudWatch

  5. Dopo aver creato la policy, creare un ruolo IAM con il servizio AWS come il Tipo di entità attendibile.

  6. Per Servizio o caso d'uso scegli Kinesis. Per Caso d'uso scegli Kinesis Firehose.

  7. Scegli Successivo, quindi seleziona la policy creata in precedenza.

  8. Assegnare un nome al proprio ruolo. Verifica i dettagli del ruolo e scegli Crea ruolo. Il ruolo avrà la seguente policy di attendibilità.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "firehose.amazonaws.com" ] } } ] }

Creazione di uno stream Firehose su tabelle S3

La procedura seguente mostra come creare uno stream Firehose per fornire dati alle tabelle S3 utilizzando la console. I seguenti prerequisiti sono necessari per configurare un flusso Firehose alle tabelle S3.

Per fornire informazioni di routing a Firehose quando si configura uno stream, si utilizza lo spazio dei nomi come nome del database e il nome di una tabella in tale spazio dei nomi. È possibile utilizzare questi valori nella sezione Chiave unica di una configurazione del flusso Firehose per instradare i dati a una singola tabella. È inoltre possibile utilizzare questi valori per eseguire l'instradamento a una tabella utilizzando le espressioni di query JSON. Per ulteriori informazioni, consulta Instradare i record in entrata a una singola tabella Iceberg.

Per configurare un flusso su tabelle S3 (console)
  1. Aprire la console Firehose all'indirizzo. https://console.aws.amazon.com/firehose/

  2. Scegli Crea un flusso Firehose.

  3. Per Origine scegli una delle seguenti origini:

    • Flusso di dati Amazon Kinesis

    • MSK Amazon

    • Diretto PUT

  4. Per Destinazione, scegli Apache IcebergTabelle.

  5. Immettere un nome per il flusso Firehose.

  6. Configurare le impostazioni dell'origine.

  7. Per le impostazioni di destinazione, scegli Account corrente per eseguire lo streaming sulle tabelle del tuo account o Cross-account per le tabelle di un altro account.

    • Per le tabelle nell'account corrente, seleziona il tuo catalogo S3 Tables dal menu a discesa Catalogo.

    • Per le tabelle in un account multiplo, inserisci l'ARN del catalogo su cui desideri eseguire lo streaming in un altro account.

  8. Configura i nomi di database e tabelle utilizzando la configurazione Unique Key, JSONQuery le espressioni o una funzione Lambda. Per ulteriori informazioni, consulta Instradare i record in entrata a una singola tabella Iceberg e Instradare i record in entrata a diverse tabelle Iceberg nella Amazon Data Firehose Developer Guide.

  9. In Impostazioni di backup specificare un bucket di backup S3.

  10. Per Ruoli IAM esistenti in Impostazioni avanzate, seleziona il ruolo IAM creato per Firehose.

  11. Scegli Crea un flusso Firehose.

Per ulteriori informazioni sulle altre impostazioni che puoi configurare per uno stream, consulta Configurare lo stream Firehose nella Amazon Data Firehose Developer Guide.