Condividi tramite


Importare ed esportare dati in Cache Redis di Azure

Usare la funzionalità di importazione ed esportazione nella cache di Azure per Redis come operazione di gestione dei dati. I dati vengono importati nell'istanza della cache o esportati da un'istanza della cache usando uno snapshot del database (RDB) della cache di Azure per Redis. Gli snapshot vengono importati o esportati usando un BLOB in un account di archiviazione di Azure.

L'importazione/esportazione è supportata nei livelli Premium, Enterprise ed Enterprise Flash:

  • Esportazione: è possibile esportare gli snapshot RDB della cache di Azure per Redis in un BLOB di pagine (livello Premium) o in un BLOB in blocchi (livelli Enterprise).
  • Importare: è possibile importare gli snapshot RDB di Cache Redis da un BLOB di pagine o da un BLOB in blocchi.

È possibile usare Importazione/Esportazione per eseguire la migrazione tra istanze della cache di Azure per Redis diverse o per popolare la cache con i dati prima dell'uso.

Questo articolo è una guida all'importazione e all'esportazione dei dati con Cache Redis di Azure e include le risposte alle domande più frequenti.

Ambito della disponibilità

Livello Basic e Standard Premium Enterprise, Enterprise Flash
Disponibile No

Compatibilità

  • I dati vengono esportati come BLOB di pagine RDB nel livello Premium. Nei livelli Enterprise ed Enterprise Flash i dati vengono esportati come BLOB in blocchi con estensione GZ.
  • Le cache che eseguono Redis 4.0 supportano RDB versione 8 e precedenti. Le cache che eseguono Redis 6.0 supportano RDB versione 9 e precedenti.
  • I backup esportati da versioni più recenti di Redis (ad esempio, Redis 6.0) non possono essere importati in versioni precedenti di Redis (ad esempio, Redis 4.0)
  • I file RDB di cache di livello Premium possono essere importati in cache di livello Enterprise ed Enterprise Flash.

Import

L'importazione può essere usata per spostare i file RDB compatibili con Redis da qualsiasi server Redis in esecuzione in qualsiasi cloud o ambiente, compresi i server Redis in esecuzione su Linux, Windows o su altri provider di servizi cloud come Amazon Web Services e altri. L'importazione dei dati è un modo semplice per creare una cache con dati prepopolati. Durante il processo di importazione Cache Redis di Azure carica i file RDB dall'archiviazione di Azure nella memoria e quindi inserisce le chiavi nella cache.

Nota

Prima di avviare l'operazione di importazione, assicurarsi che il file o i file di database Redis (RDB) siano caricati nei BLOB di pagine o nei BLOB in blocchi in Archiviazione di Azure, nella stessa area e nella stessa sottoscrizione dell'istanza di Cache Redis di Azure. Se si usa l'identità gestita per l'autenticazione, l'account di archiviazione può trovarsi in una sottoscrizione diversa. Per altre informazioni, vedere Introduzione all'archivio BLOB di Azure. Se il file RDB è stato esportato con la funzionalità Esportazione di Cache Redis di Azure, è già archiviato in un BLOB di pagine ed è pronto per l'importazione.

Importante

