Containerkopieraufträge in Azure Cosmos DB (Vorschau)

GILT FÜR: NoSQL MongoDB Cassandra

Sie können Offlinecontainerkopien in einem Azure Cosmos DB-Konto ausführen, indem Sie Containerkopieraufträge verwenden.

Möglicherweise müssen Sie Daten in Ihrem Azure Cosmos DB-Konto kopieren, wenn Sie eines der folgenden Szenarien erreichen möchten:

Containerkopieraufträge können mit Azure CLI-Befehlen erstellt und verwaltet werden.

Erste Schritte

Registrieren Sie sich zunächst im Azure-Portal für die relevante Previewfunktion.

Containerkopie über Azure Cosmos DB-Konten hinweg

NoSQL-API

Um mit der kontoübergreifenden Offline-Containerkopie für Azure Cosmos DB for NoSQL-API-Konten zu beginnen, registrieren Sie sich im Azure-Portal für die Vorschaufunktion Kontoübergreifende Offline-Containerkopie (NoSQL) in Previewfunktionen. Sobald die Registrierung abgeschlossen ist, wird die Vorschau für alle NoSQL-API-Konten im Abonnement wirksam.

Containerkopie in einem Azure Cosmos DB-Konto

NoSQL- und Cassandra-API

Um mit der kontointernen Offline-Containerkopie für NoSQL- und Cassandra-API-Konten zu beginnen, registrieren Sie sich im Azure-Portal für die Vorschaufunktion Kontointerne Offline-Containerkopie (Cassandra & NoSQL) in Previewfunktionen. Sobald die Registrierung abgeschlossen ist, wird die Vorschau für alle Cassandra- und API-für-NoSQL-Konten im Abonnement angezeigt.

API für MongoDB

Um mit der kontointernen Offline-Containerkopie für Azure Cosmos DB for MongoDB-Konten zu beginnen, registrieren Sie sich im Azure-Portal in den Previewfunktionen für das Vorschaufeatureflag Kontointerne Offline-Containerkopie (MongoDB). Sobald die Registrierung abgeschlossen ist, wird die Vorschau für alle API für MongoDB-Konten im Abonnement wirksam.

Kopieren der Daten eines Containers

  1. Erstellen Sie den Azure Cosmos DB-Zielcontainer mithilfe der Einstellungen, die Sie verwenden möchten (Partitionsschlüssel, Durchsatzgranularität, Anforderungseinheiten, eindeutiger Schlüssel usw.).
  2. Beenden Sie die Vorgänge im Quellcontainer, indem Sie die Anwendungsinstanzen oder alle Clients pausieren, die mit ihnen verbunden sind.
  3. Erstellen Sie den Containerkopieauftrag.
  4. Überwachen Sie den Fortschritt des Containerkopieauftrags und warten Sie, bis er abgeschlossen ist.
  5. Setzen Sie die Vorgänge fort, indem Sie die Anwendung oder den Client wie vorgesehen auf die Kopie des Quell- oder Zielcontainers verweisen.

Wie funktioniert das Kopieren eines Containers?

Containerkopieraufträge führen Offline-Datenkopien mithilfe des inkrementellen Änderungsfeedprotokolls des Quellcontainers aus.

  1. Die Plattform ordnet dem Azure Cosmos DB-Konto serverseitige Computeinstanzen zu.
  2. Diese Instanzen werden zugeordnet, wenn ein oder mehrere Containerkopieraufträge innerhalb des Kontos erstellt werden.
  3. Die Containerkopieaufträge werden in diesen Instanzen ausgeführt.
  4. Ein einzelner Auftrag wird jederzeit in allen Instanzen ausgeführt.
  5. Die Instanzen werden von allen Containerkopieraufträgen, die unter demselben Konto laufen, gemeinsam genutzt.
  6. Die Plattform kann die Zuweisung der Instanzen aufheben, wenn sie länger als 15 Minuten inaktiv sind.

Hinweis

Derzeit unterstützen wir nur Offline-Containerkopieraufträge. Es wird daher dringend empfohlen, die Durchführung von Vorgängen auf dem Quellcontainer zu beenden, bevor die Containerkopie gestartet wird. Elementlöschungen und -aktualisierungen, die nach dem Beginn des Kopierauftrags auf dem Quellcontainer durchgeführt werden, werden möglicherweise nicht erfasst. Die Fortsetzung der Vorgänge im Quellcontainer kann während der Bearbeitung des Containerauftrags zu doppelten oder fehlenden Daten im Zielcontainer führen.

Faktoren, die sich auf die Geschwindigkeit der Ausführung von Containerkopieaufträgen auswirken

Die Geschwindigkeit des Containerkopieauftrags wird durch diese Faktoren bestimmt:

  • Einstellung des Quellcontainer- oder Datenbankdurchsatzes.

  • Einstellung des Zielcontainer- oder Datenbankdurchsatzes.

    Tipp

    Legen Sie den Zielcontainerdurchsatz auf mindestens das Doppelte des Quellcontainerdurchsatzes fest.

  • Serverseitige Computeinstanzen, die dem Azure Cosmos DB-Konto zur Ausführung der Datenübertragung zugeordnet sind.

    Wichtig

    Die Standard-SKU beinhaltet zwei 4-vCPU 16-GB-serverseitige Instanzen pro Konto.

Einschränkungen

Vorschauberechtigungskriterien

