Condividi tramite


Processi di copia del contenitore in Azure Cosmos DB (anteprima)

SI APPLICA A: NoSQL MongoDB Cassandra

È possibile eseguire la copia offline di contenitori all'interno di un account di Azure Cosmos DB usando processi di copia dei contenitori.

Negli scenari seguenti potrebbe essere necessario copiare dati all'interno dell'account Azure Cosmos DB:

I processi di copia del contenitore possono essere creati e gestiti usando i comandi dell'interfaccia della riga di comando di Azure.

Operazioni preliminari

Per iniziare, registrarsi per la funzionalità di anteprima pertinente nel portale di Azure.

Copia del contenitore tra account Azure Cosmos DB

API NoSQL

Per iniziare a usare la copia del contenitore offline tra account per gli account API Azure Cosmos DB for NoSQL, registrarsi per il flag funzionalità di anteprima Copia del contenitore offline tra account (NoSQL) in Funzionalità di anteprima nel portale di Azure. Al termine della registrazione, l'anteprima è valida per tutti gli account API NoSQL nella sottoscrizione.

Copia del contenitore all'interno di un account Azure Cosmos DB

API NoSQL e Cassandra

Per iniziare a usare la copia del contenitore offline all'interno dell'account per gli account API NoSQL e Cassandra, registrarsi per il flag funzionalità di anteprima Copia del contenitore offline all'interno dell'account (Cassandra e NoSQL) in Funzionalità di anteprima nel portale di Azure. Al termine della registrazione, l'anteprima è valida per tutti gli account API for Cassandra e NoSQL nella sottoscrizione.

API per MongoDB

Per iniziare a usare la copia del contenitore offline all'interno dell'account per gli account Azure Cosmos DB for MongoDB, registrarsi per il flag funzionalità di anteprima Copia di raccolte offline all'interno dell'account (MongoDB) in Funzionalità di anteprima nel portale di Azure. Al termine della registrazione, l'anteprima è valida per tutti gli account API per MongoDB nella sottoscrizione.

Copiare i dati di un contenitore

  1. Creare il contenitore Azure Cosmos DB di destinazione usando le impostazioni desiderate (chiave di partizione, granularità della velocità effettiva, unità richiesta, chiave univoca e così via).
  2. Arrestare le operazioni nel contenitore di origine sospendendo le istanze dell'applicazione o i client che vi si connettono.
  3. Creare il processo di copia del contenitore.
  4. Monitorare lo stato di avanzamento del processo di copia del contenitore e attendere il completamento.
  5. Riprendere le operazioni indirizzando in modo appropriato l'applicazione o il client alla copia del contenitore di origine o di destinazione come previsto.

Come funziona la copia del contenitore?

I processi di copia del contenitore eseguono la copia dei dati offline usando il log del feed di modifiche incrementale del contenitore di origine.

  1. La piattaforma alloca istanze di calcolo lato server per l'account Azure Cosmos DB di destinazione.
  2. Queste istanze vengono allocate quando vengono creati uno o più processi di copia del contenitore all'interno dell'account.
  3. I processi di copia del contenitore vengono eseguiti in queste istanze.
  4. Un singolo processo viene eseguito in tutte le istanze in qualsiasi momento.
  5. Le istanze vengono condivise da tutti i processi di copia del contenitore in esecuzione nello stesso account.
  6. La piattaforma potrebbe deallocare le istanze se rimangono inattive per più di 15 minuti.

Nota

Attualmente sono supportati solo i processi di copia del contenitore offline. È consigliabile interrompere l'esecuzione di qualsiasi operazione nel contenitore di origine prima di avviare la copia del contenitore. Le eliminazioni e gli aggiornamenti degli elementi eseguiti nel contenitore di origine dopo l'avvio del processo di copia potrebbero non essere acquisiti. Se si continua a eseguire operazioni sul contenitore di origine mentre il processo di copia del contenitore è in corso, potrebbero verificarsi casi di dati duplicati o mancanti nel contenitore di destinazione.

Fattori che influiscono sulla velocità di un processo di copia del contenitore

La velocità di avanzamento del processo di copia del contenitore è determinata da questi fattori:

  • Impostazione di velocità effettiva del contenitore o del database di origine.

  • Impostazione di velocità effettiva del contenitore o del database di destinazione.

    Suggerimento

    Impostare la velocità effettiva del contenitore di destinazione su un valore pari ad almeno il doppio della velocità effettiva del contenitore di origine.

  • Istanze di calcolo lato server allocate all'account Azure Cosmos DB per l'esecuzione del trasferimento dei dati.

    Importante

    Lo SKU predefinito offre due istanze lato server da 16 GB con 4 vCPU per account.

Limiti

Criteri di idoneità per l'anteprima

I processi di copia del contenitore non funzionano con gli account in cui sono abilitate le funzionalità seguenti. Disabilitare queste funzionalità prima di eseguire i processi di copia del contenitore:

Configurazioni dell'account

L'impostazione Durata (TTL) non viene modificata nel contenitore di destinazione. Di conseguenza, se un documento non è scaduto nel contenitore di origine, avvia nuovamente il conto alla rovescia nel contenitore di destinazione.

Domande frequenti

Esiste un contratto di servizio per i processi di copia del contenitore?

I processi di copia del contenitore sono attualmente supportati in base al principio del massimo impegno. Non vengono fornite garanzie relative al contratto di servizio per il tempo necessario per il completamento dei processi.

È possibile creare più processi di copia del contenitore all'interno di un account?

Sì, è possibile creare più processi all'interno dello stesso account. I processi verranno eseguiti consecutivamente. È possibile elencare tutti i processi creati all'interno di un account e monitorarne lo stato.

È possibile copiare un intero database all'interno dell'account Azure Cosmos DB?

È necessario creare un processo per ogni contenitore nel database.

Ho un account Azure Cosmos DB con più aree. In quale area verrà eseguito il processo di copia del contenitore?

Il processo di copia del contenitore viene eseguito nell'area di scrittura. In un account configurato con le scritture in più aree, il processo viene eseguito in una delle aree presenti nell'elenco delle aree di scrittura.

Cosa accade ai processi di copia del contenitore se cambia l'area di scrittura dell'account?

L'area di scrittura dell'account potrebbe cambiare nell'improbabile caso di un'interruzione di servizio nell'area o a causa del failover manuale. In questo scenario, i processi di copia del contenitore incompleti creati all'interno dell'account avranno esito negativo. Sarà necessario creare nuovamente questi processi non riusciti. I processi ricreati vengono quindi eseguiti nella nuova (corrente) area di scrittura.

Aree geografiche supportate

Attualmente, la copia del contenitore è supportata nelle aree seguenti:

Americhe Europa e Africa Asia Pacifico
Brasile meridionale Francia centrale Australia centrale
Canada centrale Francia meridionale Australia centrale 2
Canada orientale Germania settentrionale Australia orientale
Stati Uniti centrali Germania centro-occidentale India centrale
Stati Uniti centrali (EUAP) Europa settentrionale Giappone orientale
Stati Uniti orientali Norvegia orientale Corea centrale
Stati Uniti orientali 2 Norvegia occidentale Asia sud-orientale
Stati Uniti orientali 2 (EUAP) Svizzera settentrionale Emirati Arabi Uniti centrali
Stati Uniti centro-settentrionali Svizzera occidentale India occidentale
Stati Uniti centro-meridionali Regno Unito meridionale Asia orientale
Stati Uniti centro-occidentali Regno Unito occidentale Malaysia meridionale
Stati Uniti occidentali Europa occidentale Giappone occidentale
West US 2 Israele centrale Australia sud-orientale
Non supportato Sudafrica settentrionale Non supportato

Problemi noti e comuni

  • Errore: La risorsa proprietaria non esiste.

    Se la creazione del processo ha esito negativo e restituisce l'errore La risorsa proprietaria non esiste (codice errore 404), il contenitore di destinazione non è stato ancora creato o il nome del contenitore usato per creare il processo non corrisponde a un nome di contenitore effettivo.

    Assicurarsi che il contenitore di destinazione venga creato prima di eseguire il processo come specificato nella panoramica e assicurarsi che il nome del contenitore nel processo corrisponda a un nome di contenitore effettivo.

    "code": "404",
    "message": "Response status code does not indicate success: NotFound (404); Substatus: 1003; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: (Message: {\"Errors\":[\"Owner resource does not exist\"]
    
  • Errore: La richiesta non è autorizzata.

    Se la richiesta ha esito negativo e restituisce l'errore Non autorizzato (codice errore 401), l'autorizzazione locale potrebbe essere disabilitata.

    I processi di copia del contenitore usano le chiavi primarie per l'autenticazione. Se l'autorizzazione locale è disabilitata, la creazione del processo ha esito negativo. L'autorizzazione locale deve essere abilitata per garantire il corretto funzionamento dei processi di copia del contenitore.

    "code": "401",
    "message": " Response status code does not indicate success: Unauthorized (401); Substatus: 5202; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: Local Authorization is disabled. Use an AAD token to authorize all requests."
    
  • Errore: Errore durante il recupero delle risorse per il processo.

    Questo errore può verificarsi a causa di problemi interni del server. Per risolvere questo problema, contattare il supporto tecnico Microsoft aprendo una Nuova richiesta di supporto nel portale di Azure. Per Tipo di problema: selezionare Migrazione dei dati. Per Sottotipo problema, selezionare Copia del contenitore all'interno dell'account.

    "code": "500"
    "message": "Error while getting resources for job, StatusCode: 500, SubStatusCode: 0, OperationId:  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    

Passaggi successivi