Attualmente, l'importazione dal livello Redis Enterprise al livello Premium non è supportata.

  1. Per importare uno o più BLOB di cache esportati, passare alla cache nel portale di Azure e selezionare Importa dati dal menu della risorsa. Nel riquadro di lavoro viene visualizzato Scegliere i BLOB in cui è possibile trovare i file RDB.

    Screenshot che mostra l'opzione Importa dati selezionata nel menu Risorsa.

  2. Selezionare Scegliere i BLOB e selezionare l'account di archiviazione che contiene i dati da importare.

    Screenshot che mostra un elenco di account di archiviazione.

  3. Selezionare il contenitore che contiene i dati da importare.

    Screenshot che mostra l'elenco di contenitori dell'account di archiviazione scelto in precedenza.

  4. Selezionare uno o più BLOB da importare selezionando l'area a sinistra del nome del BLOB e quindi Seleziona.

    Screenshot che mostra un BLOB dal contenitore.

  5. Selezionare Importa per avviare il processo di importazione.

    Importante

    Durante il processo di importazione la cache non è accessibile ai client della cache ed eventuali dati esistenti nella cache vengono eliminati.

    Screenshot che mostra il pulsante Importa da selezionare per avviare l'importazione.

    È possibile controllare lo stato dell'operazione di importazione tramite le notifiche del portale di Azure oppure visualizzando gli eventi nel log attività.

    Importante

    Il supporto dei log attività non è ancora disponibile nei livelli Enterprise.

    Screenshot che mostra lo stato di avanzamento dell'importazione nell'area delle notifiche.

Esportazione

L'esportazione consente di esportare i dati archiviati in Cache Redis in file RDB compatibili con Redis. È possibile usare questa funzionalità per spostare i dati da un'istanza di Cache Redis di Azure a un'altra o su un altro server Redis. Durante il processo di esportazione, viene creato un file temporaneo nella macchina virtuale che ospita l'istanza del server della cache di Azure per Redis. Il file viene quindi caricato nell'account di archiviazione scelto. Quando l'operazione di esportazione viene completata con esito positivo o negativo, il file temporaneo viene eliminato.

  1. Per esportare il contenuto corrente della cache nell'archiviazione, passare alla cache nel portale di Azure e selezionare Esporta dati dal menu della risorsa. Viene visualizzato Scegliere il contenitore di archiviazione nel riquadro di lavoro.

    Screenshot che mostra l'opzione Esporta dati selezionata nel menu Risorsa

  2. Selezionare Scegliere il contenitore di archiviazione per visualizzare un elenco degli account di archiviazione disponibili. Selezionare l'account di archiviazione desiderato. L'account di archiviazione deve risiedere nella stessa area della cache. Se si usa l'identità gestita per l'autenticazione, l'account di archiviazione può trovarsi in una sottoscrizione diversa. In caso contrario, l'account di archiviazione deve trovarsi nella stessa sottoscrizione della cache.

    Importante

    • L'esportazione funziona con i BLOB di pagine supportati sia dagli account di archiviazione classici che da quelli di Resource Manager.
    • La cache di Azure per Redis non supporta l'esportazione negli account di archiviazione di ADLS Gen2.
    • L'esportazione non è al momento supportata dagli account di archiviazione BLOB.
    • Se l'esportazione dei dati della cache negli account di archiviazione abilitati per il firewall ha esito negativo, vedere Cosa fare se è abilitato il firewall nell'account di archiviazione?

    Per altre informazioni, vedere Panoramica dell'account di archiviazione di Azure.

    Screenshot che mostra un elenco di contenitori nel riquadro di lavoro.

  3. Scegliere il contenitore di archiviazione in cui si vuole conservare l'esportazione e quindi scegliere Seleziona. Per usare un nuovo contenitore, selezionare Aggiungi contenitore per aggiungerlo prima e quindi selezionarlo dall'elenco.

    Screenshot di un elenco di contenitori con uno evidenziato e un pulsante di selezione.

  4. Digitare un valore in Prefisso nome BLOB e selezionare Esporta per avviare il processo di esportazione. Il prefisso del nome BLOB viene usato per i nomi dei file generati da questa operazione di esportazione.

    Screenshot che mostra il prefisso di un nome BLOB e un pulsante Esporta.

    È possibile controllare lo stato dell'operazione di esportazione seguendo le notifiche del portale di Azure oppure visualizzando gli eventi nel log di controllo.

    Screenshot che mostra lo stato di avanzamento dell'esportazione nell'area delle notifiche.

    Durante il processo di esportazione le cache rimangono disponibili per l'uso.

