

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

# Procedure memorizzate PartiQL in Amazon QLDB
<a name="ql-stored-procedures"></a>

**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/).

In Amazon QLDB, puoi utilizzare il comando per eseguire procedure memorizzate PartiQL con `EXEC` la seguente sintassi.

```
EXEC stored_procedure_name argument [, ... ]
```

QLDB supporta solo le seguenti stored procedure di sistema:

**Topics**
+ [REDACT\$1REVISION](ql-stored-procedures.redact_revision.md)

# Procedura memorizzata REDACT\$1REVISION in Amazon QLDB
<a name="ql-stored-procedures.redact_revision"></a>

**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/).

**Nota**  
I registri creati prima del 22 luglio 2021 non sono attualmente idonei alla redazione. Puoi visualizzare l'ora di creazione del tuo libro mastro sulla console Amazon QLDB.

In Amazon QLDB, utilizza `REDACT_REVISION` la procedura stored per eliminare definitivamente una singola revisione inattiva di un documento sia nello storage indicizzato che nello storage journal. Questa procedura memorizzata elimina tutti i dati utente nella revisione specificata. Tuttavia, lascia invariati la sequenza del diario e i metadati del documento, inclusi l'ID e l'hash del documento. *Questa operazione è irreversibile.*

La revisione del documento specificata deve essere una revisione inattiva nella cronologia. L'ultima revisione attiva di un documento non è idonea per la redazione.

Dopo aver inviato una richiesta di redazione eseguendo questa procedura memorizzata, QLDB elabora la redazione dei dati in modo asincrono. Una volta completata la redazione, i dati utente della revisione specificata (rappresentata dalla struttura) vengono sostituiti da un nuovo campo. `data` `dataHash` Il valore di questo campo è l'hash [Amazon Ion](ion.md) della `data` struttura rimossa. Di conseguenza, il registro mantiene l'integrità complessiva dei dati e rimane verificabile crittograficamente attraverso le operazioni API di verifica esistenti.

