Replikacja obiektów asynchronicznie kopiuje bloby blokowe między kontem źródłowym magazynu a kontem docelowym. Podczas konfigurowania replikacji obiektów należy utworzyć zasady replikacji, które określają konto pamięci masowej źródłowe i konto docelowe. Zasady replikacji obejmują co najmniej jedną regułę określającą kontener źródłowy i docelowy kontener oraz wskazują, które blokowe obiekty blob w kontenerze źródłowym zostaną zreplikowane. Aby uzyskać więcej informacji na temat replikacji obiektów, zobacz Replikacja obiektów blob blokowych.
W tym artykule opisano sposób konfigurowania zasad replikacji obiektów przy użyciu Azure portal, programu PowerShell lub Azure CLI. Do skonfigurowania replikacji obiektów można również użyć jednej z bibliotek klienta dostawcy zasobów Azure Storage.
Wymagania wstępne
Przed skonfigurowaniem replikacji obiektów utwórz konta magazynowe źródłowe i docelowe, jeśli jeszcze nie istnieją. Konta źródłowe i docelowe mogą być kontami magazynu ogólnego przeznaczenia w wersji 2 lub kontami bloków blob w wersji premium. Aby uzyskać więcej informacji, zobacz Tworzenie konta Azure Storage.
Replikacja obiektów wymaga włączenia wersjonowania obiektów blob zarówno na koncie źródłowym, jak i docelowym, a także włączenia źródła zmian obiektu blob dla konta źródłowego. Aby dowiedzieć się więcej na temat przechowywania wersji obiektów blob, zobacz Przechowywanie wersji obiektów blob. Aby dowiedzieć się więcej na temat kanału informacyjnego, zobacz Obsługę kanału informacyjnego zmian w Azure Blob Storage. Należy pamiętać, że włączenie tych funkcji może spowodować dodatkowe koszty. Włączenie wymagań wstępnych replikacji obiektów (wersjonowania obiektów blob i kanału informacyjnego zmian) wymaga uprawnienia Microsoft.Storage/storageAccounts/blobServices/write. Aby dowiedzieć się więcej o uprawnieniach, zobacz uprawnienia platformy Azure dla usługi Storage. Po utworzeniu polityki replikacji obiektów oczekuje się operacji replikacji danych od źródła do miejsca docelowego. Udzielenie tego pozwolenia należy zatem rozumieć jako również pozwolenie na kopiowanie danych między kontem źródłowym a docelowym.
Aby skonfigurować zasady replikacji obiektów dla konta magazynowego, musisz mieć przypisaną rolę Contributor w Azure Resource Manager, obejmującą poziom konta magazynowego lub wyższy. Aby uzyskać więcej informacji, zobacz wbudowane role Azure w dokumentacji kontroli dostępu opartej na rolach w Azure (Azure RBAC).
Replikacja obiektów nie jest jeszcze obsługiwana na kontach z włączoną hierarchiczną przestrzenią nazw.
Jeśli masz dostęp zarówno do kont źródłowych, jak i docelowych w zakresie przechowywania, możesz skonfigurować zasady replikacji obiektów na obu kontach. W poniższych przykładach pokazano, jak skonfigurować replikację obiektów przy użyciu Azure portal, programu PowerShell lub Azure CLI.
Podczas konfigurowania replikacji obiektów w Azure portal należy skonfigurować zasady tylko na koncie źródłowym. Azure portal automatycznie tworzy zasady na koncie docelowym po skonfigurowaniu go dla konta źródłowego.
Aby utworzyć zasady replikacji w Azure portal, wykonaj następujące kroki:
Przejdź do konta źródłowego magazynowania w portalu Azure.
W obszarze Data management wybierz Object replication.
Wybierz pozycję Utwórz reguły replikacji.
Wybierz subskrypcję docelową i konto storage.
W sekcji Szczegóły pary kontenerów wybierz kontener źródłowy z konta źródłowego i kontener docelowy z konta docelowego. W portalu Azure można utworzyć maksymalnie 10 par kontenerów dla każdej zasady replikacji. Aby skonfigurować więcej niż 10 par kontenerów (do 1000), zobacz Konfigurowanie replikacji obiektów przy użyciu pliku JSON.
Na poniższej ilustracji przedstawiono zestaw reguł replikacji.
Możesz, jeśli chcesz, określić co najmniej jeden filtr, aby skopiować tylko te obiekty blob, które są zgodne ze wzorcem prefiksu. Jeśli na przykład określisz prefiks b, replikowane są tylko obiekty blob, których nazwa zaczyna się od tej litery. Katalog wirtualny można określić jako część prefiksu. Można dodać maksymalnie pięć dopasowań prefiksów. Ciąg prefiksu nie obsługuje symboli wieloznacznych.
Na poniższej ilustracji przedstawiono filtry, które ograniczają, które obiekty blob są kopiowane w ramach reguły replikacji.
Domyślnie zakres kopiowania jest ustawiany na kopiowanie tylko nowych obiektów. Aby skopiować wszystkie obiekty w kontenerze lub skopiować obiekty rozpoczynające się od niestandardowej daty i godziny, wybierz link zmiany i skonfiguruj zakres kopiowania dla pary kontenerów.
Na poniższym obrazie przedstawiono niestandardowy zakres kopiowania, który kopiuje obiekty począwszy od określonej daty i godziny.
Wybierz pozycję Zapisz i zastosuj , aby utworzyć zasady replikacji i rozpocząć replikowanie danych.
Po skonfigurowaniu replikacji obiektów Azure portal wyświetla zasady i reguły replikacji, jak pokazano na poniższej ilustracji.
Aby utworzyć zasady replikacji przy użyciu programu PowerShell, najpierw zainstaluj wersję 2.5.0 lub nowszą wersję modułu Az.Storage programu PowerShell. Aby uzyskać więcej informacji na temat instalowania Azure PowerShell, zobacz Install Azure PowerShell with PowerShellGet (Instalowanie Azure PowerShell za pomocą modułu PowerShellGet.
W poniższym przykładzie pokazano, jak najpierw utworzyć zasady replikacji na koncie docelowym, a następnie na koncie źródłowym. Pamiętaj, aby zastąpić wartości w nawiasach kątowych własnymi wartościami:
# 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
Aby utworzyć zasady replikacji przy użyciu Azure CLI, najpierw zainstaluj Azure CLI w wersji 2.11.1 lub nowszej. Aby uzyskać więcej informacji, zobacz Rozpocznij pracę z Azure CLI.
Następnie włącz wersjonowanie obiektów blob na kontach przechowywania źródłowych i docelowych oraz włącz kanał zmian na koncie źródłowym, wywołując polecenie az storage account blob-service-properties update. Pamiętaj, aby zastąpić wartości w nawiasach kątowych własnymi wartościami:
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
Utwórz kontenery źródłowe i docelowe na odpowiednich kontach 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
Utwórz nową politykę replikacji i powiązaną regułę na koncie docelowym, wywołując 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 ustawia identyfikator zasad dla nowych zasad podczas tworzenia. Aby dodać dodatkowe reguły do polityki, wywołaj az storage account or-policy rule add i podaj identyfikator polityki.
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
Następnie utwórz zasady na koncie źródłowym przy użyciu identyfikatora zasad.
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 "@-"
Jeśli nie masz uprawnień do konta źródłowego magazynu danych lub jeśli chcesz użyć więcej niż 10 par kontenerów, możesz skonfigurować replikację obiektów na koncie docelowym i przekazać plik JSON zawierający definicję polityki innemu użytkownikowi, aby stworzył tę samą politykę na koncie źródłowym. Jeśli na przykład konto źródłowe znajduje się w innej dzierżawie Microsoft Entra niż konto docelowe, możesz użyć tej metody do skonfigurowania replikacji obiektów.
Aby uzyskać informacje na temat tworzenia pliku JSON zawierającego definicję zasad, zobacz Plik definicji zasad.
Uwaga
Replikacja obiektów między dzierżawami jest domyślnie dozwolona dla konta storage. Aby zapobiec replikacji między dzierżawami, można ustawić właściwość AllowCrossTenantReplication, aby uniemożliwić replikację obiektów między dzierżawami dla kont przechowywania danych. Aby uzyskać więcej informacji, zapoznaj się z Zapobieganie replikacji obiektów w dzierżawach Microsoft Entra.
W przykładach w tej sekcji pokazano, jak skonfigurować zasady replikacji obiektów na koncie docelowym, a następnie pobrać plik JSON dla tych zasad, których inny użytkownik może użyć do skonfigurowania zasad na koncie źródłowym.
Aby skonfigurować replikację obiektów na koncie docelowym przy użyciu pliku JSON w Azure portal, wykonaj następujące kroki:
Utwórz lokalny plik JSON, który definiuje zasady replikacji na koncie docelowym. Ustaw pole policyId na wartość default, aby Azure Storage zdefiniował identyfikator polityki.
Łatwym sposobem utworzenia pliku JSON definiującego zasady replikacji jest najpierw utworzenie zasad replikacji testowej między dwoma kontami storage w Azure portal. Następnie możesz pobrać reguły replikacji i zmodyfikować plik JSON zgodnie z potrzebami.
Przejdź do ustawień replikacji obiektów dla konta docelowego w Azure Portal.
Wybierz pozycję Przekaż reguły replikacji.
Przekaż plik JSON. Azure portal wyświetla zasady i reguły, które zostaną utworzone, jak pokazano na poniższej ilustracji.
Wybierz pozycję Przekaż , aby utworzyć zasady replikacji na koncie docelowym.
Następnie możesz pobrać plik JSON zawierający definicję zasad, którą można podać innemu użytkownikowi w celu skonfigurowania konta źródłowego. Aby pobrać ten plik JSON, wykonaj następujące kroki:
Przejdź do ustawień replikacji obiektów dla konta docelowego w Azure Portal.
Wybierz przycisk Więcej obok zasad, które chcesz pobrać, a następnie wybierz pozycję Reguły pobierania, jak pokazano na poniższej ilustracji.
Zapisz plik JSON na komputerze lokalnym, aby udostępnić go innemu użytkownikowi, aby skonfigurować zasady na koncie źródłowym.
Pobrany plik JSON zawiera identyfikator zasad, który został utworzony przez Azure Storage dla polityki na koncie docelowym. Aby skonfigurować replikację obiektów na koncie źródłowym, należy użyć tego samego identyfikatora zasad.
Należy pamiętać, że przekazywanie pliku JSON w celu utworzenia zasad replikacji dla konta docelowego za pośrednictwem Azure portal nie powoduje automatycznego utworzenia tych samych zasad na koncie źródłowym. Inny użytkownik musi utworzyć zasady na koncie źródłowym, zanim Azure Storage rozpocznie replikowanie obiektów.
Aby pobrać plik JSON zawierający definicję zasad replikacji dla konta docelowego z programu PowerShell, wywołaj polecenie Get-AzStorageObjectReplicationPolicy, aby zwrócić zasady. Następnie przekonwertuj zasady na format JSON i zapisz je jako plik lokalny, jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić wartości w nawiasach kątowych i ścieżkę pliku własnymi wartościami:
$rgName = "<resource-group>"
$destAccountName = "<destination-storage-account>"
$destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
$destPolicy | ConvertTo-Json -Depth 5 > c:\temp\json.txt
Aby użyć pliku JSON do zdefiniowania zasad replikacji na koncie źródłowym za pomocą programu PowerShell, pobierz plik lokalny i przekonwertuj z formatu JSON na obiekt. Następnie wywołaj polecenie Set-AzStorageObjectReplicationPolicy w celu skonfigurowania zasad na koncie źródłowym, jak pokazano w poniższym przykładzie.
Podczas uruchamiania przykładu upewnij się, że parametr został ustawiony -ResourceGroupName na grupę zasobów dla konta źródłowego, a -StorageAccountName parametr na nazwę konta źródłowego. Pamiętaj również, aby zastąpić wartości w nawiasach kątowych i ścieżkę pliku własnymi wartościami:
$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
Aby zapisać definicję zasad replikacji dla konta docelowego do pliku JSON z Azure CLI, wywołaj az storage account or-policy show polecenie i dane wyjściowe do pliku.
Poniższy przykład zapisuje definicję zasad w pliku JSON o nazwie policy.json. Pamiętaj, aby zastąpić wartości w nawiasach kątowych i ścieżkę pliku własnymi wartościami:
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Aby użyć pliku JSON do skonfigurowania zasad replikacji na koncie źródłowym za pomocą Azure CLI, wywołaj plik az storage account or-policy create i odwołaj się do pliku policy.json. Pamiętaj, aby zastąpić wartości w nawiasach kątowych i ścieżkę pliku własnymi wartościami:
az storage account or-policy create \
-resource-group <resource-group> \
--source-account <source-account-name> \
--policy @policy.json
Replikacja obiektów teraz obsługuje kopiowanie tagów indeksu z obiektów blob w źródle do obiektów blob w miejscu docelowym. Tę funkcję można skonfigurować w ramach nowej lub istniejącej reguły replikacji.
Wymagania wstępne
Aby włączyć replikację tagów, konto źródłowe usługi storage musi być zarejestrowane dla funkcji EnableObjectReplicationTags w wersji próbnej. Zarejestruj funkcję w trybie zapoznawczym w portalu Azure, wykonując kroki opisane w dokumentacji funkcji w wersji zapoznawczej w Azure Resource Manager.
Replikację tagów można włączyć zarówno w nowych, jak i istniejących zasadach replikacji obiektów. Każda zmiana źródłowego obiektu blob lub tagów indeksujących spowoduje replikację tagów.
Włącz replikację tagów z sekcji Replikacja obiektów przy tworzeniu reguły lub aktualizacji istniejących reguł, używając kolumny Replikacja tagów.
Aby skonfigurować replikowanie tagów indeksu obiektów blob podczas tworzenia nowej reguły, wykonaj następujące kroki:
- Przejdź do konta źródłowego magazynowania w portalu Azure.
- W obszarze Data management wybierz Object replication.
- Wybierz pozycję Utwórz reguły replikacji.
- Wybierz pozycję Włącz replikację tagów , a na koniec wybierz pozycję Zapisz i zastosuj , aby skonfigurować replikowanie tagów indeksu obiektów blob.
Aby skonfigurować replikowanie tagów indeksu blobów dla istniejących reguł, wykonaj następujące kroki:
- Przejdź do zakładki Twoje konto na stronie replikowania obiektów
- Wybierz opcję Włącz w kolumnie Replikacja tagów w obszarze Obiekty skopiowane z tej tabeli kont i wybierz przycisk OK.
- Stan kolumny replikacji tagów względem reguły zawiera teraz wartość Włączone.
Aby wyłączyć replikowanie tagów indeksów blobów dla istniejących reguł, wykonaj następujące kroki:
- Przejdź do zakładki Twoje konto na stronie replikowania obiektów
- Wybierz istniejącą regułę i wybierz pozycję Edytuj reguły z menu '...'.
- Usuń zaznaczenie opcji Włącz replikację tagów , a na koniec wybierz pozycję Zapisz i zastosuj , aby wyłączyć replikowanie tagów indeksu obiektów blob.
Aby uzyskać więcej informacji na temat instalowania Azure PowerShell, zobacz Install Azure PowerShell with PowerShellGet (Instalowanie Azure PowerShell za pomocą modułu PowerShellGet.
Włącz replikację tagów na nowej polityce: Poniższy przykład pokazuje, jak utworzyć politykę replikacji z włączoną replikacją tagów blob index, najpierw na koncie docelowym, a następnie na koncie źródłowym. Pamiętaj, aby zastąpić wartości w nawiasach kątnych swoimi własnymi wartościami.
# 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
Włącz replikację tagów na istniejącej polityce Poniższy przykład pokazuje, jak włączyć replikację tagów na już istniejącej polityce. Pobiera politykę z konta docelowego, ponownie ją stosuje z włączoną replikacją tagów, a następnie stosuje zaktualizowaną politykę na koncie źródłowym.
# 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
Sprawdź, czy replikacja tagów jest włączona
Poniższy przykład zwraca status replikacji tagów polityki. Właściwość Enabled zwraca True, gdy replikacja tagów jest włączona.
# 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
Wyłącz replikację tagów
Poniższy przykład pokazuje, jak wyłączyć replikację tagów w istniejącej polityce poprzez ponowne zastosowanie jej za 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
Więcej informacji można znaleźć w dokumentacji CLI
Włącz replikację tagów w nowej polityce: Dodaj parametr --tags-replication true podczas tworzenia polityki na koncie docelowym, a następnie skopiuj definicję polityki do konta źródłowego.
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 "@-"
Włącz replikację tagów na istniejącej polityce: Użyj wspólnego identyfikatora polityki, aby zaktualizować flagę na obu kontach.
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
Sprawdź, czy replikacja tagów jest włączona: Odpytaj właściwość tagsReplication.enabled na każdym koncie. Wartość zwrotna true potwierdza, że jest włączona.
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
Wyłącz replikację tagów: Ustaw --tags-replication false zarówno na koncie źródłowym, jak i docelowym, używając wspólnego identyfikatora polityki.
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żytkownicy mogą używać istniejących interfejsów API REST: zasady replikacji obiektów — tworzenie lub aktualizowanie — interfejs API REST do konfigurowania zasad replikowania tagów ustawionych na obiektach blob.
Dodaj następujący wiersz “tagsReplication”: { “enabled”: true } podczas tworzenia lub aktualizowania reguł replikacji na koncie źródłowym.
Replikacja tagów jest obsługiwana w interfejsie API w wersji 2022-05-01 lub nowszej. Nowe pole tagsReplication można dodać do zasad replikacji.
Przykład:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"tagsReplication":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Włączanie metryk replikacji
Metryki replikacji można włączyć zarówno dla nowych, jak i istniejących zasad replikacji obiektów. Obserwowanie metryk może potrwać kilka minut.
Metryki można włączyć przy użyciu bloku Replikacja obiektów z nowej kolumny Metryki lub edytując sekcję Edytowanie reguł zasad z "..." w wierszu zasad OR.
Włączanie metryk jest obsługiwane w interfejsie API w wersji 2021-08-01 lub nowszej. Nowe pole metryk można dodać do zasad replikacji. Przykład:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"metrics":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Jeśli włączysz metryki dla zasad skonfigurowanych do kopiowania istniejących danych, możesz obserwować rosnącą ilość na początku, gdy zasady działają w początkowej fazie wyświetlania listy. Po zakończeniu tego procesu rozpocznie się replikacja.
Wyświetlanie metryk replikacji
Możesz kliknąć link Wyświetl z kolumny Metryki, aby wyświetlić metryki monitorowania
Aby wyświetlić metryki w usłudze Azure Monitor, kliknij na wykres metryki. Spowoduje to przekierowanie do widoku monitora metryk Azure z większą ilością funkcji filtrowania.
Sprawdzanie stanu replikacji obiektu blob
Stan replikacji obiektu blob można sprawdzić na koncie źródłowym przy użyciu Azure portal, programu PowerShell lub Azure CLI. Właściwości replikacji obiektów nie zostają przypisane, dopóki replikacja nie zostanie pomyślnie ukończona lub nie zakończy się niepowodzeniem.
Aby sprawdzić stan replikacji bloba na koncie źródłowym w portalu Azure, wykonaj następujące kroki:
- Przejdź do konta źródłowego w Azure portal.
- Znajdź kontener zawierający źródłowy obiekt blob.
- Wybierz obiekt blob, aby wyświetlić jego właściwości. Jeśli obiekt blob został pomyślnie zreplikowany, zobaczysz w sekcji Replikacja obiektu , że stan jest ustawiony na Ukończono. Identyfikator zasad replikacji i identyfikator reguły zarządzającej replikacją obiektów dla tego kontenera są również wymienione.
Aby sprawdzić stan replikacji obiektu blob na koncie źródłowym za pomocą programu PowerShell, pobierz wartość właściwości ReplicationStatus replikacji obiektu, jak pokazano w poniższym przykładzie. Pamiętaj, aby zastąpić wartości w nawiasach kątowych własnymi wartościami:
$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
Aby sprawdzić stan replikacji obiektu blob na koncie źródłowym przy użyciu Azure CLI, pobierz wartość właściwości status replikacji obiektu, jak pokazano w poniższym przykładzie:
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
Jeśli stan replikacji bloba na koncie źródłowym wskazuje błąd, rozważ następujące możliwe przyczyny:
- Upewnij się, że zasady replikacji obiektów są skonfigurowane na koncie docelowym.
- Sprawdź, czy kontener docelowy nadal istnieje.
- Jeśli źródłowy obiekt blob został zaszyfrowany przy użyciu klucza dostarczonego przez klienta w ramach operacji zapisu, replikacja obiektu zakończy się niepowodzeniem. Aby uzyskać więcej informacji na temat kluczy dostarczonych przez klienta, zobacz Podaj klucz szyfrowania na żądanie Blob storage.
Usuwanie zasad replikacji
Aby usunąć zasady replikacji i skojarzone z nią reguły, użyj Azure portal, programu PowerShell lub interfejsu wiersza polecenia.
Aby usunąć zasady replikacji w Azure portal, wykonaj następujące kroki:
- Przejdź do konta źródłowego magazynowania w portalu Azure.
- W obszarze Ustawienia wybierz pozycję Replikacja obiektów.
- Wybierz przycisk Więcej obok nazwy zasad.
- Wybierz pozycję Usuń reguły.
Aby usunąć zasady replikacji, usuń zasady zarówno z konta źródłowego, jak i z konta docelowego. Usunięcie zasad powoduje również usunięcie wszystkich skojarzonych z nim reguł.
# 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
Aby usunąć zasady replikacji, usuń zasady zarówno z konta źródłowego, jak i z konta docelowego. Usunięcie zasad powoduje również usunięcie wszystkich skojarzonych z nim reguł.
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>
Zachowanie podczas ponownego tworzenia zasad replikacji obiektów
Gdy zasady replikacji obiektów zostaną usunięte i ponownie utworzone na tej samej parze źródłowej i docelowej kontenera, Azure traktuje nowe zasady jako całkowicie oddzielną relację replikacji. Ma zastosowanie następujące zachowanie:
Nowy identyfikator zasad jest generowany dla ponownie utworzonych zasad.
Wszystkie zadania replikacji skojarzone z poprzednimi zasadami zostaną zakończone.
Kontener docelowy ma przypisaną nową blokadę replikacji powiązaną z nowym identyfikatorem zasad.
Stan replikacji z poprzedniej polityki nie jest ponownie używany.
Zachowanie replikacji po ponownym utworzeniu zasad replikacji obiektów
Po ponownym utworzeniu zasad Azure próbuje ponownie przeprowadzić replikację dla kwalifikujących się obiektów blob, a wynik zależy od dostępności historii wersji obiektu blob na koncie źródłowym:
Jeśli źródłowy obiekt blob nie ma wcześniejszych wersji dostępnych w lokalizacji docelowej: Azure określa, że obiekt blob został już skopiowany w ramach poprzednich zasad. Ponowna replikacja tego blobu nie udaje się. Tylko nowe zapisy obiektów typu blob (lub nowe wersje utworzone po ponownym utworzeniu zasad) będą replikowane z powodzeniem.
Jeśli źródłowy obiekt blob ma poprzednie wersje dostępne w lokalizacji docelowej: Azure może ponownie replikować obiekt blob. Obiekt blob zostanie ponownie skopiowany do miejsca docelowego jako nowa wersja. Umożliwia to pomyślną ponowną replikację istniejących blobów bez niespójności danych.
Następne kroki