Domande frequenti su Importazione/Esportazione

Questa sezione contiene le domande frequenti relative alla funzionalità Importazione/Esportazione.

Quali livelli supportano la funzionalità Importazione/Esportazione?

Le funzionalità di importazione ed esportazione sono disponibili solo nei livelli Premium, Enterprise ed Enterprise Flash.

È possibile importare dati da qualsiasi server Redis?

Sì, è possibile importare i dati esportati dalle istanze della cache di Azure per Redis. È possibile importare i file RDB da qualsiasi server Redis in esecuzione in qualsiasi cloud o ambiente. Gli ambienti includono Linux, Windows o provider di servizi cloud come Amazon Web Services. Per importare questi dati, caricare il file RDB dal server Redis desiderato in un BLOB di pagine o in blocchi in un account di archiviazione di Azure. Importarlo quindi in un'istanza Premium della cache di Azure per Redis.

Può, ad esempio, essere necessario:

  1. Esportare i dati dalla cache di produzione.

  2. Importarli quindi in una cache usata come parte di un ambiente di gestione temporanea per il test o la migrazione.

Importante

Per importare i dati esportati da server Redis diversi da Cache Redis di Azure quando si usa un BLOB di pagine, la dimensione del BLOB di pagine deve essere allineata a un limite di 512 byte. Per un codice di esempio che esegua il riempimento di byte richiesto, vedere SamplePageBlobUpload (Caricamento di BLOB di pagine di esempio).

Quali versioni RDB è possibile importare?

Per altre informazioni sulle versioni di RDB supportate usate con l'importazione, vedere la sezione sulla compatibilità.

La cache è disponibile durante un'operazione di Importazione/Esportazione?

  • Esportazione : durante un'operazione di esportazione le cache rimangono disponibili ed è possibile continuare a usarle.
  • Importazione : quando si avvia un'operazione di importazione le cache non sono più disponibili, ma tornano disponibili al termine dell'operazione.

È possibile usare Importazione/Esportazione con il cluster Redis?

Sì. È inoltre possibile usare questa funzionalità tra una cache di cluster e una non di cluster. Poiché il cluster Redis supporta solo database 0, i dati nei database diversi da 0 non verranno importati. Quando si importano dati della cache di cluster, le chiavi vengono ridistribuite tra le partizioni del cluster.

Come funziona Importazione/Esportazione con un'impostazione databases personalizzata?

Alcuni piani tariffari hanno limiti di database diversi, quindi esistono alcune considerazioni da tenere presente durante l'importazione se si è configurato un valore personalizzato per l'impostazione databases durante la creazione della cache.

  • Quando si esegue l'importazione in un piano tariffario con un limite di databases più basso del piano da cui è stata eseguita l'esportazione:
    • Se si usa il numero predefinito di databases, che è 16 per tutti i piani tariffari, non viene perso alcun dato.
    • Se si usa un numero personalizzato di databases compreso nei limiti per il piano in cui si esegue l'importazione, non viene perso alcun dato.
    • Se i dati esportati contenevano dati in un database che superano i limiti per il nuovo piano, i dati dei database più elevati non vengono importati.

Quali sono le differenze tra la funzionalità Importazione/Esportazione e la persistenza di Redis?

La funzionalità di persistenza della cache di Azure per Redis è principalmente una funzionalità di durabilità dei dati. Al contrario, la funzionalità di importazione/esportazione è progettata come metodo per eseguire backup periodici dei dati per il ripristino temporizzato.

Quando è configurata la persistenza, la cache salva in modo permanente uno snapshot dei dati su disco in base a una frequenza di backup configurabile. I dati sono scritti con un formato binario proprietario di Redis. Se si verifica un evento catastrofico che disabilita sia la cache primaria che quella di replica, i dati della cache vengono ripristinati automaticamente usando lo snapshot più recente.

