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:
- Copiare tutti gli elementi da un contenitore a un altro.
- Modificare la granularità in base alla quale viene effettuato il provisioning della velocità effettiva, da database a contenitore e viceversa.
- Modificare la chiave di partizione di un contenitore.
- Aggiornare le chiavi univoche di un contenitore.
- Rinominare un contenitore o un database.
- Modificare la modalità di capacità di un account da serverless a con provisioning o viceversa.
- Adottare nuove funzionalità supportate solo per i nuovi contenitori, ad esempio le chiavi di partizione gerarchiche.
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
- 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).
- Arrestare le operazioni nel contenitore di origine sospendendo le istanze dell'applicazione o i client che vi si connettono.
- Creare il processo di copia del contenitore.
- Monitorare lo stato di avanzamento del processo di copia del contenitore e attendere il completamento.
- 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.
- La piattaforma alloca istanze di calcolo lato server per l'account Azure Cosmos DB di destinazione.
- Queste istanze vengono allocate quando vengono creati uno o più processi di copia del contenitore all'interno dell'account.
- I processi di copia del contenitore vengono eseguiti in queste istanze.
- Un singolo processo viene eseguito in tutte le istanze in qualsiasi momento.
- Le istanze vengono condivise da tutti i processi di copia del contenitore in esecuzione nello stesso account.
- 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
- Informazioni su come creare, monitorare e gestire i processi di copia del contenitore nell'account Azure Cosmos DB usando i comandi dell'interfaccia della riga di comando.