Tárolómásolási feladatok létrehozása és kezelése az Azure Cosmos DB-ben (előzetes verzió)
A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra
A tárolómásolási feladatok segítségével offline másolatokat hozhat létre a tárolókról az Azure Cosmos DB-fiókokban.
Ez a cikk bemutatja, hogyan hozhat létre, monitorozhat és kezelhet tárolómásolási feladatokat az Azure CLI-parancsokkal.
Előfeltételek
- A Cloud Shell portál használatával tárolómásolási parancsokat futtathat. Másik lehetőségként helyileg is futtathatja a parancsokat; győződjön meg arról, hogy letöltötte és telepítette az Azure CLI-t a gépére.
- A tárolómásolat jelenleg csak ezekben a régiókban támogatott. Győződjön meg arról, hogy a fiók írási régiója ebbe a listába tartozik.
- Telepítse az Azure Cosmos DB előzetes verziójú bővítményét, amely tartalmazza a tárolómásolási parancsokat.
az extension add --name cosmosdb-preview
Megjegyzés:
A tárolómásolási feladat azure Cosmos DB-fiókokban csak NoSQL API-fiókhoz érhető el. Az Azure Cosmos DB-fiókon belüli tárolómásolási feladat noSQL-, MongoDB- és Cassandra API-fiókokhoz érhető el.
Tárolómásolási feladat létrehozása adatok Azure Cosmos DB-fiókon belüli másolásához
Rendszerhéjváltozók beállítása
Először állítsa be az egyes szkriptek által használt összes változót.
$destinationRG = "<destination-resource-group-name>"
$sourceAccount = "<cosmos-source-account-name>"
$destinationAccount = "<cosmos-destination-account-name>"
$jobName = ""
$sourceDatabase = ""
$sourceContainer = ""
$destinationDatabase = ""
$destinationContainer = ""
Tárolómásolási feladat létrehozása
API for NoSQL-fiók
Hozzon létre egy feladatot egy tároló másolásához egy Azure Cosmos DB API for NoSQL-fiókban:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-nosql database=$destinationDatabase container=$destinationContainer `
--src-nosql database=$sourceDatabase container=$sourceContainer
Api a Cassandra-fiókhoz
Hozzon létre egy feladatot egy tároló másolásához egy Cassandra-fiókhoz készült Azure Cosmos DB API-ban:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-cassandra keyspace=$destinationKeySpace table=$destinationTable `
--src-cassandra keyspace=$sourceKeySpace table=$sourceTable
Api a MongoDB-fiókhoz
Hozzon létre egy feladatot egy tároló másolásához egy MongoDB-fiókhoz készült Azure Cosmos DB API-ban:
az cosmosdb copy create `
--resource-group $destinationRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-mongo database=$destinationDatabase collection=$destinationCollection `
--src-mongo database=$sourceDatabase collection=$sourceCollection
Megjegyzés:
--job-name
egyedinek kell lennie az egyes feladatokhoz egy fiókon belül.
Tárolómásolási feladat létrehozása az adatok Azure Cosmos DB-fiókok közötti másolásához
Rendszerhéjváltozók beállítása
Először állítsa be az egyes szkriptek által használt összes változót.
$sourceSubId = "<source-subscription-id>"
$destinationSubId = "<destination-subscription-id>"
$sourceAccountRG = "<source-resource-group-name>"
$destinationAccountRG = "<destination-resource-group-name>"
$sourceAccount = "<cosmos-source-account-name>"
$destinationAccount = "<cosmos-destination-account-name>"
$jobName = ""
$sourceDatabase = ""
$sourceContainer = ""
$destinationDatabase = ""
$destinationContainer = ""
Olvasási engedély hozzárendelése
Miközben adatokat másol az egyik fiók tárolójából egy másik fiók tárolójába. A másolási művelet végrehajtásához olvasási hozzáférést kell adni a forrástárolónak a célfiók identitásához. Kövesse az alábbi lépéseket a szükséges olvasási engedély célfiókhoz való hozzárendeléséhez.
Rendszer által felügyelt identitás használata
- Cél-előfizetési környezet beállítása
az account set --subscription $destinationSubId
- Rendszeridentitás hozzáadása a célfiókhoz
$identityOutput = az cosmosdb identity assign -n $destinationAccount -g $destinationAccountRG $principalId = ($identityOutput | ConvertFrom-Json).principalId
- Alapértelmezett identitás beállítása a célfiókon
az cosmosdb update -n $destinationAccount -g $destinationAccountRG --default-identity="SystemAssignedIdentity"
- Forrás-előfizetés környezetének beállítása
az account set --subscription $sourceSubId
- Szerepkör-hozzárendelés hozzáadása a forrásfiókhoz
# Read-only access role $roleDefinitionId = "00000000-0000-0000-0000-000000000001" az cosmosdb sql role assignment create --account-name $sourceAccount --resource-group $sourceAccountRG --role-definition-id $roleDefinitionId --scope "/" --principal-id $principalId
- Cél-előfizetés környezetének alaphelyzetbe állítása
az account set --subscription $destinationSubId
Felhasználó által hozzárendelt felügyelt identitás használata
- Felhasználó által hozzárendelt felügyelt identitásváltozó hozzárendelése
$userAssignedManagedIdentityResourceId = "<CompleteResourceIdOfUserAssignedManagedIdentity>"
- Cél-előfizetési környezet beállítása
az account set --subscription $destinationSubId
- Felhasználó által hozzárendelt felügyelt identitás hozzáadása a célfiókhoz
$identityOutput = az cosmosdb identity assign -n $destinationAccount -g $destinationAccountRG --identities $userAssignedManagedIdentityResourceId $principalId = ($identityOutput | ConvertFrom-Json).userAssignedIdentities.$userAssignedManagedIdentityResourceId.principalId
- Alapértelmezett identitás beállítása a célfiókon
az cosmosdb update -n $destinationAccount -g $destinationAccountRG --default-identity=UserAssignedIdentity=$userAssignedManagedIdentityResourceId
- Forrás-előfizetés környezetének beállítása
az account set --subscription $sourceSubId
- Szerepkör-hozzárendelés hozzáadása a forrásfiókhoz
$roleDefinitionId = "00000000-0000-0000-0000-000000000001" # Read-only access role az cosmosdb sql role assignment create --account-name $sourceAccount --resource-group $sourceAccountRG --role-definition-id $roleDefinitionId --scope "/" --principal-id $principalId
- Cél-előfizetés környezetének alaphelyzetbe állítása
az account set --subscription $destinationSubId
Tárolómásolási feladat létrehozása
API for NoSQL-fiók
az cosmosdb copy create `
--resource-group $destinationAccountRG `
--job-name $jobName `
--dest-account $destinationAccount `
--src-account $sourceAccount `
--dest-nosql database=$destinationDatabase container=$destinationContainer `
--src-nosql database=$sourceDatabase container=$sourceContainer
Tárolómásolási feladatok kezelése
Tárolómásolási feladat előrehaladásának figyelése
A másolási feladat előrehaladásának és állapotának megtekintése:
az cosmosdb copy show `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
A fiókban létrehozott összes tárolómásolási feladat listázása
A fiókban létrehozott összes tárolómásolási feladat listázása:
az cosmosdb copy list `
--resource-group $destinationAccountRG `
--account-name $destinationAccount
Tárolómásolási feladat szüneteltetése
Egy folyamatban lévő tárolómásolási feladat szüneteltetéséhez használja a következő parancsot:
az cosmosdb copy pause `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Tárolómásolási feladat folytatása
A folyamatban lévő tárolómásolási feladat folytatásához használja a következő parancsot:
az cosmosdb copy resume `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Tárolómásolási feladat megszakítása
A folyamatban lévő tárolómásolási feladat megszakításához használja a következő parancsot:
az cosmosdb copy cancel `
--resource-group $destinationAccountRG `
--account-name $destinationAccount `
--job-name $jobName
Támogatás kérése a tároló másolásával kapcsolatos problémákhoz
A tárolópéldányokkal kapcsolatos problémák esetén küldjön egy új támogatási kérést az Azure Portalról. Állítsa a probléma típusát "Adatmigrálás" értékre, a Probléma altípust pedig "Tárolómásolat" értékre.
Következő lépések
- A tárolómásolási feladatokról további információt a Tárolómásolási feladatok című témakörben talál.