Az objektumreplikálás aszinkron módon másol blokkblobokat egy forrástárfiók és egy célfiók között. Az objektumreplikálás konfigurálásakor létre kell hoznia egy replikációs szabályzatot, amely meghatározza a forrástárfiókot és a célfiókot. A replikációs szabályzat egy vagy több olyan szabályt tartalmaz, amelyek egy forrástárolót és egy céltárolót határoznak meg, és jelzik, hogy a forrástárolóban mely blokkblobok lesznek replikálva. Az objektumreplikálással kapcsolatos további információkért tekintse meg a blokkblobok objektumreplikálását ismertető témakört.
Ez a cikk azt ismerteti, hogyan konfigurálhat objektumreplikációs szabályzatokat az Azure Portal, a PowerShell vagy az Azure CLI használatával. Az objektumreplikálás konfigurálásához az Azure Storage erőforrás-szolgáltató egyik ügyfélkódtárát is használhatja.
Előfeltételek
Az objektumreplikálás konfigurálása előtt hozza létre a forrás- és céltárfiókokat, ha még nem léteznek. A forrás- és célfiókok lehetnek általános célú v2-tárfiókok vagy prémium szintű blokkblobfiókok. További információ: Azure Storage-fiók létrehozása.
Az objektumreplikálás megköveteli, hogy a blobok verziószámozása engedélyezve legyen a forrás- és a célfiókban, és hogy a blobmódosítási hírcsatorna engedélyezve legyen a forrásfiókhoz. A blobok verziószámozásával kapcsolatos további információkért lásd a blobok verziószámozását ismertető témakört. További információ a változáscsatornáról: Változáscsatorna támogatása az Azure Blob Storage-ban. Ne feledje, hogy ezeknek a funkcióknak a engedélyezése további költségekkel járhat.
Ha objektumreplikációs szabályzatot szeretne konfigurálni egy tárfiókhoz, hozzá kell rendelnie az Azure Resource Manager közreműködői szerepkörét, amely a tárfiók szintjére vagy annál magasabb szintre terjed ki. További információ: Azure beépített szerepkörök az Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) dokumentációjában.
Objektumreplikálás konfigurálása mindkét tárfiókhoz való hozzáféréssel
Ha a forrás- és a céltárfiókhoz is rendelkezik hozzáféréssel, akkor mindkét fiókon konfigurálhatja az objektumreplikációs szabályzatot. Az alábbi példák bemutatják, hogyan konfigurálható az objektumreplikálás az Azure Portal, a PowerShell vagy az Azure CLI használatával.
Amikor az Azure Portalon konfigurálja az objektumreplikálást, csak a forrásfiókon kell konfigurálnia a szabályzatot. Az Azure Portal automatikusan létrehozza a szabályzatot a célfiókon, miután konfigurálta a forrásfiókhoz.
Replikációs szabályzat azure portalon való létrehozásához kövesse az alábbi lépéseket:
Lépjen a forrástárfiókra az Azure Portalon.
Az Adatkezelés területen válassza az Objektumreplikálás lehetőséget.
Válassza a Replikációs szabályok beállítása lehetőséget.
Az alábbi képen replikációs szabályok halmaza látható.
Ha szükséges, adjon meg egy vagy több szűrőt, hogy csak az előtagmintának megfelelő blobokat másolja. Ha például előtagot bad meg, a rendszer csak azokat a blobokat replikálja, amelyeknek a neve az adott betűvel kezdődik. Az előtag részeként megadhat egy virtuális könyvtárat. Legfeljebb öt előtag-egyezést adhat hozzá. Az előtagsztring nem támogatja a helyettesítő karaktereket.
Az alábbi képen olyan szűrők láthatók, amelyek korlátozzák a replikációs szabály részeként másolt blobokat.
Alapértelmezés szerint a másolási hatókör úgy van beállítva, hogy csak az új objektumokat másolja. A tároló összes objektumának másolásához vagy az egyéni dátumtól és időponttól kezdődő objektumok másolásához válassza a módosítási hivatkozást, és konfigurálja a tárolópár másolási hatókörét.
Az alábbi képen egy egyéni másolási hatókör látható, amely egy megadott dátumból és időpontból másol objektumokat.
Válassza a Mentés és alkalmazás lehetőséget a replikációs szabályzat létrehozásához és az adatok replikálásának megkezdéséhez.
Miután konfigurálta az objektumreplikálást, az Azure Portal megjeleníti a replikációs szabályzatot és a szabályokat az alábbi ábrán látható módon.
Az alábbi példa bemutatja, hogyan hozhat létre replikációs szabályzatot először a célfiókon, majd a forrásfiókon. Ne felejtse el a szögletes zárójelek értékeit a saját értékeire cserélni:
# Sign in to your Azure account.
Connect-AzAccount
# Set variables.
$rgName = "<resource-group>"
$srcAccountName = "<source-storage-account>"
$destAccountName = "<destination-storage-account>"
$srcContainerName1 = "source-container1"
$destContainerName1 = "dest-container1"
$srcContainerName2 = "source-container2"
$destContainerName2 = "dest-container2"
# Enable blob versioning and change feed on the source account.
Update-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-EnableChangeFeed $true `
-IsVersioningEnabled $true
# Enable blob versioning on the destination account.
Update-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-IsVersioningEnabled $true
# List the service properties for both accounts.
Get-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName
Get-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
# Create containers in the source and destination accounts.
Get-AzStorageAccount -ResourceGroupName $rgName -StorageAccountName $srcAccountName |
New-AzStorageContainer $srcContainerName1
Get-AzStorageAccount -ResourceGroupName $rgName -StorageAccountName $destAccountName |
New-AzStorageContainer $destContainerName1
Get-AzStorageAccount -ResourceGroupName $rgName -StorageAccountName $srcAccountName |
New-AzStorageContainer $srcContainerName2
Get-AzStorageAccount -ResourceGroupName $rgName -StorageAccountName $destAccountName |
New-AzStorageContainer $destContainerName2
# Define replication rules for each container.
$rule1 = New-AzStorageObjectReplicationPolicyRule -SourceContainer $srcContainerName1 `
-DestinationContainer $destContainerName1 `
-PrefixMatch b
$rule2 = New-AzStorageObjectReplicationPolicyRule -SourceContainer $srcContainerName2 `
-DestinationContainer $destContainerName2 `
-MinCreationTime 2021-09-01T00:00:00Z
# Create the replication policy on the destination account.
$destPolicy = Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId default `
-SourceAccount $srcAccountName `
-Rule $rule1,$rule2
# Create the same policy on the source account.
Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-InputObject $destPolicy
Ha replikációs szabályzatot szeretne létrehozni az Azure CLI-vel, először telepítse az Azure CLI 2.11.1-es vagy újabb verzióját. További információ: Ismerkedés az Azure CLI-vel.
Ezután engedélyezze a blobok verziószámozását a forrás- és céltárfiókokon, és engedélyezze a változáscsatornát a forrásfiókon az az storage account blob-service-properties update parancs meghívásával. Ne felejtse el a szögletes zárójelek értékeit a saját értékeire cserélni:
az login
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <source-storage-account> \
--enable-versioning \
--enable-change-feed
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--enable-versioning
Hozza létre a forrás- és céltárolókat a megfelelő tárfiókokban.
Az Azure Storage a létrehozáskor beállítja az új szabályzat szabályzatazonosítóját. Ha további szabályokat szeretne hozzáadni a szabályzathoz, hívja meg az az storage account or-policy rule add parancsot , és adja meg a szabályzat azonosítóját.
Ha nincs engedélye a forrás tárfiókhoz, vagy ha több mint 10 tárolópárt szeretne használni, akkor konfigurálhatja az objektumreplikálást a célfiókon, és megadhat egy JSON-fájlt, amely tartalmazza a szabályzatdefiníciót egy másik felhasználónak, hogy ugyanazt a házirendet hozza létre a forrásfiókon. Ha például a forrásfiók a célfióktól eltérő Azure AD-bérlőben található, akkor ezzel a módszerrel konfigurálhatja az objektumreplikálást.
Megjegyzés
A tárfiókok esetében alapértelmezés szerint engedélyezve van a bérlők közötti objektumreplikálás. A bérlők közötti replikáció megakadályozásához beállíthatja az AllowCrossTenantReplication tulajdonságot (előzetes verzió) úgy, hogy letiltsa a bérlők közötti objektumreplikációt a tárfiókok esetében. További információ: Objektumreplikálás megakadályozása Az Azure Active Directory-bérlők között.
Az ebben a szakaszban található példák bemutatják, hogyan konfigurálhatja az objektumreplikációs házirendet a célfiókon, majd lekérheti a szabályzat JSON-fájlját, amelyet egy másik felhasználó a szabályzat forrásfiókon való konfigurálásához használhat.
Ha az objektumreplikálást egy JSON-fájllal szeretné konfigurálni a célfiókon az Azure Portalon, kövesse az alábbi lépéseket:
Hozzon létre egy helyi JSON-fájlt, amely meghatározza a replikációs szabályzatot a célfiókon. Állítsa a policyId mezőt alapértelmezettre , hogy az Azure Storage határozza meg a szabályzat azonosítóját.
A replikációs szabályzatot meghatározó JSON-fájlok létrehozásának egyszerű módja, ha először létrehoz egy replikációs tesztszabályzatot két tárfiók között az Azure Portalon. Ezután letöltheti a replikációs szabályokat, és szükség szerint módosíthatja a JSON-fájlt.
Lépjen a célfiók objektumreplikációs beállításaihoz az Azure Portalon.
Válassza a Replikációs szabályok feltöltése lehetőséget.
Töltse fel a JSON-fájlt. Az Azure Portal megjeleníti a létrehozandó szabályzatot és szabályokat az alábbi képen látható módon.
Válassza a Feltöltés lehetőséget a replikációs szabályzat célfiókon való létrehozásához.
Ezután letöltheti a szabályzatdefiníciót tartalmazó JSON-fájlt, amelyet megadhat egy másik felhasználónak a forrásfiók konfigurálásához. A JSON-fájl letöltéséhez kövesse az alábbi lépéseket:
Lépjen a célfiók objektumreplikációs beállításaihoz az Azure Portalon.
Válassza a letölteni kívánt szabályzat melletti Egyebek gombot, majd válassza a Szabályok letöltése lehetőséget az alábbi képen látható módon.
Mentse a JSON-fájlt a helyi számítógépre, és ossza meg egy másik felhasználóval, hogy konfigurálja a szabályzatot a forrásfiókon.
A letöltött JSON-fájl tartalmazza azt a szabályzatazonosítót, amelyet az Azure Storage hozott létre a házirendhez a célfiókon. A forrásfiók objektumreplikálásának konfigurálásához ugyanazt a szabályzatazonosítót kell használnia.
Ne feledje, hogy ha feltölt egy JSON-fájlt, hogy replikációs szabályzatot hozzon létre a célfiókhoz az Azure Portalon keresztül, nem hozza létre automatikusan ugyanazt a szabályzatot a forrásfiókban. Egy másik felhasználónak létre kell hoznia a szabályzatot a forrásfiókon, mielőtt az Azure Storage megkezdené az objektumok replikálását.
A célfiók replikációs szabályzatdefinícióját tartalmazó JSON-fájl PowerShellből való letöltéséhez hívja meg a Get-AzStorageObjectReplicationPolicy parancsot a szabályzat visszaadásához. Ezután konvertálja a szabályzatot JSON-fájllá, és mentse helyi fájlként, az alábbi példában látható módon. Ne felejtse el a szögletes zárójelek értékeit és a fájl elérési útját a saját értékeire cserélni:
Ha a JSON-fájl használatával szeretné meghatározni a replikációs szabályzatot a forrásfiókon a PowerShell-lel, kérje le a helyi fájlt, és alakítsa át JSON-ból objektummá. Ezután hívja meg a Set-AzStorageObjectReplicationPolicy parancsot, hogy konfigurálja a szabályzatot a forrásfiókon az alábbi példában látható módon.
A példa futtatásakor ügyeljen arra, hogy a paramétert -ResourceGroupName a forrásfiók erőforráscsoportjára, a -StorageAccountName paramétert pedig a forrásfiók nevére állítsa. Ne felejtse el a szögletes zárójelek értékeit és a fájl elérési útját a saját értékeire cserélni:
Ha a célfiók replikációs szabályzatdefinícióját egy JSON-fájlba szeretné írni az Azure CLI-ből, hívja meg az az storage account or-policy show parancsot és kimenetet egy fájlba.
Az alábbi példa a szabályzatdefiníciót egy policy.json nevű JSON-fájlba írja. Ne felejtse el a szögletes zárójelek értékeit és a fájl elérési útját a saját értékeire cserélni:
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Ha a JSON-fájl használatával szeretné konfigurálni a replikációs szabályzatot a forrásfiókon az Azure CLI-vel, hívja meg az az storage account or-policy create parancsot, és hivatkozzon a policy.json fájlra . Ne felejtse el a szögletes zárójelek értékeit és a fájl elérési útját a saját értékeire cserélni:
A forrásfiókban lévő blob replikációs állapotát az Azure Portal, a PowerShell vagy az Azure CLI használatával ellenőrizheti. Az objektumreplikációs tulajdonságok mindaddig nem lesznek kitöltve, amíg a replikáció be nem fejeződik vagy nem hiúsult meg.
Ha ellenőrizni szeretné egy blob replikációs állapotát az Azure Portal forrásfiókjában, kövesse az alábbi lépéseket:
Lépjen a forrásfiókra az Azure Portalon.
Keresse meg a forrásblobot tartalmazó tárolót.
Válassza ki a blobot a tulajdonságai megjelenítéséhez. Ha a blob replikálása sikeresen megtörtént, az Objektumreplikációs szakaszban láthatja, hogy az állapot Befejezve értékre van állítva. A replikációs szabályzat azonosítója és a tároló objektumreplikálását szabályozó szabály azonosítója is megjelenik.
Ha ellenőrizni szeretné egy blob replikációs állapotát a forrásfiókban a PowerShell-lel, kérje le az objektumreplikációs ReplicationStatus tulajdonság értékét az alábbi példában látható módon. Ne felejtse el lecserélni a szögletes zárójelben lévő értékeket a saját értékeire:
Ha ellenőrizni szeretné egy blob replikációs állapotát a forrásfiókban az Azure CLI-vel, kérje le az objektumreplikációs állapot tulajdonság értékét az alábbi példában látható módon:
Ha a forrásfiókban lévő blob replikációs állapota hibát jelez, vizsgálja meg a következő lehetséges okokat:
Győződjön meg arról, hogy az objektumreplikációs szabályzat konfigurálva van a célfiókon.
Ellenőrizze, hogy a céltároló még létezik-e.
Ha a forrásblob egy írási művelet részeként ügyfél által megadott kulccsal lett titkosítva, akkor az objektumreplikálás sikertelen lesz. Az ügyfél által megadott kulcsokkal kapcsolatos további információkért lásd: Titkosítási kulcs megadása a Blob Storage-nak küldött kéréshez.
Replikációs szabályzat eltávolítása
A replikációs szabályzat és a hozzá tartozó szabályok eltávolításához használja az Azure Portalt, a PowerShellt vagy a parancssori felületet.
Ha el szeretne távolítani egy replikációs szabályzatot az Azure Portalon, kövesse az alábbi lépéseket:
Lépjen a forrástárfiókra az Azure Portalon.
A Beállítások területen válassza az Objektumreplikálás lehetőséget.
Válassza az Egyebek gombot a szabályzat neve mellett.
Válassza a Szabályok törlése lehetőséget.
A replikációs szabályzat eltávolításához törölje a házirendet a forrásfiókból és a célfiókból is. A szabályzat törlésével a hozzá társított szabályokat is törli.
# Remove the policy from the destination account.
Remove-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId $destPolicy.PolicyId
# Remove the policy from the source account.
Remove-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-PolicyId $destPolicy.PolicyId
A replikációs szabályzat eltávolításához törölje a házirendet a forrásfiókból és a célfiókból is. A szabályzat törlésével a hozzá társított szabályokat is törli.