Replikace objektů asynchronně kopíruje blokové blob objekty mezi zdrojovým účtem úložiště a cílovým účtem. Při konfiguraci replikace objektů vytvoříte zásadu replikace, která určuje zdrojový storage účet a cílový účet. Zásady replikace zahrnují jedno nebo více pravidel, která určují zdrojový kontejner a cílový kontejner a označují, které objekty blob bloku ve zdrojovém kontejneru se budou replikovat. Další informace o replikaci objektů naleznete v tématu Replikace objektů pro blokové blob.
Tento článek popisuje, jak nakonfigurovat zásady replikace objektů pomocí Azure portal, PowerShellu nebo Azure CLI. Ke konfiguraci replikace objektů můžete použít také jednu z klientských knihoven poskytovatele prostředků Azure Storage.
Požadavky
Před konfigurací replikace objektů vytvořte zdrojový a cílový účet storage, pokud ještě neexistují. Zdrojovými a cílovými účty mohou být účty pro obecné účely verze 2 úložiště nebo prémiové účty pro blokové blob objekty. Další informace najdete v tématu Vytvoření účtu Azure Storage.
Replikace objektů vyžaduje, aby pro zdrojový i cílový účet bylo povoleno verzování objektů blob a aby byl pro zdrojový účet povolen kanál změn pro objekty blob. Další informace o správě verzí objektů blob najdete v tématu Správa verzí objektů blob. Další informace o změnovém kanálu najdete v Change feed support in Azure Blob Storage. Mějte na paměti, že povolení těchto funkcí může vést k dalším nákladům. Povolení požadavků pro replikaci objektů (správa verzí objektů blob a kanál změn) vyžaduje oprávnění Microsoft.Storage/storageAccounts/blobServices/write. Pro více informací o oprávněních viz Azure permissions for Storage. Jakmile je politika replikace objektů vytvořena, očekávají se operace replikace dat od zdroje k cíli. Udělení tohoto povolení by proto mělo být chápáno také jako povolení ke kopírování dat mezi zdrojovým a cílovým účtem.
Pokud chcete nakonfigurovat zásadu replikace objektů pro účet storage, musíte mít přiřazenou roli Azure Resource Manager Contributor s rozsahem na úroveň účtu storage nebo vyšší. Další informace najdete v části Azure vestavěné role v dokumentaci k řízení přístupu na základě rolí Azure (Azure RBAC).
Replikace objektů se zatím nepodporuje v účtech s povoleným hierarchickým oborem názvů.
Pokud máte access do zdrojového i cílového storage účtů, můžete pro oba účty nakonfigurovat zásady replikace objektů. Následující příklady ukazují, jak nakonfigurovat replikaci objektů pomocí Azure portal, PowerShellu nebo Azure CLI.
Když konfigurujete replikaci objektů v Azure portal, stačí nakonfigurovat zásady jenom ve zdrojovém účtu. Azure portal automaticky vytvoří zásadu pro cílový účet, jakmile ji nakonfigurujete pro zdrojový účet.
Pokud chcete vytvořit zásadu replikace v Azure portal, postupujte takto:
Na portálu Azure přejděte ke zdrojovému účtu úložiště.
V části Data management vyberte Objektová replikace.
Vyberte Vytvořit pravidla replikace.
Vyberte cílové předplatné a účet úložiště.
V části Podrobnosti o páru kontejnerů vyberte zdrojový kontejner ze zdrojového účtu a cílový kontejner z cílového účtu. Z portálu Azure můžete vytvořit až 10 dvojic kontejnerů pro každou zásadu replikace. Pokud chcete nakonfigurovat více než 10 dvojic kontejnerů (až 1000), přečtěte si téma Konfigurace replikace objektů pomocí souboru JSON.
Následující obrázek ukazuje sadu pravidel replikace.
V případě potřeby zadejte jeden nebo více filtrů pro kopírování pouze objektů blob, které odpovídají vzoru předpony. Pokud například zadáte předponu b, replikují se pouze objekty blob, jejichž název začíná tímto písmenem. Virtuální adresář můžete zadat jako součást předpony. Můžete přidat maximálně pět shod předpon. Řetězec předpony nepodporuje zástupné znaky.
Následující obrázek ukazuje filtry, které omezují, které objekty blob se kopírují jako součást pravidla replikace.
Ve výchozím nastavení je obor kopírování nastavený tak, aby zkopíroval pouze nové objekty. Pokud chcete zkopírovat všechny objekty v kontejneru nebo zkopírovat objekty počínaje vlastním datem a časem, vyberte odkaz pro změnu a nakonfigurujte obor kopírování pro dvojici kontejnerů.
Následující obrázek znázorňuje vlastní obor kopírování, který kopíruje objekty od zadaného data a času dále.
Vyberte Uložit a použijte k vytvoření zásady replikace a zahájení replikace dat.
Po nakonfigurování replikace objektů Azure portal zobrazí zásady a pravidla replikace, jak je znázorněno na následujícím obrázku.
Pokud chcete vytvořit zásady replikace pomocí PowerShellu, nejprve nainstalujte verzi 2.5.0 nebo novější modulu Az.Storage PowerShellu. Další informace o instalaci Azure PowerShell najdete v tématu Instalace Azure PowerShell pomocí modulu PowerShellGet.
Následující příklad ukazuje, jak nejprve vytvořit zásadu replikace v cílovém účtu a pak na zdrojovém účtu. Nezapomeňte nahradit hodnoty v úhlových závorkách vlastními hodnotami:
# 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
Pokud chcete vytvořit zásadu replikace s Azure CLI, nejprve nainstalujte Azure CLI verze 2.11.1 nebo novější. Další informace najdete v tématu Get started s Azure CLI.
Dále povolte verzování blobů u zdrojového a cílového účtu storage a povolte kanál změn blobů na zdrojovém účtu voláním příkazu az storage account blob-service-properties update. Nezapomeňte nahradit hodnoty v úhlových závorkách vlastními hodnotami:
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
Vytvořte zdrojové a cílové kontejnery v příslušných účtech storage.
az storage container create \
--account-name <source-storage-account> \
--name source-container-1 \
--auth-mode login
az storage container create \
--account-name <source-storage-account> \
--name source-container-2 \
--auth-mode login
az storage container create \
--account-name <dest-storage-account> \
--name dest-container-1 \
--auth-mode login
az storage container create \
--account-name <dest-storage-account> \
--name dest-container-2 \
--auth-mode login
Vytvořte novou zásadu replikace a s ní přidružené pravidlo pro cílový účet zavoláním příkazu az storage account or-policy create.
az storage account or-policy create \
--account-name <dest-storage-account> \
--resource-group <resource-group> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--source-container source-container-1 \
--destination-container dest-container-1 \
--min-creation-time '2021-09-01T00:00:00Z' \
--prefix-match a
Azure Storage nastaví ID zásady pro novou zásadu při jejím vytvoření. Pokud chcete do zásady přidat další pravidla, použijte příkaz az storage account-or-policy rule add a zadejte ID zásady.
az storage account or-policy rule add \
--account-name <dest-storage-account> \
--resource-group <resource-group> \
--source-container source-container-2 \
--destination-container dest-container-2 \
--policy-id <policy-id> \
--prefix-match b
Dále vytvořte politiku ve zdrojovém účtu pomocí ID politiky.
az storage account or-policy show \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> |
az storage account or-policy create --resource-group <resource-group> \
--account-name <source-storage-account> \
--policy "@-"
Pokud nemáte oprávnění ke zdrojovému storage účtu nebo pokud chcete použít více než 10 dvojic kontejnerů, můžete nakonfigurovat replikaci objektů v cílovém účtu a zadat soubor JSON, který obsahuje definici zásady jinému uživateli, a vytvořit stejnou zásadu ve zdrojovém účtu. Pokud je například zdrojový účet v jiném tenantovi Microsoft Entra z cílového účtu, můžete tento přístup použít ke konfiguraci replikace objektů.
Informace o tom, jak vytvořit soubor JSON, který obsahuje definici zásady, najdete v tématu Soubor definice zásad.
Poznámka:
Replikace objektů mezi tenanty je ve výchozím nastavení povolená pro účet storage. Pokud chcete zabránit replikaci mezi tenanty, můžete nastavit vlastnost AllowCrossTenantReplication zakázat replikaci objektů mezi tenanty pro vaše účty storage. Další informace naleznete v tématu Zabránění replikaci objektů napříč tenanty Microsoft Entra.
Příklady v této části ukazují, jak nakonfigurovat zásady replikace objektů v cílovém účtu a pak získat soubor JSON pro tuto zásadu, kterou může použít jiný uživatel ke konfiguraci zásad ve zdrojovém účtu.
Pokud chcete nakonfigurovat replikaci objektů v cílovém účtu se souborem JSON v Azure portal, postupujte takto:
Vytvořte místní soubor JSON, který definuje zásady replikace v cílovém účtu. Nastavte pole policyId na default tak, aby Azure Storage definovalo ID zásady.
Snadný způsob, jak vytvořit soubor JSON, který definuje zásady replikace, je nejprve vytvořit testovací zásady replikace mezi dvěma účty storage v Azure portal. Pak si můžete stáhnout pravidla replikace a podle potřeby upravit soubor JSON.
Přejděte do nastavení replikace objektů cílového účtu v portálu Azure.
Vyberte Nahrát pravidla replikace.
Nahrajte soubor JSON. Azure portal zobrazí zásady a pravidla, která se vytvoří, jak je znázorněno na následujícím obrázku.
Výběrem Nahrát vytvořte zásadu replikace v cílovém účtu.
Pak si můžete stáhnout soubor JSON obsahující definici zásad, který můžete poskytnout jinému uživateli, aby nakonfigurovali zdrojový účet. Chcete-li stáhnout tento soubor JSON, postupujte takto:
Přejděte do nastavení replikace objektů cílového účtu v portálu Azure.
Vyberte tlačítko Další vedle zásady, kterou chcete stáhnout, a pak vyberte Stáhnout pravidla, jak je znázorněno na následujícím obrázku.
Uložte soubor JSON do místního počítače a sdílejte ho s jiným uživatelem a nakonfigurujte zásady ve zdrojovém účtu.
Stažený soubor JSON obsahuje ID zásady, které Azure Storage vytvořilo pro zásadu na cílovém účtu. Ke konfiguraci replikace objektů ve zdrojovém účtu musíte použít stejné ID politiky.
Mějte na paměti, že nahrání souboru JSON pro vytvoření zásady replikace pro cílový účet prostřednictvím Azure portal automaticky nevytvoří stejnou zásadu ve zdrojovém účtu. Než Azure Storage začne replikovat objekty, musí jiný uživatel vytvořit zásadu ve zdrojovém účtu.
Pokud chcete stáhnout soubor JSON obsahující definici zásady replikace pro cílový účet z PowerShellu, zavolejte příkaz Get-AzStorageObjectReplicationPolicy a vraťte zásadu. Pak zásadu převeďte na JSON a uložte ji jako místní soubor, jak je znázorněno v následujícím příkladu. Nezapomeňte nahradit hodnoty v lomených závorkách a cestě k souboru vlastními hodnotami:
$rgName = "<resource-group>"
$destAccountName = "<destination-storage-account>"
$destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
$destPolicy | ConvertTo-Json -Depth 5 > c:\temp\json.txt
Pokud chcete pomocí souboru JSON definovat zásady replikace ve zdrojovém účtu pomocí PowerShellu, načtěte místní soubor a převeďte ho z JSON na objekt. Potom zavolejte příkaz Set-AzStorageObjectReplicationPolicy a nakonfigurujte zásadu ve zdrojovém účtu, jak je znázorněno v následujícím příkladu.
Při spuštění příkladu nezapomeňte nastavit -ResourceGroupName parametr na skupinu prostředků zdrojového účtu a -StorageAccountName parametr na název zdrojového účtu. Nezapomeňte také nahradit hodnoty v lomených závorkách a cestě k souboru vlastními hodnotami:
$object = Get-Content -Path C:\temp\json.txt | ConvertFrom-Json
Set-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-PolicyId $object.PolicyId `
-SourceAccount $object.SourceAccount `
-DestinationAccount $object.DestinationAccount `
-Rule $object.Rules
Pokud chcete napsat definici zásady replikace pro cílový účet do souboru JSON z Azure CLI, zavolejte příkaz az storage account or-policy show a výsledky vyexportujte do souboru.
Následující příklad zapíše definici zásady do souboru JSON s názvem policy.json. Nezapomeňte nahradit hodnoty v lomených závorkách a cestě k souboru vlastními hodnotami:
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Pokud chcete použít soubor JSON ke konfiguraci zásad replikace ve zdrojovém účtu pomocí Azure CLI, použijte příkaz az storage account or-policy create a odkažte na soubor policy.json. Nezapomeňte nahradit hodnoty v lomených závorkách a cestě k souboru vlastními hodnotami:
az storage account or-policy create \
-resource-group <resource-group> \
--source-account <source-account-name> \
--policy @policy.json
Replikace objektů teď podporuje kopírování značek indexu ze zdrojových blobů do cílových blobů. Tuto funkci můžete nakonfigurovat jako součást nového nebo existujícího pravidla replikace.
Požadavky
Zdrojový storage účet musí být zaregistrovaný pro funkci EnableObjectReplicationTags preview, aby bylo možné povolit replikaci značek. Zaregistrujte funkci Preview v Azure portal podle kroků v dokumentaci k Azure Resource Manager funkcím verze Preview.
Replikaci značek je možné povolit u nových i stávajících zásad replikace objektů. Jakákoliv změna v zdrojovém blobu nebo v jeho indexových značkách aktivuje replikaci těchto značek.
Povolte replikaci značek z okna Replikace objektů při vytváření pravidla nebo aktualizaci existujících pravidel pomocí sloupce Replikace značek.
Pokud chcete při vytváření nového pravidla nakonfigurovat replikování značek indexu objektů blob, postupujte takto:
- Na portálu Azure přejděte ke zdrojovému účtu úložiště.
- V části Data management vyberte Objektová replikace.
- Vyberte Vytvořit pravidla replikace.
- Vyberte Povolit replikaci značek a nakonec vyberte Uložit a použít ke konfiguraci replikujících značek indexu objektů blob.
Pokud chcete nakonfigurovat replikaci značek indexu objektů blob pro pravidla exsitingu, postupujte takto:
- Na stránce Replikace objektů přejděte na kartu Vaše Účty.
- Vyberte možnost Povolit ve sloupci Replikace značek v tabulce zkopírovaných objektů z tohoto účtu a poté vyberte OK.
- Stav sloupce replikace značek oproti pravidlu teď zobrazuje Povoleno.
Pokud chcete zakázat replikaci značek indexu objektů blob pro existující pravidla, postupujte takto:
- Na stránce Replikace objektů přejděte na kartu Vaše Účty.
- Vyberte existující pravidlo a v nabídce „…“ vyberte Upravit pravidla.
- Zrušte výběr možnosti Povolit replikaci značek a nakonec vyberte Uložit a použít k zakázání replikování značek indexu objektů blob.
Další informace o instalaci Azure PowerShell najdete v tématu Instalace Azure PowerShell pomocí modulu PowerShellGet.
Povolit replikaci tagů na nové politice: Následující příklad ukazuje, jak vytvořit replikační politiku s povolenou replikací blob index tagů, nejprve na cílovém účtu a poté na zdrojovém účtu. Nezapomeňte nahradit hodnoty v úhlových závorkách vlastními hodnotami.
# Sign in to your Azure account.
Connect-AzAccount
# Set variables.
$rgName = "<resource-group>"
$srcAccountName = "<source-storage-account>"
$destAccountName = "<destination-storage-account>"
$srcContainerName = "source-container"
$destContainerName = "dest-container"
# Build full resource IDs for the source and destination accounts.
$subId = (Get-AzContext).Subscription.Id
$srcId = "/subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Storage/storageAccounts/$srcAccountName"
$destId = "/subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Storage/storageAccounts/$destAccountName"
# Define the replication rule for the container pair.
$rule = New-AzStorageObjectReplicationPolicyRule `
-SourceContainer $srcContainerName `
-DestinationContainer $destContainerName
# Create the policy on the destination account with tags replication enabled.
$destPolicy = Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId default `
-SourceAccount $srcId `
-DestinationAccount $destId `
-Rule $rule `
-EnableTagsReplication $true
# Apply the same policy to the source account.
Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-InputObject $destPolicy
Povolit replikaci značek na existující zásadě Následující příklad ukazuje, jak povolit replikaci značek na již existující zásadě. Stáhne politiku z cílového účtu, znovu ji aplikuje s povolenou replikací tagů a poté aplikuje aktualizovanou politiku na zdrojový účet.
# Set variables.
$rgName = "<resource-group>"
$srcAccountName = "<source-storage-account>"
$destAccountName = "<destination-storage-account>"
$policyId = "<policy-id>"
# Get the existing policy from the destination account.
# Its SourceAccount and DestinationAccount properties are returned as resource IDs.
$existing = Get-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId $policyId
# Re-apply the policy on the destination account with tags replication enabled.
$updated = Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId $existing.PolicyId `
-SourceAccount $existing.SourceAccount `
-DestinationAccount $existing.DestinationAccount `
-Rule $existing.Rules `
-EnableTagsReplication $true
# Apply the updated policy to the source account.
Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-InputObject $updated
Ověřte, že replikace tagů je povolena
Následující příklad vrací stav replikace tagů zásady. Vlastnost Enabled vrací True, když je zapnutá replikace tagů.
# Set variables.
$rgName = "<resource-group>"
$srcAccountName = "<source-storage-account>"
$policyId = "<policy-id>"
# Get the tags replication status from the source account.
(Get-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-PolicyId $policyId).TagsReplication
Vypnout replikaci značek
Následující příklad ukazuje, jak zakázat replikaci značek na existující zásadě jejím opětovným použitím pomocí -EnableTagsReplication $false.
# Set variables.
$rgName = "<resource-group>"
$srcAccountName = "<source-storage-account>"
$destAccountName = "<destination-storage-account>"
$policyId = "<policy-id>"
# Get the existing policy from the destination account.
$existing = Get-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId $policyId
# Re-apply the policy on the destination account with tags replication disabled.
$updated = Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $destAccountName `
-PolicyId $existing.PolicyId `
-SourceAccount $existing.SourceAccount `
-DestinationAccount $existing.DestinationAccount `
-Rule $existing.Rules `
-EnableTagsReplication $false
# Apply the updated policy to the source account.
Set-AzStorageObjectReplicationPolicy `
-ResourceGroupName $rgName `
-StorageAccountName $srcAccountName `
-InputObject $updated
Pro více informací viz dokumentace CLI
Povolte replikaci tagů v nové zásadě: Přidejte parametr --tags-replication true při vytváření zásady v cílovém účtu a poté zkopírujte definici zásady do zdrojového účtu.
az storage account or-policy create \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--source-container <source-container> \
--destination-container <dest-container> \
--tags-replication true
az storage account or-policy show \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> |
az storage account or-policy create \
--resource-group <resource-group> \
--account-name <source-storage-account> \
--policy "@-"
Povolte replikaci tagů na existující politice: Použijte sdílené ID politiky k aktualizaci příznaku na obou účtech.
az storage account or-policy update \
--resource-group <resource-group> \
--account-name <source-storage-account> \
--policy-id <policy-id> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--tags-replication true
az storage account or-policy update \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--tags-replication true
Ověřte, že je povolena replikace štítků: Zkontrolujte vlastnost tagsReplication.enabled u každého účtu. Vrácená hodnota true potvrzuje, že je povolena.
az storage account or-policy show \
--resource-group <resource-group> \
--account-name <source-storage-account> \
--policy-id <policy-id> \
--query "tagsReplication.enabled" \
--output tsv
az storage account or-policy show \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> \
--query "tagsReplication.enabled" \
--output tsv
Vypněte replikaci tagů: Nastavte --tags-replication false na zdrojovém účtu i cílovém účtu pomocí sdíleného ID politiky.
az storage account or-policy update \
--resource-group <resource-group> \
--account-name <source-storage-account> \
--policy-id <policy-id> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--tags-replication false
az storage account or-policy update \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> \
--source-account <source-storage-account> \
--destination-account <dest-storage-account> \
--tags-replication false
Uživatelé můžou použít existující rozhraní REST API: Zásady replikace objektů – Vytvoření nebo aktualizace – ROZHRANÍ REST API ke konfiguraci zásad pro replikaci značek nastavených na objekty blob.
Při vytváření nebo aktualizaci pravidel replikace ve zdrojovém účtu přidejte následující řádek “tagsReplication”: { “enabled”: true } .
Replikace značek je podporována v rozhraní API verze 2022-05-01 a vyšší. Do zásad replikace můžete přidat nové pole tagsReplication.
Ukázka:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"tagsReplication":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Povolení metrik replikace
Metriky replikace můžete povolit u nových i stávajících zásad replikace objektů. Než začnete sledovat metriky, může to trvat několik minut.
Metriky můžete povolit pomocí panelu Replikace objektů z nového sloupce Metriky nebo úpravou sekce Upravit pravidla zásad z kontextové nabídky "..." na řádku zásad OR.
Aktivace metrik je podporována pro API verze 2021-08-01 a vyšší. Do zásad replikace můžete přidat nové pole metrik. Ukázka:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"metrics":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Pokud povolíte metriky pro zásadu, která je nakonfigurovaná pro kopírování přes existující data, můžete na začátku sledovat rostoucí množství, zatímco zásada pracuje na počáteční fázi výpisu. Po dokončení se replikace spustí.
Zobrazení metrik replikace
Kliknutím na odkaz Zobrazit ze sloupce Metriky můžete zobrazit metriky monitorování.
Pokud chcete metriky zobrazit v Azure Monitoru, klikněte na graf metriky. To vás přesměruje na Azure Monitor Metriky s více možnostmi filtrování.
Zkontrolujte stav replikace objektu blob
Stav replikace objektu blob ve zdrojovém účtu můžete zkontrolovat pomocí Azure portal, PowerShellu nebo Azure CLI. Vlastnosti replikace objektů se nenaplní, dokud se replikace nedokončí nebo se nezdaří.
Pokud chcete zkontrolovat stav replikace objektu blob ve zdrojovém účtu v Azure portal, postupujte takto:
- V Azure portal přejděte ke zdrojovému účtu.
- Vyhledejte kontejner, který obsahuje zdrojový blob.
- Výběrem objektu blob zobrazte jeho vlastnosti. Pokud se objekt blob úspěšně replikoval, uvidíte v části Replikace objektu stav Dokončeno. Zobrazí se také ID zásady replikace a ID pravidla, které řídí replikaci objektů pro tento kontejner.
Pokud chcete zkontrolovat stav replikace pro objekt blob ve zdrojovém účtu pomocí PowerShellu, získejte hodnotu vlastnosti replikace objektu ReplicationStatus, jak je znázorněno v následujícím příkladu. Nezapomeňte nahradit hodnoty v úhlových závorkách vlastními hodnotami:
$ctxSrc = (Get-AzStorageAccount -ResourceGroupName $rgName `
-StorageAccountName $srcAccountName).Context
$blobSrc = Get-AzStorageBlob -Container $srcContainerName1 `
-Context $ctxSrc `
-Blob <blob-name>
$blobSrc.BlobProperties.ObjectReplicationSourceProperties[0].Rules[0].ReplicationStatus
Pokud chcete zkontrolovat stav replikace objektu blob ve zdrojovém účtu pomocí Azure CLI, získejte hodnotu vlastnosti replikace objektu status, jak je znázorněno v následujícím příkladu:
az storage blob show \
--account-name <source-account-name> \
--container-name <source-container-name> \
--name <source-blob-name> \
--query 'objectReplicationSourceProperties[].rules[].status' \
--output tsv \
--auth-mode login
Pokud stav replikace objektu blob ve zdrojovém účtu značí selhání, prozkoumejte následující možné příčiny:
- Ujistěte se, že je v cílovém účtu nakonfigurovaná zásada replikace objektů.
- Ověřte, že cílový kontejner stále existuje.
- Pokud byl zdrojový objekt blob zašifrován pomocí klíče poskytnutého zákazníkem v rámci operace zápisu, replikace objektů selže. Další informace o klíčích poskytovaných zákazníkem najdete v tématu Poskytnutí šifrovacího klíče při požadavku na úložiště Blob.
Odeberte zásadu replikace
Pokud chcete odebrat zásady replikace a související pravidla, použijte Azure portal, PowerShell nebo rozhraní příkazového řádku.
Pokud chcete odebrat zásady replikace v Azure portal, postupujte takto:
- Na portálu Azure přejděte ke zdrojovému účtu úložiště.
- V části Nastavení vyberte Replikace objektů.
- Vyberte tlačítko Další vedle názvu zásady.
- Vyberte Odstranit pravidla.
Pokud chcete odebrat zásady replikace, odstraňte zásadu ze zdrojového i cílového účtu. Odstraněním zásady se odstraní také všechna pravidla, která jsou k ní přidružená.
# 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
Pokud chcete odebrat zásady replikace, odstraňte zásadu ze zdrojového i cílového účtu. Odstraněním zásady se odstraní také všechna pravidla, která jsou k ní přidružená.
az storage account or-policy delete \
--policy-id <policy-id> \
--account-name <source-storage-account> \
--resource-group <resource-group>
az storage account or-policy delete \
--policy-id <policy-id> \
--account-name <dest-storage-account> \
--resource-group <resource-group>
Chování při opětovném vytvoření zásady replikace objektů
Když dojde k odstranění a opětovnému vytvoření zásady replikace objektu ve stejné dvojici zdrojového a cílového kontejneru, Azure považuje nové zásady za zcela samostatný vztah replikace. Platí následující chování:
Pro znovu vytvořenou zásadu se vygeneruje nové ID zásady.
Všechny úlohy replikace přidružené k předchozím zásadám se ukončí.
Cílovému kontejneru je přiřazen nový zámek replikace svázaný s novým ID politiky.
Stav replikace z předchozí zásady se znovu nepoužívá.
Chování replikace po opětovném vytvoření zásady replikace objektů
Po opětovném vytvoření zásady se Azure pokusí znovu provést replikaci pro oprávněné objekty blob a výsledek závisí na dostupnosti historie verzí objektů blob na zdrojovém účtu:
Pokud zdrojový objekt blob nemá v cílovém umístění k dispozici žádné předchozí verze: Azure určuje, že objekt blob se už zkopíroval podle předchozí zásady. Opětovná replikace tohoto objektu blob není úspěšná. Úspěšně se replikují pouze nové zápisy blobů (nebo nové verze vytvořené po opětovném vytvoření politiky).
Pokud má zdrojový objekt blob předchozí verze dostupné v cílovém umístění: Azure dokáže objekt blob znovu replikovat. Objekt blob se znovu zkopíruje do cíle jako nová verze. To umožňuje úspěšnou opětovnou replikaci existujících blobů bez nesrovnalosti dat.
Další kroky