Vai al contenuto principale Passa a contenuto complementare

Impostazioni di trasferimento su un data lake

È possibile modificare le impostazioni di trasferimento su un data lake in base alle esigenze.

Generali

Metodo di aggiornamento

È possibile trasferire i dati in due modalità diverse. Non è possibile cambiare la modalità una volta preparata l'attività di trasferimento sul data lake.

  • Change Data Capture (CDC): Le attività di trasferimento del data lake iniziano con un ricaricamento completo (durante il quale tutte le tabelle selezionate vengono trasferite). i dati trasferiti vengono quindi mantenuti aggiornati usando la tecnologia CDC (Change Data Capture).

    Nota informaticaL'acquisizione dati di modifica (CDC) per le operazioni DDL non è supportata.
  • Ricarica: esegue un caricamento completo dei dati dalle tabelle di origine selezionate sulla piattaforma di destinazione e, se necessario, crea le tabelle di destinazione. Il caricamento completo viene eseguito automaticamente all'avvio dell'attività, ma può anche essere eseguito o pianificato in modo che venga eseguito regolarmente, in base alle necessità.

Cartella da utilizzare

Selezionare una delle seguenti opzioni, a seconda della cartella del bucket in cui si desidera che vengano scritti i file:

  • Cartella predefinita: il formato della cartella predefinita è <nome-progetto-utente>/<nome-attività-utente>
  • Cartella radice: i file verranno scritti direttamente nel bucket.
  • Cartella: inserire il nome della cartella. La cartella verrà creata durante l'attività di trasferimento del data lake se non esiste.

    Nota informatica Il nome della cartella non può includere caratteri speciali (ad esempio, @, #, !, e così via).

Cambia partizione dati

Nota informaticaQuesta opzione è disponibile solo quando il metodo di aggiornamento è Change Data Capture (CDC).

In un'attività di trasferimento standard, le modifiche vengono trasferite nella destinazione senza seguire un ordine particolare. L'opzione Cambia partizione dati abilita l'elaborazione di Dati di modifica da molte tabelle in modo coerente. È possibile definire la durata delle partizioni, oltre all'ora di base di partizione, assicurando pertanto la coerenza generale dei dati partizionati (quindi nessuna transazione parziale, nessuna intestazione ordine senza righe d'ordine e così via).

Le informazioni sulle partizioni vengono registrate nella tabella di controllo attrep_cdc_partitions nel database di destinazione. È possibile utilizzare queste informazioni per identificare i dati partizionati che è necessario elaborare ulteriormente.

  • Partizione ogni: specifica la durata (in ore e minuti) di ogni partizione.

    Nota informatica

    Per la partizione, si consiglia di specificare una durata più lunga di un'ora. Sebbene una partizione con una durata inferiore a un'ora può migliorare la latenza, la creazione di molte partizioni nella destinazione può avere un impatto negativo sulle prestazioni della destinazione, soprattutto nei sistemi con grandi volumi di modifiche.

    Se si riprende un'attività da BEFORE (prima) dell'ora in cui la partizione è stata creata, l'attività di trasferimento su scriverà i dati su una partizione che è già chiusa.

  • Ora di base partizione: le partizioni sono create durante un periodo di tempo di 24 ore, che viene calcolato a partire da “Ora di base di partizione” specificata nel database di origine in formato UTC. Ad esempio, un intervallo di partizione di 8 ore con 02:00 come "Ora di base di partizione" creerà le seguenti partizioni: 02:00-10:00, 10:00-18:00, 18:00-02:00, ma non necessariamente in quest'ordine. Ad esempio, se un'attività è iniziata alle 01:00, allora l'intervallo di tempo della prima partizione sarà 18:00-02:00. Inoltre, se un'attività è iniziata nel bel mezzo di una partizione (ad esempio, alle 04:00), i relativi Dati di modifica saranno inseriti nella partizione delle 02:00-10:00 anche se non sono state acquisite modifiche prima delle 04:00.

Caricamento dati

Attributi file

Formato

È possibile scegliere di creare i file di destinazione in formato CSV, JSON o Parquet.

Nota informaticaQuando si utilizza il formato file Parquet, le colonne LOB superiori a 1 MB non sono supportate.

In un file JSON, ogni record è rappresentato da una riga singola, come nel seguente esempio:

{ "book_id": 123, "title": "Alice in Wonderland", "price": 6.99, "is_hardcover": false }

{ "book_id": 456, "title": "Winnie the Pooh", "price": 6.49, "is_hardcover": true }

{ "book_id": 789, "title": "The Cat in the Hat", "price": 7.23, "is_hardcover": true }

Vedere anche: Proprietà content-type e content-encoding

Nota informaticaLa modifica del formato (per esempio, da CSV a JSON o da JSON a CSV) mentre lo stato dell'attività è interrotto e quindi questa viene ripresa, non è supportata.
Nota informatica
  • Se si sceglie il formato JSON o Parquet, i seguenti campi saranno nascosti, poiché sono rilevanti solo nel formato CSV: Delimitatore campo, Delimitatore record, Valore null, Carattere virgolette, Carattere di escape virgolette e Aggiungi intestazione metadati.
  • I seguenti campi sono rilevanti solo per il formato Parquet: Versione Parquet, Unità timestamp Parquet e Dimensioni LOB massime Parquet (KB).

Per informazioni sulle mappature del tipo di dati quando si utilizza il formato Parquet e le relative limitazioni, vedere Supported data types e Amazon S3.

Delimitatore campo

Il delimitatore che verrà utilizzato per separare i campi (colonne) nei file di destinazione. Il valore predefinito è la virgola.

Esempio dell'utilizzo di una virgola come delimitatore:

"mike","male"

I delimitatori possono essere caratteri standard o un valore esadecimale (hex). Notare che è necessario utilizzare il prefisso "0x"per denotare un delimitatore esadecimale (ad es. 0x01 = SOH). Nei campi Delimitatore campo, Delimitatore record e Valore null, il delimitatore può essere composto da valori esadecimali concatenati (ad es. 0x0102 = SOHSTX), in cui i campi Carattere virgolette e Carattere di escape virgolette, può essere solo un unico valore esadecimale.

Il numero esadecimale 0x00 non è supportato (sono supportati solo i numeri 0x01-0xFF).

Valore null

La stringa che verrà utilizzata per indicare un valore null nei file di destinazione.

Esempio (in cui \n è il delimitatore del record e @ è il valore null):

"mike","male",295678\n
"sara","female",@\n

Delimitatore record

Il delimitatore che verrà utilizzato per separare i record (righe) nei file di destinazione. Il valore predefinito è una nuova riga (\n).

Esempio:

"mike","male"\n
"sara","female"\n

Carattere virgolette

Il carattere che verrà utilizzato all'inizio e alla fine di una colonna di testo. Il valore predefinito è il carattere virgolette doppie ("). Quando una colonna che contiene delimitatori di colonna è racchiusa da virgolette doppie, i caratteri del delimitatore di colonna sono interpretati come dati effettivi e non come delimitatori di colonna.

Esempio (in cui @ è il carattere delle virgolette):

@mike@,@male@

Carattere di escape virgolette

Il carattere utilizzato come carattere di escape per le virgolette nei dati effettivi. Il valore predefinito è il carattere delle virgolette doppie (").

Esempio (in cui " è il carattere delle virgolette e \ è il carattere di escape):

1955,"old, \"rare\", Chevrolet","$1000"

Versione di Parquet

Selezionare la versione da utilizzare a seconda della versione supportata dalla piattaforma di destinazione. Notare che la versione 1.0 di Parquet supporta solo l'unità di timestamp MICRO , mentre la versione Parquet 2.6 supporta le unità di timestamp MICRO e NANO.

Unità timestamp Parquet

Quando la versione di Parquet è impostata su 2.6, selezionare MICRO o NANO. Quando la versione di Parquet è impostata su 1.0, è supportata solo l'opzione MICRO.

Dimensioni LOB massime Parquet (KB)

Le dimensioni LOB massime predefinite sono di 64 KB e il valore massimo che è possibile inserire in questo campo è 10.000 KB. La gestione delle colonne LOB richiede risorse maggiori, che a loro volta hanno un impatto sulle prestazioni. Aumentare questo valore solo se si desidera replicare dati LOB superiori a 64 KB e tutti i dati LOB devono essere replicati nella destinazione.

Dimensione massima del file

Le dimensioni massime che può raggiungere un file prima che venga chiuso (e, facoltativamente, compresso).

Le dimensioni massime che può raggiungere un file prima che venga chiuso. I file di dimensioni inferiori possono essere caricati più velocemente (dipendendo dalla rete) e migliorare le prestazioni quando sono utilizzati insieme all'opzione di esecuzione parallela. Tuttavia, in generale si considera una cattiva prassi ingombrare il database con file di piccole dimensioni.

Comprimi file con

Scegliere una delle opzioni di compressione per comprimere i file di destinazione o NONE (l'opzione predefinita) per non comprimerli. Notare che le opzioni di compressione disponibili sono determinate dal formato file selezionato.

Aggiungi intestazione metadati

Facoltativamente, è possibile aggiungere una riga di intestazione ai file di dati. La riga di intestazione può contenere i nomi della colonna sorgente e/o i tipi di dati intermedi (ad es. gateway di Data Movement).

Esempio di un file di destinazione con una riga di intestazione quando sono selezionate le opzioni Con nomi colonna e Con tipi di dati:

Position:DECIMAL(38,0),Color:VARCHAR(10)

1,"BLUE"

2,"BROWN"

3,"RED"

...

Cambia elaborazione

Questa sezione descrive le impostazioni condizionali in Elaborazione modifiche.

Applica/archivia modifiche nei casi descritti di seguito.

  • Le dimensioni del file raggiungono: specificare le dimensioni massime di Dati di modifica da accumulare prima di caricare il file nella destinazione.
  • Il tempo trascorso raggiunge: il tempo trascorso raggiunge x.

File di metadati

Quando l'opzione Crea file di metadati nella cartella di destinazione è selezionata, per ogni file di dati, verrà creato un file .dfm sotto la cartella di destinazione specificata. I file di metadati forniscono informazioni aggiuntivi su attività/dati, come il tipo di connettore di origine, il nome della tabella di origine, il numero di record nei file di dati, e così via.

Per una descrizione del file di metadati oltre ai possibili usi, vedere Descrizione dei file di metadati

Metadati

Colonne LOB

  • Includi colonne LOB e limita dimensione della colonna a (KB):

    è possibile scegliere di includere le colonne LOB nell'attività e di impostare le dimensioni massime LOB. Le LOB di dimensioni superiori rispetto alle dimensioni massime verranno troncate.

Tabelle di controllo

Selezionare quale delle seguenti Tabelle di controllo creare nella piattaforma di destinazione:

  • Stato Trasferimento: fornisce i dettagli sull'attività di trasferimento corrente, inclusi stato dell'attività, quantità di memoria consumata dall'attività, numero di modifiche non ancora applicate alla piattaforma dati e posizione nell'endpoint di origine da cui Gateway di Data Movement legge i dati.
  • Tabelle sospese: fornisce un elenco delle tabelle sospese, insieme al motivo della sospensione.
  • Cronologia Trasferimento: fornisce informazioni sulla cronologia dell'attività, incluso il numero e il volume dei record elaborati durante un'attività di trasferimento, la latenza alla fine di un'attività CDC e altri dati.
  • Cambia partizioni dati: fornisce i record delle partizioni create nel database di destinazione a causa di Cambia partizione dati. È possibile utilizzare queste informazioni per identificare i dati partizionati che è necessario elaborare ulteriormente.

Per una descrizione dettagliata di ogni Tabella di controllo, vedere Tabelle di controllo.

Caricamento completo

Regolazione prestazioni

  • Numero massimo di tabelle da caricare in parallelo: inserire il numero massimo di tabelle da caricare contemporaneamente nella destinazione. Il valore predefinito è 5.
  • Timeout coerenza transazione (secondi): inserire il numero di secondi da attendere perché una transazione aperta si chiuda, prima di avviare l'operazione di Caricamento completo. Il valore predefinito è 600 (10 minuti). Il caricamento completo verrà avviato una volta che viene raggiunto il valore di timeout, anche se vi sono transazioni ancora aperte.

    Nota informaticaPer replicare le transazioni aperte all'avvio di Caricamento completo ma che sono state applicate solo dopo che è stato raggiunto il valore di timeout, è necessario ricaricare le tabelle di destinazione.
  • Frequenza di commit durante il caricamento completo: il numero massimo di eventi che è possibile trasferire insieme. Il valore predefinito è 10000.

Dopo il completamento del caricamento completo

Crea chiave primaria o univoca: selezionare questa opzione se si desidera ritardare la creazione della chiave primaria o univoca sulla piattaforma dati fino al completamento del caricamento completo.

Gestione errori

Errori dati

Nota informatica

La gestione degli errori dati è supportata solo con il metodo di aggiornamento Change Data Capture (CDC).

Errori di troncamento dati

Per errori di troncamento di dati: selezionare l'azione da eseguire quando si verifica un troncamento in uno o più record specifici. È possibile selezionare una delle seguenti opzioni dall'elenco:

  • Ignora: l'attività continua e l'errore viene ignorato.
  • Sospendi tabella: l'attività continua, ma i dati dalla tabella con il record dell'errore viene spostato in uno stato di errore e i relativi dati non vengono replicati.
  • Arresta attività: l'attività viene interrotta ed è richiesto l'intervento manuale.

Altri errori nei dati

Per gli altri errori nei dati: selezionare l'azione da eseguire quando si verifica un errore in uno o più record specifici. È possibile selezionare una delle seguenti opzioni dall'elenco:

  • Ignora: l'attività continua e l'errore viene ignorato.
  • Sospendi tabella: l'attività continua, ma i dati dalla tabella con il record dell'errore viene spostato in uno stato di errore e i relativi dati non vengono replicati.
  • Arresta attività: l'attività viene interrotta ed è richiesto l'intervento manuale.

Riassegnare la gestione degli errori nei dati

Riassegna gestione errore quando gli altri errori nei dati raggiungono (per tabella): selezionare questa casella di controllo per riassegnare la gestione dell'errore quando il numero di errori nei dati che non sono relativi al troncamento (per tabella) raggiunge la quantità specificata. I valori validi sono 1-10.000.

Azione di riassegnazione: scegliere l'azione da eseguire quando si riassegna la gestione dell'errore. Notare che le operazioni disponibili dipendono dall'azione selezionata dall'elenco a discesa Per gli altri errori nei dati descritto prima.

  • Sospendi tabella (opzione predefinita): l'attività continua, ma i dati dalla tabella con il record dell'errore viene spostato in uno stato di errore e i relativi dati non vengono landed.

  • Arresta attività: l'attività viene interrotta ed è richiesto l'intervento manuale.

Errori tabella

Quando viene rilevato un errore nella tabella: selezionare una delle opzioni descritte di seguito dall'elenco.

  • Sospendi tabella (opzione predefinita): l'attività continua, ma i dati dalla tabella con il record dell'errore viene spostato in uno stato di errore e i relativi dati non vengono replicati.
  • Arresta attività: l'attività viene interrotta ed è richiesto l'intervento manuale.

Riassegna gestione errore quando gli altri errori nella tabella raggiungono (per tabella): selezionare questa casella di controllo per riassegnare la gestione dell'errore quando il numero di errori nella tabella (per tabella) raggiunge la quantità specificata. I valori validi sono 1-10.000.

Azione di riassegnazione: La politica di riassegnazione per gli errori nella tabella è impostata su Interrompi attività e non è possibile modificarla.

Ambientale

  • Numero massimo di tentativi: selezionare questa opzione, quindi specificare il numero massimo di tentativi in cui cercare di eseguire l'attività quando si verifica un errore ambientale recuperabile. Una volta completato il numero di tentativi specificato per eseguire l'attività, questa viene interrotta ed è richiesto l'intervento manuale da parte dell'utente.

    Per fare in modo che non venga eseguito nessun tentativo, deselezionare la casella di controllo o specificare "0".

    Per impostare un numero infinito di tentativi, specificare "-1"

    • Intervallo tra nuovi tentativi (secondi): utilizzare il contatore per selezionare o digitare il numero di secondi che il sistema deve attendere tra un tentativo e l'altro quando tenta di eseguire un'attività.

      I valori validi sono 0-2.000.

  • Aumenta intervallo di tentativi per interruzioni prolungate: selezionare questa casella di controllo per aumentare l'intervallo tra i tentativi per le interruzioni prolungate. Quando questa opzione è abilitata, la durata dell'intervallo tra ciascun tentativo di esecuzione dell'attività raddoppia, fino al raggiungimento dell'Intervallo massimo di tentativi (i tentativi continuano a essere eseguiti in base all'intervallo massimo specificato).
    • Intervallo massimo di tentativi (secondi): utilizzare il contatore per selezionare o digitare il numero di secondi da attendere tra un tentativo di eseguire un'attività quando l'opzione Aumenta intervallo di tentativi per interruzioni prolungate è selezionata. I valori validi sono 0-2.000.

Regolazione di elaborazione delle modifiche

Nota informaticaQuesta scheda è disponibile solo quando il metodo di aggiornamento è Change data capture (CDC).

Regolazione offload transazionale

  • Offload delle transazioni in corso su disco se:

    i dati transazionali di norma vengono mantenuti in memoria fino a quando non vengono completamente implementati nella sorgente o destinazione. Tuttavia, per le transazioni con dimensioni più grandi rispetto alla memoria allocata o che non vengono implementate entro il limite di tempo specificato, viene effettuato l'offload su disco.

    • Le dimensioni totali della memoria per tutte le transazioni superano (MB): le dimensioni massime che tutte le transazioni possono occupare in memoria prima che venga effettuato l'offload su disco. Il valore predefinito è 1024.
    • La durata delle transazioni supera (secondi): l'intervallo massimo di tempo che ogni transazione può rimanere in memoria prima che venga effettuato l'offload su disco. La durata viene calcolata dall'ora in cui gateway di Data Movement ha iniziato l'acquisizione della transazione. Il valore predefinito è 60.

Regolazioni varie

  • Dimensioni della cache di istruzioni (numero di istruzioni): Il numero massimo di istruzioni preparate per l'archiviazione sul server per l'esecuzione successiva (quando si applicano modifiche alla destinazione). Il valore predefinito è 50. Il valore massimo è 200.
  • Usa DELETE e INSERT per l'aggiornamento di una colonna della chiave primaria: questa opzione richiede l'accesso supplementare completo per poter essere attivata nel database di origine.

Regolazione batch

  • Numero minimo di modifiche per transazione: il numero minimo di modifiche da includere in ogni transazione. Il valore predefinito è 1000.

    Nota informatica

    Le modifiche verranno applicate alla destinazione quando il numero di modifiche è uguale o maggiore del valore dell'opzione Numero minimo di modifiche per transazione O quando il valore Tempo massimo per raggruppare le transazioni in lotti prima dell'applicazione (secondi), a seconda di quale condizione si verifica per prima. Poiché la frequenza delle modifiche applicate nella destinazione è controllata da questi due parametri, le modifiche ai record di origine potrebbero non essere riflesse immediatamente nei record di destinazione.

  • Tempo massimo per raggruppare le transazioni in lotti prima dell'applicazione (secondi): il tempo massimo per raccogliere le transazioni in batch prima che venga dichiarato un timeout. Il valore predefinito è 1.

Sostituzione di caratteri

È possibile sostituire o eliminare i caratteri nel database di destinazione e/o sostituire o eliminare i caratteri di origine che non sono supportati da un set di caratteri selezionato.

Nota informatica
  • Tutti i caratteri devono essere specificati come punti di codice Unicode.

  • La sostituzione dei caratteri verrà eseguita anche nelle Tabelle di controllo.
  • I valori non validi saranno indicati da un triangolo rosso nella parte superiore destra della cella della tabella. Se si posiziona il cursore del mouse sul triangolo, viene visualizzato il messaggio di errore.

  • Qualsiasi trasformazione globale o a livello tabella definita per l'attività verrà eseguita una volta completata la sostituzione del carattere.

  • Le azioni di sostituzione definite nella tabella Sostituisci o elimina caratteri di origine vengono eseguite prima dell'azione di sostituzione definita nella tabella Sostituisci o elimina caratteri di origine non supportati dal set di caratteri selezionato.

  • La sostituzione dei caratteri non supporta i tipi di dati LOB.

Sostituzione o eliminazione dei caratteri di origine

Utilizzare la tabella Sostituisci o elimina caratteri di origine per definire le sostituzioni per caratteri di origine specifici. Questa opzione può essere utile, ad esempio, quando la rappresentazione Unicode di un carattere è differente nelle piattaforme di origine e di destinazione. Ad esempio, su Linux, il carattere meno nel set di caratteri Shift_JIS è rappresentato come U+2212, ma su Windows è rappresentato come U+FF0D.

Azioni di sostituzione
Per eseguire questa azione

definire le azioni di sostituzione.

  1. Fare clic sul pulsante Aggiungi carattere sopra la tabella.

  2. Specificare un carattere di origine e un carattere di destinazione nei campi Carattere di origine eSostituisci carattere, rispettivamente.

    Ad esempio, per sostituire la lettera "a" con la lettera "e", specificare 0061 e 0065 , rispettivamente.

    Nota informatica

    Per eliminare il carattere di origine specificato, inserire 0 nella colonna Sostituisci carattere.

  3. Ripetere i passaggi 1-2 per sostituire o eliminare altri caratteri.

Modificare i caratteri di origine o di destinazione specificati

Fare clic su alla fine della riga e selezionare Modifica.

Elimina voci dalla tabella

Fare clic su alla fine della riga e selezionare Modifica.

Sostituzione o eliminazione dei caratteri di origine non supportati dal set di caratteri selezionato

Utilizzare la tabella Caratteri di origine non supportati dal set di caratteri per definire un singolo carattere di sostituzione per tutti i caratteri non supportati dal set di caratteri selezionato.

Azioni di sostituzione dei caratteri non supportate
Per eseguire questa azione

definire o modificare le azioni di sostituzione.

  1. Selezionare un set di caratteri dall'elenco a comparsa Set di caratteri nella tabella.

    Qualsiasi carattere non supportato dal set di caratteri selezionato verrà sostituito nella destinazione dal carattere specificato nel passaggio 2 descritto di seguito.

  2. Nella colonna Sostituisci carattere, fare clic su un punto qualsiasi della colonna e specificare il carattere di sostituzione. Ad esempio, per sostituire tutti i caratteri non supportati con la lettera "a", inserire 0061.

    Nota informatica

    Per eliminare tutti i caratteri non supportati, inserire 0.

Disabilitare l'azione di sostituzione.

Selezionare la voce vuota dall'elenco a comparsa Set di caratteri.

Altre opzioni

Queste opzioni non sono esposte nell'interfaccia utente, dato che sono rilevanti solo per versioni o ambienti specifici. Di conseguenza, non impostare queste opzioni a meno che non sia stato esplicitamente indicato dal Supporto Qlik o dalla documentazione dei prodotti.

Per impostare un'opzione, semplicemente copiarla nel campo Aggiungi nome funzionalità e fare clic su Aggiungi. Quindi, impostare il valore o attivare l'opzione in base alle istruzioni ricevute.

Applicazione SaaS

Nota informaticaQuesta scheda è disponibile solo quando si spostano i dati dalle sorgenti delle applicazioni SaaS.
Nota informatica
  • L'opzione Esecuzione parallela è stata rinominata Numero massimo di tabelle da caricare in parallelo ed è stata spostata nella scheda Caricamento completo.
  • L'opzione LOB è stata rinominata Includi colonne LOB e limita dimensione della colonna a (KB) ed è stata spostata nella scheda Metadati.
  • Per il caricamento iniziale

  • Quando si spostano i dati dalla sorgente di un'applicazione SaaS, è possibile impostare il modo in cui viene eseguito il caricamento completo:

    Nota informaticaQueste impostazioni richiedono Gateway di Data Movement 2022.11.74 o versione successiva.
    Usa dati in cache

    Quest'opzione consente di utilizzare i dati in cache letti quando si generano metadati con l'opzione Scansione dati completa selezionata.

    Ciò garantisce un minor tempo di overhead per quanto concerne le quote e l'utilizzo di API, visto che i dati vengono già letti dalla sorgente. Qualsiasi modifica successiva alla scansione dati iniziale può essere rilevata da Change Data Capture (CDC).

    Carica da origine

    Quest'opzione esegue un nuovo caricamento dalla sorgente dati. Quest'opzione è utile se:

    • La scansione metadati non è stata eseguita di recente.

    • Il set di dati sorgente è piccolo e in frequente cambiamento, e non si vuole mantenere una cronologia completa delle modifiche.

  • Leggi modifiche ogni (minuti)

    Impostare l'intervallo tra le modifiche di lettura dalla sorgente in minuti. L'intervallo valido è compreso tra 1 e 1440.

    Nota informaticaQuesta opzione è disponibile solo per le attività dati con il metodo di aggiornamento di acquisizione dati di modifica (CDC).

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!