Per un esempio di operazione di redazione con dati di esempio, vedere in. [Esempio di redazione](working.redaction.md#working.redaction.example) [Redazione delle revisioni dei documenti](working.redaction.md)

**Nota**  
Per informazioni su come controllare l'accesso per eseguire questo comando PartiQL su tabelle specifiche, vedere. [Guida introduttiva alla modalità di autorizzazione standard in Amazon QLDB](getting-started-standard-mode.md)

**Topics**
+ [Considerazioni e limitazioni sulla redazione](#ql-stored-procedures.redact_revision.considerations)
+ [Sintassi](#ql-stored-procedures.redact_revision.syntax)
+ [Argomenti](#ql-stored-procedures.redact_revision.arguments)
+ [Valore restituito](#ql-stored-procedures.redact_revision.return)
+ [Esempi](#ql-stored-procedures.redact_revision.examples)

## Considerazioni e limitazioni sulla redazione
<a name="ql-stored-procedures.redact_revision.considerations"></a>

Prima di iniziare con la redazione dei dati in Amazon QLDB, assicurati di leggere le seguenti considerazioni e limitazioni:
+ La procedura `REDACT_REVISION` memorizzata riguarda i dati utente in una singola revisione inattiva del documento. Per redigere più revisioni, è necessario eseguire la stored procedure una volta per ogni revisione. È possibile redigere una revisione per transazione.
+ Per oscurare determinati campi all'interno di una revisione del documento, è necessario utilizzare un'istruzione DML (Data Manipulation Language) separata per modificare prima la revisione. Per ulteriori informazioni, consulta [Oscurare un particolare campo all'interno di una revisione](working.redaction.md#working.redaction.field).
+ Dopo che QLDB riceve una richiesta di redazione, non è possibile annullare o modificare la richiesta. Per confermare se una redazione è completa, puoi verificare se la `data` struttura di una revisione è stata sostituita da un campo. `dataHash` Per ulteriori informazioni, consulta [Verifica se una redazione è completa](working.redaction.md#working.redaction.check-completion).
+ La redazione non ha alcun impatto sui dati QLDB replicati all'esterno del servizio QLDB. Ciò include tutte le esportazioni verso Amazon S3 e gli stream verso Amazon Kinesis Data Streams. È necessario utilizzare altri metodi di conservazione dei dati per gestire i dati archiviati al di fuori di QLDB.
+ La redazione non ha alcun impatto sui valori letterali nelle istruzioni PartiQl registrate nel journal. È consigliabile eseguire istruzioni con parametri a livello di codice utilizzando segnaposto variabili anziché valori letterali. Un segnaposto viene scritto nel diario come punto interrogativo (`?`) invece di qualsiasi informazione sensibile che potrebbe richiedere una redazione.

  Per informazioni su come eseguire a livello di codice istruzioni PartiQL utilizzando il driver QLDB, consulta i tutorial per ogni linguaggio di programmazione supportato in. [Guida introduttiva al driver](getting-started-driver.md)

## Sintassi
<a name="ql-stored-procedures.redact_revision.syntax"></a>

```
EXEC REDACT_REVISION `block-address`, 'table-id', 'document-id'
```

## Argomenti
<a name="ql-stored-procedures.redact_revision.arguments"></a>

`*block-address*`  
La posizione nel blocco journal della revisione del documento da redigere. Un indirizzo è una struttura Amazon Ion con due campi: `strandId` e`sequenceNo`.  
Si tratta di un valore letterale Ion indicato da backtick. Per esempio:  

```
`{strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:17}`
```
Per informazioni su come trovare l'indirizzo del blocco, consulta. [Interrogazione dei metadati dei documenti](working.metadata.md)

'*table-id*'  
L'ID univoco della tabella di cui si desidera redigere la revisione del documento, indicato da virgolette singole.  
Per informazioni su come trovare l'ID della tabella, consulta. [Interrogazione del catalogo di sistema](working.catalog.md)

'*document-id*'  
L'ID univoco del documento della revisione da oscurare, indicato da virgolette singole.  
Per informazioni su come trovare l'ID del documento, consulta. [Interrogazione dei metadati dei documenti](working.metadata.md)

## Valore restituito
<a name="ql-stored-procedures.redact_revision.return"></a>

Una struttura Amazon Ion che rappresenta la revisione del documento da redigere, nel seguente formato.

```
{
  blockAddress: {
    strandId: String,
    sequenceNo: Int
  },
  tableId: String,
  documentId: String,
  version: Int
}
```

**Restituisci i campi della struttura**
+ `blockAddress`— La posizione nel blocco del diario della revisione da redigere. Un indirizzo ha i due campi seguenti.
  + `strandId`— L'ID univoco del filone di giornale che contiene il blocco.
  + `sequenceNo`— Un numero indice che specifica la posizione del blocco all'interno del trefolo.
+ `tableId`— L'ID univoco della tabella di cui state oscurando la revisione.
+ `documentId`— L'ID univoco del documento della revisione da oscurare.
+ `version`— Il numero di versione della revisione del documento da redigere.

Di seguito è riportato un esempio della struttura restituita con dati di esempio.

```
{
  blockAddress: {
    strandId: "CsRnx0RDoNK6ANEEePa1ov",
    sequenceNo: 134
  },
  tableId: "6GZumdHggklLdMGyQq9DNX",
  documentId: "IXlQPSbfyKMIIsygePeKrZ",
  version: 0
}
```

## Esempi
<a name="ql-stored-procedures.redact_revision.examples"></a>

```
EXEC REDACT_REVISION `{strandId:"7z2P0AyQKWD8oFYmGNhi8D", sequenceNo:7}`, '8F0TPCmdNQ6JTRpiLj2TmW', '05K8zpGYWynDlEOK5afDRc'
```