Containerkopieringsjobb i Azure Cosmos DB (förhandsversion)

GÄLLER FÖR: Nosql Mongodb Cassandra

Du kan utföra offlinekopiering av containrar i ett Azure Cosmos DB-konto med hjälp av containerkopieringsjobb.

Du kan behöva kopiera data i ditt Azure Cosmos DB-konto om du vill uppnå något av följande scenarier:

Containerkopieringsjobb kan skapas och hanteras med hjälp av Azure CLI-kommandon.

Kom igång

Kom igång genom att registrera dig för relevant förhandsversionsfunktion i Azure-portalen.

Containerkopiering över Azure Cosmos DB-konton

NoSQL API

Kom igång med offlinekopiering av offlinecontainer för Azure Cosmos DB för NoSQL API-konton genom att registrera dig för förhandsversionsflaggan Förhandsgranskning av containerkopiering mellan konton offline (NoSQL) i Förhandsversionsfunktioner i Azure-portalen. När registreringen är klar gäller förhandsversionen för alla NoSQL API-konton i prenumerationen.

Containerkopiering i ett Azure Cosmos DB-konto

NoSQL- och Cassandra-API

Kom igång med offlinekopiering av offlinecontainer för NoSQL- och Cassandra API-konton genom att registrera dig för offlinecontainerkopiering (Cassandra & NoSQL) för förhandsversion i förhandsversionsfunktioner i Azure-portalen. När registreringen är klar gäller förhandsversionen för alla Cassandra- och API:er för NoSQL-konton i prenumerationen.

API för MongoDB

Kom igång med offlinekopiering av offlinecontainer för Azure Cosmos DB för MongoDB-konton genom att registrera dig för funktionsflaggan Förhandsgranskningsfunktion för offlinesamlingskopiering (MongoDB) för intrakonto i Förhandsversionsfunktioner i Azure-portalen. När registreringen är klar gäller förhandsversionen för alla MongoDB API-konton i prenumerationen.

Kopiera en containers data

  1. Skapa Azure Cosmos DB-målcontainern med hjälp av de inställningar som du vill använda (partitionsnyckel, dataflödeskornighet, enheter för begäranden, unik nyckel och så vidare).
  2. Stoppa åtgärderna i källcontainern genom att pausa programinstanserna eller alla klienter som ansluter till den.
  3. Skapa containerkopieringsjobbet.
  4. Övervaka förloppet för containerkopieringsjobbet och vänta tills det har slutförts.
  5. Återuppta åtgärderna genom att rikta programmet eller klienten till käll- eller målcontainerkopian på rätt sätt.

Hur fungerar containerkopiering?

Containerkopieringsjobb utför offlinedatakopiering med hjälp av källcontainerns inkrementella ändringsflödeslogg.

  1. Plattformen allokerar beräkningsinstanser på serversidan för azure Cosmos DB-målkontot.
  2. Dessa instanser allokeras när ett eller flera containerkopieringsjobb skapas i kontot.
  3. Containerkopieringsjobben körs på dessa instanser.
  4. Ett enda jobb körs över alla instanser när som helst.
  5. Instanserna delas av alla containerkopieringsjobb som körs inom samma konto.
  6. Plattformen kan frigöra instanserna om de är inaktiva i mer än 15 minuter.

Kommentar

Vi stöder för närvarande endast offline-containerkopieringsjobb. Vi rekommenderar starkt att du slutar utföra åtgärder på källcontainern innan du påbörjar containerkopian. Objektborttagningar och uppdateringar som görs i källcontainern när du har startat kopieringsjobbet kanske inte registreras. Om du fortsätter att utföra åtgärder på källcontainern medan containerjobbet pågår kan du ha duplicerade eller saknade data på målcontainern.

Faktorer som påverkar hastigheten för ett containerkopieringsjobb

Frekvensen för förloppet för containerkopieringsjobb bestäms av följande faktorer:

  • Inställningen för källcontainer eller databasdataflöde.

  • Inställningen för målcontainer eller databasdataflöde.

    Dricks

    Ange målcontainerns dataflöde till minst två gånger källcontainerns dataflöde.

  • Beräkningsinstanser på serversidan som allokeras till Azure Cosmos DB-kontot för att utföra dataöverföringen.

    Viktigt!

    Standard-SKU:n erbjuder två 4-vCPU 16 GB instanser på serversidan per konto.