Containerkopieraufträge funktionieren nicht bei Konten, für die die folgenden Funktionen aktiviert sind. Deaktivieren Sie diese Funktionen, bevor Sie Containerkopieraufträge ausführen:

Kontokonfigurationen

Die Einstellung für die Gültigkeitsdauer (Time-to-Live, TTL) wurde im Zielcontainer nicht angepasst. Wenn ein Dokument im Quellcontainer nicht abgelaufen ist, wird der Countdown im Zielcontainer daher neu gestartet.

Häufig gestellte Fragen

Gibt es eine Vereinbarung zum Servicelevel (SLA, Service-Level Agreement) für Containerkopieraufträge?

Containerkopieraufträge werden derzeit bestmöglich unterstützt. Wir bieten keine SLA-Garantien für die Zeit, die bis zum Abschluss der Aufträge benötigt wird.

Kann ich mehrere Containerkopieaufträge in einem Konto erstellen?

Ja. Sie können mehrere Aufträge innerhalb desselben Kontos erstellen. Die Aufträge werden nacheinander ausgeführt. Sie können alle in einem Konto erstellten Aufträge auflisten und deren Fortschritt überwachen.

Kann ich eine komplette Datenbank im Azure Cosmos DB-Konto kopieren?

Sie müssen einen Auftrag für jeden Container in der Datenbank erstellen.

Ich habe ein Azure Cosmos DB-Konto mit mehreren Regionen. In welcher Region wird der Containerkopieauftrag ausgeführt?

Der Containerkopierauftrag wird in der Schreibregion ausgeführt. In einem Konto, das mit Schreibvorgängen in mehreren Regionen konfiguriert ist, wird der Auftrag in einer der Regionen in der Liste der Schreibregionen ausgeführt.

Was geschieht mit den Containerkopieaufträgen, wenn sich die Schreibregion des Kontos ändert?

Die Schreibregion des Kontos kann sich im seltenen Szenario des Ausfalls einer Region oder aufgrund eines manuellen Failovers ändern. In diesem Szenario würden nicht abgeschlossene Containerkopieraufträge, die innerhalb des Kontos erstellt wurden, fehlschlagen. In diesem Fall müssten Sie diese fehlgeschlagenen Aufträge neu erstellen. Die neu erstellten Aufträge werden dann in der neuen (aktuellen) Schreibregion ausgeführt.

Unterstützte Regionen

Derzeit wird die Containerkopie nur in den folgenden Regionen unterstützt:

Nord-, Mittel- und Südamerika Europa und Afrika Asien-Pazifik
Brasilien Süd Frankreich, Mitte Australien, Mitte
Kanada, Mitte Frankreich, Süden Australien, Mitte 2
Kanada, Osten Deutschland, Norden Australien (Osten)
USA (Mitte) Deutschland, Westen-Mitte Indien, Mitte
USA, Mitte (EUAP) Nordeuropa Japan, Osten
East US Norwegen, Osten Korea, Mitte
USA (Ost) 2 Norwegen, Westen Asien, Südosten
USA, Osten 2 (EUAP) Schweiz, Norden VAE, Mitte
USA Nord Mitte Schweiz, Westen Indien, Westen
USA Süd Mitte UK, Süden Asien, Osten
USA, Westen-Mitte UK, Westen Malaysia, Süden
USA (Westen) Europa, Westen Japan, Westen
USA, Westen 2 Israel, Mitte Australien, Südosten
Nicht unterstützt Südafrika, Norden Nicht unterstützt

Bekannte und häufige Probleme

  • Fehler: Besitzerressource ist nicht vorhanden.

    Wenn bei der Auftragserstellung ein Fehler auftritt und der Fehler Besitzerressource nicht vorhanden angezeigt wird (Fehlercode 404), wurde entweder der Zielcontainer noch nicht erstellt, oder der Containername, der zum Erstellen des Auftrags verwendet wird, stimmt nicht mit einem tatsächlichen Containernamen überein.

    Stellen Sie sicher, dass der Zielcontainer erstellt wird, bevor Sie den Auftrag ausführen, wie in der Übersicht angegeben, und stellen Sie sicher, dass der Containername im Auftrag mit einem tatsächlichen Containernamen übereinstimmt.

    "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\"]
    
  • Fehler: Die Anforderung ist nicht autorisiert.

    Wenn die Anforderung fehlschlägt und der Fehler Nicht autorisiert angezeigt wird (Fehlercode 401), ist die lokale Autorisierung möglicherweise deaktiviert. Hier erfahren Sie, wie Sie die lokale Autorisierung aktivieren.

    Containerkopieraufträge verwenden Primärschlüssel zur Authentifizierung. Wenn die lokale Autorisierung deaktiviert ist, schlägt die Auftragserstellung fehl. Die lokale Autorisierung muss aktiviert sein, damit Containerkopieraufträge funktionieren.

    "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."
    
  • Fehler: Fehler beim Abrufen von Ressourcen für den Auftrag.

    Dieser Fehler kann aufgrund interner Serverprobleme auftreten. Zur Behebung dieses Problems wenden Sie sich an den Microsoft-Support. Erstellen Sie dazu im Azure-Portal eine neue Supportanfrage. Wählen Sie unter Problemtyp die Option Datenmigration aus. Wählen Sie unter Problemuntertyp die Option Kontointerne Containerkopie aus.

    "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
    

Nächste Schritte