La persistenza dei dati è progettata per il ripristino di emergenza. Non è destinata a un meccanismo di ripristino temporizzato.

  • Nel livello Premium il file di persistenza dei dati viene archiviato in Archiviazione di Azure, ma il file non può essere importato in una cache diversa.
  • Nei livelli Enterprise il file di persistenza dei dati viene archiviato in un disco montato che non è accessibile all'utente.

Per eseguire backup periodici dei dati per il ripristino temporizzato, è consigliabile usare la funzionalità di importazione/esportazione. Per altre informazioni, vedere Come configurare la persistenza dei dati per una cache di Azure per Redis.

È possibile automatizzare la funzionalità Importazione/Esportazione con PowerShell, l'interfaccia della riga di comando o altri client di gestione?

Sì, vedere le istruzioni seguenti per il livello Premium:

Per i livelli Enterprise ed Enterprise Flash:

Durante l'operazione di Importazione/Esportazione è stato ricevuto un errore di timeout. Significato

A sinistra, se il pannello Importa dati o Esporta dati rimane aperto per più di 15 minuti prima che l'operazione venga avviata, verrà visualizzato un errore contenente un messaggio simile al seguente:

The request to import data into cache 'contoso55' failed with status 'error' and error 'One of the SAS URIs provided could not be used for the following reason: The SAS token end time (se) must be at least 1 hour from now and the start time (st), if given, must be at least 15 minutes in the past.

Per risolvere il problema, avviare l'operazione di importazione o esportazione prima che scadano i 15 minuti.

Durante l'esportazione dei dati nell'archivio BLOB di Azure è stato visualizzato un errore. Che cosa è successo?

L'esportazione funziona solo con i file RDB archiviati come BLOB di pagine. Al momento non sono supportati altri tipi di BLOB, inclusi gli account di archiviazione BLOB con livelli di accesso frequente e sporadico. Per altre informazioni, vedere Panoramica dell'account di archiviazione di Azure. Se si usa una chiave di accesso per autenticare un account di archiviazione, la presenza di eccezioni del firewall nell'account di archiviazione tende a causare l'esito negativo del processo di importazione/esportazione.

Cosa accade se è abilitato il firewall nell'account di archiviazione?

Se si usa un'istanza del livello Premium, è necessario selezionare “Consenti ai servizi di Azure nell'elenco dei servizi attendibili di accedere a questo account di archiviazione" nelle impostazioni dell'account di archiviazione. Usare quindi l'identità gestita (assegnata dal sistema o l'utente) ed effettuare il provisioning del ruolo Controllo degli accessi in base al ruolo Collaboratore ai dati dei BLOB di archiviazione per tale ID oggetto.

Per altre informazioni, vedere Identità gestita per gli account di archiviazione - Cache di Azure per Redis

Le istanze Enterprise ed Enterprise Flash non supportano l'importazione o l'esportazione di dati in account di archiviazione che usano firewall o endpoint privati. L'account di archiviazione deve avere accesso alla rete pubblica.

È possibile importare o esportare dati da un account di archiviazione in una sottoscrizione diversa da quella della cache?

Nel livello Premium è possibile importare ed esportare dati da un account di archiviazione in una sottoscrizione diversa da quella della cache, ma è necessario usare l'identità gestita come metodo di autenticazione. È necessario selezionare la sottoscrizione scelta che contiene l'account di archiviazione durante la configurazione dell'importazione o dell'esportazione.

Quali autorizzazioni devono essere concesse al token di firma di accesso condiviso (SAS) del contenitore dell'account di archiviazione per consentire l'esportazione?

Affinché l'esportazione in un account di archiviazione di Azure venga eseguita correttamente, il token di firma di accesso condiviso (SAS) deve avere le autorizzazioni seguenti:

  • read
  • add
  • create
  • write
  • delete
  • tag
  • move

Passaggi successivi

Altre informazioni sulle funzionalità della cache di Azure per Redis.