

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

# Esportazione dei dati del diario da Amazon QLDB
Esportazione dei dati del diario

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

*Amazon QLDB utilizza un log transazionale immutabile, noto come journal, per l'archiviazione dei dati.* Il diario tiene traccia di ogni modifica ai dati impegnati e mantiene una cronologia completa e verificabile delle modifiche nel tempo.

È possibile accedere ai contenuti del diario nel registro per vari scopi, tra cui analisi, controllo, conservazione dei dati, verifica ed esportazione verso altri sistemi. I seguenti argomenti descrivono come esportare [blocchi](journal-contents.md) di journal dal tuo registro in un bucket Amazon Simple Storage Service (Amazon S3) presente nel tuo. Account AWS Un processo di esportazione del diario scrive i dati in Amazon S3 come oggetti nella rappresentazione testuale o binaria del formato [Amazon Ion](ion.md) o nel formato di testo *JSON Lines*.

Nel formato JSON Lines, ogni blocco di un oggetto dati esportato è un oggetto JSON valido delimitato da una nuova riga. Puoi utilizzare questo formato per integrare direttamente le esportazioni JSON con strumenti di analisi come Amazon Athena AWS Glue e perché questi servizi possono analizzare automaticamente JSON delimitato da nuove righe. [Per ulteriori informazioni sul formato, consulta JSON Lines.](https://jsonlines.org/)

Per informazioni su Amazon S3, consulta la Guida per l'[utente di Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).

**Nota**  
Se specifichi JSON come formato di output del processo di esportazione, QLDB converte i dati del journal Ion in JSON negli oggetti dati esportati. Per ulteriori informazioni, consulta [Conversione verso il basso in JSON](export-journal.output.md#export-journal.output.json).

**Topics**
+ [

# Richiedere l'esportazione di un diario in QLDB
](export-journal.request.md)
+ [

# Uscita di esportazione del diario in QLDB
](export-journal.output.md)
+ [

# Autorizzazioni di esportazione del diario in QLDB
](export-journal.perms.md)
+ [

# Errori comuni relativi all'esportazione delle riviste
](export-journal.errors.md)

# Richiedere l'esportazione di un diario in QLDB
Richiesta di esportazione

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Amazon QLDB fornisce un'API per richiedere l'esportazione dei blocchi di journal per un intervallo di data e ora specificato e una destinazione di bucket Amazon S3 specificata. Un processo di esportazione del diario può scrivere gli oggetti dati nella rappresentazione testuale o binaria del formato [Amazon Ion](ion.md) o nel formato di testo [JSON Lines](https://jsonlines.org/). Puoi utilizzare il Console di gestione AWS, un AWS SDK o il AWS Command Line Interface (AWS CLI) per creare un processo di esportazione.

**Topics**
+ [

## Console di gestione AWS
](#export-journal.request.con)
+ [

## API QLDB
](#export-journal.request.api)
+ [

## Scadenza del lavoro di esportazione
](#export-journal.request.expiration)

## Console di gestione AWS


Segui questi passaggi per inviare una richiesta di esportazione del journal in QLDB utilizzando la console QLDB.

**Per richiedere un'esportazione (console)**

1. [Accedi a e apri Console di gestione AWS la console Amazon QLDB all'indirizzo /qldb. https://console.aws.amazon.com](https://console.aws.amazon.com/qldb)

1. **Nel pannello di navigazione, scegli Esporta.**

1. Scegli **Crea processo di esportazione**.

1. Nella pagina **Crea processo di esportazione**, inserisci le seguenti impostazioni di esportazione:
   + **Libro contabile**: il libro contabile di cui si desidera esportare i blocchi del diario.
   + **Data e ora di inizio**: il timestamp di inizio incluso, in formato UTC (Coordinated Universal Time), dell'intervallo di blocchi di diario da esportare. **Questo timestamp deve essere anteriore alla data e all'ora di fine.** Se fornisci un timestamp di inizio precedente a quello del libro mastro, `CreationDateTime` QLDB lo imposta di default su quello del libro mastro. `CreationDateTime`
   + **Data e ora di fine**: l'esclusivo timestamp di fine (UTC) dell'intervallo di blocchi di journal da esportare. Questa data e ora non possono appartenere al futuro.
   + **Destinazione per i blocchi journal**: il bucket Amazon S3 e il nome del prefisso in cui il processo di esportazione scrive gli oggetti dati. Utilizza il seguente formato URI Amazon S3.

     ```
     s3://amzn-s3-demo-qldb-cloudtrail/prefix/
     ```

     È necessario specificare un nome di bucket S3 e un nome di prefisso opzionale per gli oggetti di output. Di seguito è riportato un esempio.

     ```
     s3://amzn-s3-demo-qldb-cloudtrail/journalExport/
     ```

     Il nome e il prefisso del bucket devono entrambi rispettare le regole e le convenzioni di denominazione di Amazon S3. Per ulteriori informazioni sulla denominazione dei bucket, consulta [Restrizioni e limitazioni dei bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) nella *Amazon* S3 Developer Guide. [Per ulteriori informazioni sui prefissi dei nomi chiave, consulta Chiave dell'oggetto e metadati.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html)
**Nota**  
Le esportazioni tra regioni non sono supportate. Il bucket Amazon S3 specificato deve trovarsi nello Regione AWS stesso registro.
   + **Crittografia S3**: le impostazioni di crittografia utilizzate dal processo di esportazione per scrivere dati in un bucket Amazon S3. *Per ulteriori informazioni sulle opzioni di crittografia lato server in Amazon S3, [consulta Protezione dei dati utilizzando la crittografia lato server nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) Amazon S3 Developer Guide.*
     + **Crittografia predefinita del bucket**: utilizza le impostazioni di crittografia predefinite del bucket Amazon S3 specificato.
     + **AES-256**: utilizza la crittografia lato server con le chiavi gestite di Amazon S3 (SSE-S3).
     + **AWS-KMS**: utilizza la crittografia lato server con chiavi AWS KMS gestite (SSE-KMS).

       Se scegli questo tipo insieme all' AWS KMS key opzione **Scegli un altro**, devi anche specificare una chiave KMS di crittografia simmetrica nel seguente formato Amazon Resource Name (ARN).

       ```
       arn:aws:kms:aws-region:account-id:key/key-id
       ```
   + **Accesso al servizio**: il ruolo IAM che concede le autorizzazioni di scrittura QLDB nel bucket Amazon S3. Se applicabile, il ruolo IAM deve inoltre concedere le autorizzazioni QLDB per utilizzare la chiave KMS.

     *Per passare un ruolo a QLDB quando si richiede l'esportazione di un journal, è necessario disporre delle autorizzazioni per eseguire `iam:PassRole` l'azione sulla risorsa del ruolo IAM.*
     + **Crea e usa un nuovo ruolo di servizio**: consenti alla console di creare un nuovo ruolo per te con le autorizzazioni richieste per il bucket Amazon S3 specificato.
     + **Usa un ruolo di servizio esistente**: per scoprire come creare manualmente questo ruolo in IAM, consulta. [Autorizzazioni di esportazione](export-journal.perms.md)
   + **Formato di output**: il formato di output dei dati del diario esportati
     + **Ion text** — (impostazione predefinita) Rappresentazione testuale di Amazon Ion
     + **Ion binary**: rappresentazione binaria di Amazon Ion
     + **JSON: formato** di testo JSON delimitato da una nuova riga

       Se scegli JSON, QLDB converte i dati del journal Ion in JSON negli oggetti dati esportati. Per ulteriori informazioni, consulta [Conversione verso il basso in JSON](export-journal.output.md#export-journal.output.json).

1. **Quando le impostazioni sono quelle che desideri, scegli Crea processo di esportazione.**

   Il tempo necessario per completare il processo di esportazione varia a seconda della dimensione dei dati. Se l'invio della richiesta ha esito positivo, la console torna alla pagina principale di **esportazione** ed elenca i lavori di esportazione con il loro stato attuale.

1. Puoi vedere i tuoi oggetti di esportazione sulla console Amazon S3.

   Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

   Per ulteriori informazioni sul formato di questi oggetti di output, consulta[Uscita di esportazione del diario in QLDB](export-journal.output.md).

**Nota**  
I lavori di esportazione scadono sette giorni dopo il completamento. Per ulteriori informazioni, consulta [Scadenza del lavoro di esportazione](#export-journal.request.expiration).

## API QLDB


Puoi anche richiedere l'esportazione di un journal utilizzando l'API Amazon QLDB con AWS un SDK o il. AWS CLI L'API QLDB fornisce le seguenti operazioni per l'uso da parte dei programmi applicativi:
+ `ExportJournalToS3`— Esporta i contenuti del diario entro un intervallo di data e ora da un determinato registro in un bucket Amazon S3 specificato. Un processo di esportazione può scrivere i dati come oggetti nella rappresentazione testuale o binaria del formato Amazon Ion o nel formato di testo JSON Lines.
+ `DescribeJournalS3Export`— Restituisce informazioni dettagliate su un processo di esportazione di un diario. L'output include lo stato corrente, l'ora di creazione e i parametri della richiesta di esportazione originale.
+ `ListJournalS3Exports`— Restituisce un elenco di descrizioni dei lavori di esportazione delle riviste per tutti i libri contabili associati alla regione corrente Account AWS e alla regione. L'output di ogni descrizione del lavoro di esportazione include gli stessi dettagli restituiti da`DescribeJournalS3Export`.
+ `ListJournalS3ExportsForLedger`— Restituisce un elenco di descrizioni dei lavori di esportazione delle riviste per un determinato libro mastro. L'output di ogni descrizione del lavoro di esportazione include gli stessi dettagli restituiti da`DescribeJournalS3Export`.

Per una descrizione completa di queste operazioni API, consulta[Riferimento all'API Amazon QLDB](api-reference.md).

Per informazioni sull'esportazione dei dati del diario utilizzando AWS CLI, vedere il [AWS CLI Command Reference.](https://docs.aws.amazon.com/cli/latest/reference/qldb/index.html)

### Applicazione di esempio (Java)


Per esempi di operazioni di esportazione di base in codice Java, consulta il GitHub repository [amazon-qldb-dmv-sampleaws-samples/](https://github.com/aws-samples/amazon-qldb-dmv-sample-java) -java. Per istruzioni su come scaricare e installare questa applicazione di esempio, consulta. [Installazione dell'applicazione di esempio Amazon QLDB Java](sample-app.java.md) Prima di richiedere un'esportazione, assicurati di seguire i passaggi da 1 a 3 [Tutorial su Java](getting-started.java.tutorial.md) per creare un registro di esempio e caricarlo con dati di esempio.

Il codice tutorial nelle seguenti classi fornisce esempi di creazione di un'esportazione, controllo dello stato di un'esportazione ed elaborazione dell'output di un'esportazione.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/qldb/latest/developerguide/export-journal.request.html)

## Scadenza del lavoro di esportazione


I lavori di esportazione del diario completati sono soggetti a un periodo di conservazione di 7 giorni. Vengono eliminati automaticamente dopo la scadenza di questo limite. Questo periodo di scadenza è un limite rigido e non può essere modificato.

Dopo l'eliminazione di un processo di esportazione completato, non è più possibile utilizzare la console QLDB o le seguenti operazioni API per recuperare i metadati relativi al lavoro:
+ `DescribeJournalS3Export`
+ `ListJournalS3Exports`
+ `ListJournalS3ExportsForLedger`

Tuttavia, questa scadenza non ha alcun impatto sui dati esportati stessi. Tutti i metadati vengono conservati nei file manifesto scritti dalle tue esportazioni. Questa scadenza è progettata per fornire un'esperienza più fluida per le operazioni API che elencano i lavori di esportazione delle riviste. QLDB rimuove i vecchi lavori di esportazione per garantire che vengano visualizzate solo le esportazioni recenti senza dover analizzare più pagine di lavori.

# Uscita di esportazione del diario in QLDB
Output di esportazione

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Un processo di esportazione del journal Amazon QLDB scrive due file manifest oltre agli oggetti dati che contengono i blocchi del journal. [Questi vengono tutti salvati nel bucket Amazon S3 che hai fornito nella richiesta di esportazione.](export-journal.request.md) Nelle sezioni seguenti sono descritti il formato e il contenuto di ciascun oggetto di output.

**Nota**  
Se specifichi JSON come formato di output del processo di esportazione, QLDB converte i dati del journal Amazon Ion in JSON negli oggetti dati esportati. Per [Conversione verso il basso in JSON](#export-journal.output.json) ulteriori informazioni, procedi a.

**Topics**
+ [

## File manifesto
](#export-journal.output.manifest)
+ [

## Oggetti dati
](#export-journal.output.data)
+ [

## Conversione verso il basso in JSON
](#export-journal.output.json)
+ [

## Libreria di processori di esportazione (Java)
](#export-journal.output.processor)

## File manifesto


Amazon QLDB crea due file manifest nel bucket S3 fornito per ogni richiesta di esportazione. Il file *manifesto iniziale* viene creato non appena si invia la richiesta di esportazione. Il file *manifesto finale* viene scritto dopo il completamento dell'esportazione. Puoi utilizzare questi file per verificare lo stato dei tuoi lavori di esportazione in Amazon S3.

Il formato per il contenuto dei file manifest corrisponde al formato di output richiesto per l'esportazione.

### Manifesto iniziale


Il manifesto iniziale indica che il processo di esportazione è iniziato. Contiene i parametri di input che hai passato alla richiesta. Oltre alla destinazione di Amazon S3 e ai parametri dell'ora di inizio e fine per l'esportazione, questo file contiene anche un. `exportId` `exportId`È un ID univoco che QLDB assegna a ogni processo di esportazione.

La convenzione di denominazione dei file è la seguente.

```
s3://amzn-s3-demo-qldb-cloudtrail/prefix/exportId.started.manifest
```

Di seguito è riportato un esempio di file manifest iniziale e del relativo contenuto in formato di testo Ion.

```
s3://amzn-s3-demo-qldb-cloudtrail/journalExport/8UyXulxccYLAsbN1aon7e4.started.manifest
```

```
{
  ledgerName:"my-example-ledger",
  exportId:"8UyXulxccYLAsbN1aon7e4",
  inclusiveStartTime:2019-04-15T00:00:00.000Z,
  exclusiveEndTime:2019-04-15T22:00:00.000Z,
  bucket:"amzn-s3-demo-qldb-cloudtrail",
  prefix:"journalExport",
  objectEncryptionType:"NO_ENCRYPTION",
  outputFormat:"ION_TEXT"
}
```

Il manifesto iniziale include `outputFormat` solo se è stato specificato nella richiesta di esportazione. Se non si specifica il formato di output, per impostazione predefinita viene utilizzato il formato dei dati esportati. `ION_TEXT`

Il funzionamento dell'API [DescribeJournalS3Export](https://docs.aws.amazon.com/qldb/latest/developerguide/API_DescribeJournalS3Export.html) e il tipo di contenuto degli oggetti Amazon S3 esportati indicano anche il formato di output.

### Manifesto finale


Il manifesto finale indica che il processo di esportazione per una particolare sezione del *diario* è stato completato. Il processo di esportazione scrive un file manifesto finale separato per ogni filone.

**Nota**  
In Amazon QLDB, un filone è una partizione del diario del libro contabile. QLDB attualmente supporta solo riviste con un solo filone.

Il manifesto finale include un elenco ordinato di chiavi degli oggetti dati che sono state scritte durante l'esportazione. La convenzione di denominazione dei file è la seguente.

```
s3://amzn-s3-demo-qldb-cloudtrail/prefix/exportId.strandId.completed.manifest
```

`strandId`È un ID univoco che QLDB assegna al filamento. Di seguito è riportato un esempio di file manifest finale e del relativo contenuto in formato di testo Ion.

```
s3://amzn-s3-demo-qldb-cloudtrail/journalExport/8UyXulxccYLAsbN1aon7e4.JdxjkR9bSYB5jMHWcI464T.completed.manifest
```

```
{
  keys:[
    "2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.1-4.ion",
    "2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.5-10.ion",
    "2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.11-12.ion",
    "2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.13-20.ion",
    "2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.21-21.ion"
  ]
}
```

## Oggetti dati


*Amazon QLDB scrive oggetti di dati del journal nel bucket Amazon S3 fornito nella rappresentazione testuale o binaria del formato Amazon Ion o nel formato di testo JSON Lines.*

Nel formato JSON Lines, ogni blocco in un oggetto dati esportato è un oggetto JSON valido delimitato da una nuova riga. Puoi utilizzare questo formato per integrare direttamente le esportazioni JSON con strumenti di analisi come Amazon Athena AWS Glue e perché questi servizi possono analizzare automaticamente JSON delimitato da nuove righe. [Per ulteriori informazioni sul formato, consulta JSON Lines.](https://jsonlines.org/)

### Nomi degli oggetti dati


Un processo di esportazione di un diario scrive questi oggetti di dati con la seguente convenzione di denominazione.

```
s3://amzn-s3-demo-qldb-cloudtrail/prefix/yyyy/mm/dd/hh/strandId.startSn-endSn.ion|.json
```
+ I dati di output di ogni processo di esportazione sono suddivisi in blocchi.
+ `yyyy/mm/dd/hh`— La data e l'ora in cui hai inviato la richiesta di esportazione. Gli oggetti che vengono esportati entro la stessa ora vengono raggruppati con lo stesso prefisso Amazon S3.
+ `strandId`— L'ID univoco del particolare filamento che contiene il blocco journal che viene esportato.
+ `startSn-endSn`— L'intervallo di numeri di sequenza incluso nell'oggetto. Un numero di sequenza specifica la posizione di un blocco all'interno di un filamento.

Ad esempio, supponete di specificare il percorso seguente.

```
s3://amzn-s3-demo-qldb-cloudtrail/journalExport/
```

Il processo di esportazione crea un oggetto dati Amazon S3 simile al seguente. Questo esempio mostra il nome di un oggetto in formato Ion.

```
s3://amzn-s3-demo-qldb-cloudtrail/journalExport/2019/04/15/22/JdxjkR9bSYB5jMHWcI464T.1-5.ion
```

### Contenuto dell'oggetto dati


Ogni oggetto dati contiene oggetti Journal Block con il seguente formato.

```
{
  blockAddress: {
    strandId: String,
    sequenceNo: Int
  },
  transactionId: String,
  blockTimestamp: Datetime,
  blockHash: SHA256,
  entriesHash: SHA256,
  previousBlockHash: SHA256,
  entriesHashList: [ SHA256 ],
  transactionInfo: {
    statements: [
      {
        //PartiQL statement object
      }
    ],
    documents: {
      //document-table-statement mapping object
    }
  },
  revisions: [
    {
      //document revision object
    }
  ]
}
```

Un *blocco* è un oggetto che viene salvato nel journal durante una transazione. Un blocco contiene i metadati delle transazioni insieme alle voci che rappresentano le revisioni dei documenti che sono state eseguite nella transazione e le istruzioni PartiQL che le hanno [salvate](ql-reference.md).

Di seguito è riportato un esempio di blocco con dati di esempio in formato testo Ion. Per informazioni sui campi in un oggetto blocco, vedere[Contenuti del diario in Amazon QLDB](journal-contents.md).

**Nota**  
Questo esempio di blocco viene fornito solo a scopo informativo. Gli hash mostrati non sono valori hash calcolati reali.

```
{
  blockAddress:{
    strandId:"JdxjkR9bSYB5jMHWcI464T",
    sequenceNo:1234
  },
  transactionId:"D35qctdJRU1L1N2VhxbwSn",
  blockTimestamp:2019-10-25T17:20:21.009Z,
  blockHash:{{WYLOfZClk0lYWT3lUsSr0ONXh+Pw8MxxB+9zvTgSvlQ=}},
  entriesHash:{{xN9X96atkMvhvF3nEy6jMSVQzKjHJfz1H3bsNeg8GMA=}},
  previousBlockHash:{{IAfZ0h22ZjvcuHPSBCDy/6XNQTsqEmeY3GW0gBae8mg=}},
  entriesHashList:[
      {{F7rQIKCNn0vXVWPexilGfJn5+MCrtsSQqqVdlQxXpS4=}},
      {{C+L8gRhkzVcxt3qRJpw8w6hVEqA5A6ImGne+E7iHizo=}}
  ],
  transactionInfo:{
    statements:[
      {
        statement:"CREATE TABLE VehicleRegistration",
        startTime:2019-10-25T17:20:20.496Z,
        statementDigest:{{3jeSdejOgp6spJ8huZxDRUtp2fRXRqpOMtG43V0nXg8=}}
      },
      {
        statement:"CREATE INDEX ON VehicleRegistration (VIN)",
        startTime:2019-10-25T17:20:20.549Z,
        statementDigest:{{099D+5ZWDgA7r+aWeNUrWhc8ebBTXjgscq+mZ2dVibI=}}
      },
      {
        statement:"CREATE INDEX ON VehicleRegistration (LicensePlateNumber)",
        startTime:2019-10-25T17:20:20.560Z,
        statementDigest:{{B73tVJzVyVXicnH4n96NzU2L2JFY8e9Tjg895suWMew=}}
      },
      {
        statement:"INSERT INTO VehicleRegistration ?",
        startTime:2019-10-25T17:20:20.595Z,
        statementDigest:{{ggpon5qCXLo95K578YVhAD8ix0A0M5CcBx/W40Ey/Tk=}}
      }
    ],
    documents:{
      '8F0TPCmdNQ6JTRpiLj2TmW':{
        tableName:"VehicleRegistration",
        tableId:"BPxNiDQXCIB5l5F68KZoOz",
        statements:[3]
      }
    }
  },
  revisions:[
    {
      hash:{{FR1IWcWew0yw1TnRklo2YMF/qtwb7ohsu5FD8A4DSVg=}}
    },
    {
      blockAddress:{
        strandId:"JdxjkR9bSYB5jMHWcI464T",
        sequenceNo:1234
      },
      hash:{{t8Hj6/VC4SBitxnvBqJbOmrGytF2XAA/1c0AoSq2NQY=}},
      data:{
        VIN:"1N4AL11D75C109151",
        LicensePlateNumber:"LEWISR261LL",
        State:"WA",
        City:"Seattle",
        PendingPenaltyTicketAmount:90.25,
        ValidFromDate:2017-08-21,
        ValidToDate:2020-05-11,
        Owners:{
          PrimaryOwner:{
            PersonId:"GddsXfIYfDlKCEprOLOwYt"
          },
          SecondaryOwners:[]
        }
      },
      metadata:{
        id:"8F0TPCmdNQ6JTRpiLj2TmW",
        version:0,
        txTime:2019-10-25T17:20:20.618Z,
        txId:"D35qctdJRU1L1N2VhxbwSn"
      }
    }
  ]
}
```

Nel `revisions` campo, alcuni oggetti di revisione potrebbero contenere solo un `hash` valore e nessun altro attributo. Si tratta di revisioni di sistema solo interne che non contengono dati utente. Un processo di esportazione include queste revisioni nei rispettivi blocchi perché gli hash di queste revisioni fanno parte dell'intera catena hash della rivista. La catena hash completa è necessaria per la verifica crittografica.

## Conversione verso il basso in JSON


Se specifichi JSON come formato di output del processo di esportazione, QLDB converte i dati del journal Amazon Ion in JSON negli oggetti dati esportati. Tuttavia, la conversione di Ion in JSON comporta perdite in alcuni casi in cui i dati utilizzano tipi di ioni complessi che non esistono in JSON.

*Per informazioni dettagliate sulle regole di conversione da Ion a JSON, consulta [Down-converting to JSON](https://amzn.github.io/ion-docs/guides/cookbook.html#down-converting-to-json) nell'Amazon Ion Cookbook.*

## Libreria di processori di esportazione (Java)


QLDB fornisce un framework estensibile per Java che semplifica l'elaborazione delle esportazioni in Amazon S3. Questa libreria di framework gestisce il lavoro di lettura dell'output di un'esportazione e l'iterazione tra i blocchi esportati in ordine sequenziale. [Per utilizzare questo processore di esportazione, consulta il GitHub repository awslabs/ -java. amazon-qldb-export-processor](https://github.com/awslabs/amazon-qldb-export-processor-java)

# Autorizzazioni di esportazione del diario in QLDB
Autorizzazioni di esportazione

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Prima di inviare una richiesta di esportazione del journal in Amazon QLDB, devi fornire a QLDB le autorizzazioni di scrittura nel bucket Amazon S3 specificato. Se scegli un client managed AWS KMS key come tipo di crittografia degli oggetti per il tuo bucket Amazon S3, devi anche fornire a QLDB le autorizzazioni per utilizzare la chiave di crittografia simmetrica specificata. Amazon S3 non supporta chiavi KMS [asimmetriche](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html).

Per fornire al processo di esportazione le autorizzazioni necessarie, puoi fare in modo che QLDB assuma un ruolo di servizio IAM con le politiche di autorizzazione appropriate. Un ruolo di servizio è un [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) che un servizio assume per eseguire operazioni per tuo conto. Un amministratore IAM può creare, modificare ed eliminare un ruolo di servizio dall'interno di IAM. Per ulteriori informazioni, consulta la sezione [Create a role to delegate permissions to an Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida per l'utente IAM*. 

**Nota**  
Per passare un ruolo a QLDB quando si richiede l'esportazione di un journal, è necessario disporre delle autorizzazioni per eseguire `iam:PassRole` l'azione sulla risorsa del ruolo IAM. Ciò si aggiunge all'`qldb:ExportJournalToS3`autorizzazione sulla risorsa di registro QLDB.  
Per informazioni su come controllare l'accesso a QLDB utilizzando IAM, consulta. [Come funziona Amazon QLDB con IAM](security_iam_service-with-iam.md) Per un esempio di policy QLDB, vedere. [Esempi di policy basate sull'identità per Amazon QLDB](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-export-to-s3-bucket)

In questo esempio, crei un ruolo che consente a QLDB di scrivere oggetti in un bucket Amazon S3 per tuo conto. Per ulteriori informazioni, consulta la sezione [Creazione di un ruolo per delegare le autorizzazioni a un Servizio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *Guida per l'utente di IAM*.

Se stai esportando un journal QLDB per Account AWS la prima volta, devi prima creare un ruolo IAM con le politiche appropriate procedendo come segue. In alternativa, puoi [utilizzare la console QLDB](export-journal.request.md#export-journal.request.con) per creare automaticamente il ruolo per te. Altrimenti, puoi scegliere un ruolo che hai creato in precedenza.

**Topics**
+ [

## Creazione di una policy di autorizzazione
](#export-journal.perms.create-policy)
+ [

## Creazione di un ruolo IAM
](#export-journal.perms.create-role)

## Creazione di una policy di autorizzazione


Completa i seguenti passaggi per creare una politica di autorizzazioni per un processo di esportazione di diari QLDB. Questo esempio mostra una policy per i bucket di Amazon S3 che concede le autorizzazioni QLDB per scrivere oggetti nel bucket specificato. Se applicabile, l'esempio mostra anche una politica chiave che consente a QLDB di utilizzare la chiave KMS di crittografia simmetrica.

Per ulteriori informazioni sulle policy dei bucket di Amazon S3, consulta [Using bucket policy e user policy nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-iam-policies.html) *Amazon Simple Storage* Service User Guide. *Per ulteriori informazioni sulle politiche AWS KMS chiave, consulta [Using key policy AWS KMS nella](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) Developer Guide.AWS Key Management Service *

**Nota**  
Il bucket Amazon S3 e la chiave KMS devono trovarsi entrambi nello stesso registro QLDB Regione AWS .

**Come utilizzare l'editor di policy JSON per creare una policy**

1. Accedi e apri la console IAM all' Console di gestione AWS indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel riquadro di navigazione a sinistra, seleziona **Policies (Policy)**.

   Se è la prima volta che selezioni **Policy**, verrà visualizzata la pagina **Benvenuto nelle policy gestite**. Seleziona **Inizia**.

1. Nella parte superiore della pagina, scegli **Crea policy**.

1. Scegli la scheda **JSON**.

1. Specificare un documento della policy JSON.
   + Se utilizzi una chiave KMS gestita dal cliente per la crittografia degli oggetti Amazon S3, utilizza il seguente documento di policy di esempio. Per utilizzare questa politica, sostituisci *amzn-s3-demo-qldb-cloudtrail**us-east-1*,*123456789012*, e *1234abcd-12ab-34cd-56ef-1234567890ab* nell'esempio con le tue informazioni.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBJournalExportS3Permission",
                 "Action": [
                     "s3:PutObjectAcl",
                     "s3:PutObject"
                 ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:s3:::amzn-s3-demo-qldb-cloudtrail/*"
             },
             {
                 "Sid": "QLDBJournalExportKMSPermission",
                 "Action": [ "kms:GenerateDataKey" ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
             }
         ]
     }
     ```
   + Per altri tipi di crittografia, utilizzare il seguente documento di policy di esempio. Per utilizzare questa politica, sostituiscila *amzn-s3-demo-qldb-cloudtrail* nell'esempio con il tuo nome di bucket Amazon S3.

     ```
     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "QLDBJournalExportS3Permission",
                 "Action": [
                     "s3:PutObjectAcl",
                     "s3:PutObject"
                 ],
                 "Effect": "Allow",
                 "Resource": "arn:aws:s3:::amzn-s3-demo-qldb-cloudtrail/*"
             }
         ]
     }
     ```

1. Scegli **Verifica policy**.
**Nota**  
È possibile passare tra le schede **Visual editor (Editor visivo)** e **JSON** in qualsiasi momento. Se tuttavia si apportano modifiche o se si seleziona **Review policy (Rivedi policy)** nella scheda **Visual editor (Editor visivo)**, IAM potrebbe modificare la policy per ottimizzarla per l'editor visivo. Per ulteriori informazioni, consulta [Modifica della struttura delle policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure) nella *Guida per l'utente di IAM*.

1. Nella pagina **Review policy (Rivedi policy)**, inserisci i valori per **Name (Nome)** e **Description (Descrizione)** (facoltativa) per la policy che stai creando. Consulta il **Summary** (Riepilogo) della policy per visualizzare le autorizzazioni concesse dalla policy. Seleziona **Create policy** (Crea policy) per salvare il proprio lavoro.

## Creazione di un ruolo IAM


Dopo aver creato una politica di autorizzazioni per il tuo processo di esportazione di riviste QLDB, puoi quindi creare un ruolo IAM e allegare la tua policy ad esso.

**Per creare il ruolo di servizio per QLDB (console IAM)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione della console IAM, scegliere **Ruoli** e quindi **Crea ruolo**.

1. Per **Trusted entity type** (Tipo di entità attendibile), scegli **Servizio AWS**.

1. Per **Servizio o caso d'uso**, scegli **QLDB**, quindi scegli lo use case **QLDB**.

1. Scegli **Next (Successivo)**.

1. Seleziona la casella accanto alla politica che hai creato nei passaggi precedenti.

1. (Facoltativo) Impostare un [limite delle autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Questa è una caratteristica avanzata disponibile per i ruoli di servizio, ma non per i ruoli collegati ai servizi.

   1. Apri la sezione **Imposta limite delle autorizzazioni** e seleziona **Usa un limite delle autorizzazioni per controllare il numero massimo di autorizzazioni del ruolo**.

      IAM include un elenco delle politiche AWS gestite e gestite dal cliente nel tuo account.

   1. Selezionare la policy da utilizzare per il limite delle autorizzazioni.

1. Scegli **Next (Successivo)**.

1. Inserisci il nome del ruolo o il suffisso del nome del ruolo per aiutarti a identificare lo scopo del ruolo.
**Importante**  
Quando assegni un nome a un ruolo, tieni presente quanto segue:  
I nomi dei ruoli devono essere univoci all'interno del tuo Account AWS profilo e non possono essere resi unici per caso.  
Ad esempio, non creare ruoli denominati **PRODROLE** e **prodrole**. Quando il nome di un ruolo viene utilizzato in una policy o come parte di un ARN, il nome del ruolo fa distinzione tra maiuscole e minuscole, tuttavia quando un nome di ruolo viene visualizzato ai clienti nella console, ad esempio durante il processo di accesso, il nome del ruolo non fa distinzione tra maiuscole e minuscole.
Non è possibile modificare il nome del ruolo dopo averlo creato, in quanto altre entità possono fare riferimento al ruolo.

1. (Facoltativo) In **Descrizione**, inserisci una descrizione per il ruolo.

1. (Facoltativo) Per modificare i casi d'uso e le autorizzazioni per il ruolo, in **Fase 1: seleziona le entità attendibili** o **Fase 2: aggiungi autorizzazioni** seleziona **Modifica**.

1. (Facoltativo) Per facilitare l'identificazione, l'organizzazione o la ricerca del ruolo, aggiungi i tag come coppie chiave-valore. Per ulteriori informazioni sull'utilizzo dei tag in IAM, consulta [Tags for AWS Identity and Access Management resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) nella *IAM User Guide*.

1. Verificare il ruolo e quindi scegliere **Create role (Crea ruolo)**.

Il seguente documento JSON è un esempio di policy di fiducia che consente a QLDB di assumere un ruolo IAM con autorizzazioni specifiche associate.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "qldb.amazonaws.com"
            },
            "Action": [ "sts:AssumeRole" ],
            "Condition": {
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

**Nota**  
*Questo esempio di politica di fiducia mostra come utilizzare le chiavi di contesto `aws:SourceArn` e di contesto della condizione `aws:SourceAccount` globale per evitare il confuso problema del vicesceriffo.* Con questa politica di fiducia, QLDB può assumere il ruolo di qualsiasi risorsa QLDB solo nell'account. `123456789012`  
Per ulteriori informazioni, consulta [Prevenzione del problema "confused deputy" tra servizi](cross-service-confused-deputy-prevention.md).

Dopo aver creato il tuo ruolo IAM, torna alla console QLDB e aggiorna **la pagina Crea processo di esportazione** in modo che possa trovare il tuo nuovo ruolo.

# Errori comuni relativi all'esportazione delle riviste
Errori comuni

**Importante**  
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta [Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/).

Questa sezione descrive gli errori di runtime generati da Amazon QLDB per le richieste di esportazione dei journal.

Di seguito è riportato un elenco di eccezioni comuni restituite dal servizio. Ogni eccezione include il messaggio di errore specifico, seguito da una breve descrizione e suggerimenti per possibili soluzioni.<a name="export-journal.errors.varlist"></a>

**AccessDeniedException**  
Messaggio: Utente: *userARN* non autorizzato a eseguire: iam: PassRole on resource: *roleARN*  
Non disponi delle autorizzazioni per passare un ruolo IAM al servizio QLDB. QLDB richiede un ruolo per tutte le richieste di esportazione del journal e devi disporre delle autorizzazioni per passare questo ruolo a QLDB. Il ruolo fornisce a QLDB le autorizzazioni di scrittura nel bucket Amazon S3 specificato.  
Verifica di definire una policy IAM che conceda l'autorizzazione a eseguire l'operazione `PassRole` API sulla risorsa del ruolo IAM specificata per il servizio QLDB (). `qldb.amazonaws.com` Per un esempio di policy, consulta [Esempi di policy basate sull'identità per Amazon QLDB](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-export-to-s3-bucket).

**IllegalArgumentException**  
Messaggio: QLDB ha riscontrato un errore durante la convalida della configurazione S3: *errorCode* *errorMessage*  
Una possibile causa di questo errore è che il bucket Amazon S3 fornito non esiste in Amazon S3. Oppure, QLDB non dispone di autorizzazioni sufficienti per scrivere oggetti nel bucket Amazon S3 specificato.  
Verifica che il nome del bucket S3 fornito nella richiesta di lavoro di esportazione sia corretto. Per ulteriori informazioni sulla denominazione dei bucket, consulta [Restrizioni e limitazioni dei bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) nella *Amazon Simple Storage Service* User Guide.  
Inoltre, verifica di definire una policy per il bucket specificato che conceda `PutObject` e `PutObjectAcl` autorizzi il servizio QLDB (). `qldb.amazonaws.com` Per ulteriori informazioni, consulta [Autorizzazioni di esportazione](export-journal.perms.md).

**IllegalArgumentException**  
Messaggio: risposta inaspettata da Amazon S3 durante la convalida della configurazione S3. Risposta da S3: *errorCode* *errorMessage*  
Il tentativo di scrivere i dati di esportazione del journal nel bucket S3 fornito non è riuscito con la risposta di errore di Amazon S3 fornita. Per ulteriori informazioni sulle possibili cause, consulta la sezione [Risoluzione dei problemi di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/troubleshooting.html) nella Guida per l'*utente di Amazon Simple Storage Service*.  


**IllegalArgumentException**  
Messaggio: il prefisso del bucket Amazon S3 non deve superare i 128 caratteri  
Il prefisso fornito nella richiesta di esportazione del journal contiene più di 128 caratteri.

**IllegalArgumentException**  
Messaggio: la data di inizio non deve essere successiva alla data di fine  
Entrambi `InclusiveStartTime` `ExclusiveEndTime` devono essere nel formato di data e ora [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) e nel formato UTC (Coordinated Universal Time).

**IllegalArgumentException**  
Messaggio: la data di fine non può essere futura  
Entrambi `InclusiveStartTime` i formati `ExclusiveEndTime` devono essere in formato `ISO 8601` data e ora e UTC.

**IllegalArgumentException**  
Messaggio: l'impostazione di crittografia degli oggetti (S3EncryptionConfiguration) fornita non è compatibile con una chiave AWS Key Management Service (AWS KMS)  
Hai `KMSKeyArn` fornito una `ObjectEncryptionType` delle due opzioni `NO_ENCRYPTION` o`SSE_S3`. È possibile fornire a un cliente gestito AWS KMS key solo un tipo di crittografia degli oggetti di`SSE_KMS`. *Per ulteriori informazioni sulle opzioni di crittografia lato server in Amazon S3, [consulta Protezione dei dati utilizzando la crittografia lato server nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) Amazon S3 Developer Guide.*

**LimitExceededException**  
Messaggio: è stato superato il limite di 2 job di esportazione di Journal eseguiti contemporaneamente  
QLDB impone un limite predefinito di due processi di esportazione di giornali simultanei.