Begränsningar

Villkor för förhandsversion av berättigande

Containerkopieringsjobb fungerar inte med konton som har följande funktioner aktiverade. Inaktivera dessa funktioner innan du kör containerkopieringsjobb:

Kontokonfigurationer

TTL-inställningen (Time to Live) justeras inte i målcontainern. Om ett dokument inte har upphört att gälla i källcontainern startar det därför nedräkningen på nytt i målcontainern.

Vanliga frågor och svar

Finns det ett serviceavtal för containerkopieringsjobb?

Containerkopieringsjobb stöds för närvarande på bästa sätt. Vi tillhandahåller inga serviceavtalsgarantier (SLA) för den tid det tar för jobben att slutföras.

Kan jag skapa flera containerkopieringsjobb i ett konto?

Ja, du kan skapa flera jobb inom samma konto. Jobben körs i följd. Du kan visa en lista över alla jobb som skapas i ett konto och övervaka deras förlopp.

Kan jag kopiera en hel databas i Azure Cosmos DB-kontot?

Du måste skapa ett jobb för varje container i databasen.

Jag har ett Azure Cosmos DB-konto med flera regioner. I vilken region körs containerkopieringsjobbet?

Containerkopieringsjobbet körs i skrivregionen. I ett konto som har konfigurerats med skrivningar i flera regioner körs jobbet i en av regionerna i listan över skrivregioner.

Vad händer med containerkopieringsjobben när kontots skrivregion ändras?

Kontots skrivregion kan ändras i det sällsynta scenariot med ett regionstopp eller på grund av manuell redundans. I det här scenariot misslyckas ofullständiga containerkopieringsjobb som skapades i kontot. Du skulle behöva återskapa de här misslyckade jobben. Återskapade jobb körs sedan i den nya (aktuella) skrivregionen.

Regioner som stöds

För närvarande stöds containerkopiering i följande regioner:

Nord- och Sydamerika Europa och Afrika Asien och stillahavsområdet
Brasilien, södra Frankrike, centrala Australien, centrala
Kanada, centrala Frankrike, södra Australien, centrala 2
Kanada, östra Tyskland, norra Australien, östra
Central US Tyskland, västra centrala Indien, centrala
Centrala USA EUAP Europa, norra Japan, östra
USA, östra Norge, östra Sydkorea, centrala
USA, östra 2 Västra Norge Sydostasien
Östra USA 2 EUAP Schweiz, norra Förenade Arabemiraten, centrala
Norra centrala USA Schweiz, västra Västra Indien
USA, södra centrala Södra Storbritannien Asien, östra
Västra centrala USA Västra Storbritannien Malaysia, södra
Västra USA Västeuropa Västra Japan
Västra USA 2 Israel, centrala Sydöstra Australien
Stöds inte Sydafrika, norra Stöds inte

Kända och vanliga problem

  • Fel – Ägarresursen finns inte.

    Om jobbskapandet misslyckas och visar felet Ägarresurs finns inte (felkod 404) har målcontainern inte skapats än eller så matchar inte containernamnet som används för att skapa jobbet ett faktiskt containernamn.

    Kontrollera att målcontainern har skapats innan du kör jobbet enligt beskrivningen och se till att containernamnet i jobbet matchar ett faktiskt containernamn.

    "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\"]
    
  • Fel – Begäran är obehörig.

    Om begäran misslyckas och visar felet Obehörig (felkod 401) kan lokal auktorisering inaktiveras. Lär dig hur du aktiverar lokal auktorisering.

    Containerkopieringsjobb använder primära nycklar för att autentisera. Om lokal auktorisering är inaktiverad misslyckas jobbskapandet. Lokal auktorisering måste vara aktiverat för att containerkopieringsjobb ska fungera.

    "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."
    
  • Fel – Fel vid hämtar resurser för jobbet.

    Det här felet kan inträffa på grund av interna serverproblem. Lös problemet genom att kontakta Microsoft Support genom att öppna en ny supportbegäran i Azure-portalen. För Problemtyp väljer du Datamigrering. För Problemundertyp väljer du Containerkopiering för intrakonto.

    "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ästa steg