Objektreplikering kopierar asynkront blockblobbar mellan ett lagringskonto som källa och ett målkonto. När du konfigurerar objektreplikering skapar du en replikeringsprincip som anger lagringskontot för källan och målkontot. En replikeringsprincip innehåller en eller flera regler som anger en källcontainer och en målcontainer och anger vilka blockblobar i källcontainern som ska replikeras. Mer information om objektreplikering finns i Objektreplikering för blockblobar.
I den här artikeln beskrivs hur du konfigurerar en princip för objektreplikering med hjälp av Azure portal, PowerShell eller Azure CLI. Du kan också använda ett av Azure Storage resursproviderns klientbibliotek för att konfigurera objektreplikering.
Förutsättningar
Innan du konfigurerar objektreplikering, skapa käll- och mållagringskontona om de inte redan finns. Käll- och målkontona kan vara antingen lagringskonton för generell användning v2 eller premium-blockblobkonton. Mer information finns i Skapa ett Azure Storage konto.
Objektreplikering kräver att blobversionshantering är aktiverat för både käll- och målkontot och att blobändringsflödet är aktiverat för källkontot. Mer information om versionshantering av blobar finns i Blob-versionshantering. Mer information om ändringsfeed finns i Change feed support in Azure Blob Storage. Tänk på att aktivering av dessa funktioner kan leda till extra kostnader. Att aktivera Object Replication-förutsättningar (blobversionering och ändringsflöde) kräver behörigheten Microsoft.Storage/storageAccounts/blobServices/write . För att lära dig mer om behörigheter, se Azure-behörigheter för lagring. När en objektreplikeringspolicy har skapats förväntas datareplikeringsoperationer från källa till destination. Att bevilja denna behörighet bör därför förstås som att även ge tillstånd att kopiera data mellan käll- och destinationskontot.
Om du vill konfigurera en objektreplikeringsprincip för ett storage konto måste du tilldelas rollen Azure Resource Manager Contributor, som är begränsad till nivån för storage-kontot eller högre. Mer information finns i avsnittet Azure inbyggda roller i dokumentationen för Azure rollbaserad åtkomstkontroll (Azure RBAC).
Objektreplikering stöds ännu inte i konton som har ett hierarkiskt namnområde aktiverat.
Om du har åtkomst till både käll- och mållagringskontona kan du då konfigurera policyn för objektreplikering på båda kontona. I följande exempel visas hur du konfigurerar objektreplikering med Azure portal, PowerShell eller Azure CLI.
När du konfigurerar objektreplikering i Azure portal behöver du bara konfigurera principen för källkontot. Azure-portalen skapar automatiskt policyn för målkontot när du har konfigurerat den för källkontot.
Följ dessa steg för att skapa en replikeringsprincip i Azure portal:
Gå till källagringskontot i Azure-portalen.
Under Data management väljer du Objektsreplikering.
Välj Skapa replikeringsregler.
Välj målprenumeration och lagringskonto.
I avsnittet Information om containerpar väljer du en källcontainer från källkontot och en målcontainer från målkontot. Du kan skapa upp till 10 containerpar per replikeringsprincip från Azure portal. Information om hur du konfigurerar fler än 10 containerpar (upp till 1 000) finns i Konfigurera objektreplikering med en JSON-fil.
Följande bild visar en uppsättning replikeringsregler.
Om du vill kan du ange ett eller flera filter för att endast kopiera blobar som matchar ett prefixmönster. Om du till exempel anger ett prefix breplikeras endast blobbar vars namn börjar med bokstaven. Du kan ange en virtuell katalog som en del av prefixet. Du kan lägga till högst fem prefixmatchningar. Prefixsträngen stöder inte jokertecken.
Följande bild visar filter som begränsar vilka blobar som kopieras som en del av en replikeringsregel.
Som standard är kopieringsomfånget inställt på att endast kopiera nya objekt. Om du vill kopiera alla objekt i containern eller kopiera objekt från ett anpassat datum och en anpassad tid väljer du ändringslänken och konfigurerar kopieringsomfånget för containerparet.
Följande bild visar ett anpassat kopieringsomfång som kopierar objekt från ett angivet datum och en angiven tid och framåt.
Välj Spara och tillämpa för att skapa replikeringsprincipen och börja replikera data.
När du har konfigurerat objektreplikering visar Azure portal replikeringsprincipen och reglerna enligt följande bild.
Om du vill skapa en replikeringsprincip med PowerShell installerar du först version 2.5.0 eller senare av Modulen Az.Storage PowerShell. Mer information om hur du installerar Azure PowerShell finns i Installera Azure PowerShell med PowerShellGet.
I följande exempel visas hur du skapar en replikeringsprincip först på målkontot och sedan på källkontot. Kom ihåg att ersätta värden inom vinkelparenteser med dina egna värden:
# 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
Om du vill skapa en replikeringsprincip med Azure CLI installerar du först Azure CLI version 2.11.1 eller senare. Mer information finns i Get started med Azure CLI.
Aktivera sedan blobversionering på lagringskontona för källa och destination, och aktivera ändringsflöde för källkontot genom att anropa kommandot az storage account blob-service-properties update. Kom ihåg att ersätta värden inom vinkelparenteser med dina egna värden:
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
Skapa käll- och målcontainrarna i sina respektive lagringskonton.
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
Skapa en ny replikeringsprincip och en associerad regel för målkontot genom att anropa 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 anger princip-ID för den nya principen när den skapas. Om du vill lägga till ytterligare regler i policyn anropar du az storage account or-policy rule add och anger en policy-ID.
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
Skapa sedan principen för källkontot med hjälp av princip-ID:t.
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 "@-"
Om du inte har behörighet till källkontot storage eller om du vill använda fler än 10 containerpar kan du konfigurera objektreplikering på målkontot och ange en JSON-fil som innehåller principdefinitionen till en annan användare för att skapa samma princip för källkontot. Om källkontot till exempel finns i en annan Microsoft Entra-klient från målkontot kan du använda den här metoden för att konfigurera objektreplikering.
Information om hur du skapar en JSON-fil som innehåller principdefinitionen finns i Principdefinitionsfil.
Anmärkning
Replikering av objekt över klientorganisationer tillåts som standard för ett lagringskonto. För att förhindra replikering mellan klienter kan du ange egenskapen AllowCrossTenantReplication så att objektreplikering mellan klientorganisationer inte tillåts för dina storage konton. Mer information finns i Förhindra objektreplikering mellan Microsoft Entra-klienter.
Exemplen i det här avsnittet visar hur du konfigurerar principen för objektreplikering på målkontot och sedan hämtar JSON-filen för den principen som en annan användare kan använda för att konfigurera principen för källkontot.
Så här konfigurerar du objektreplikering på målkontot med en JSON-fil i Azure portal:
Skapa en lokal JSON-fil som definierar replikeringsprincipen för målkontot. Ange fältet policyId till default så att Azure Storage definierar princip-ID:t.
Ett enkelt sätt att skapa en JSON-fil som definierar en replikeringsprincip är att först skapa en testreplikeringsprincip mellan två storage konton i Azure portal. Du kan sedan ladda ned replikeringsreglerna och ändra JSON-filen efter behov.
Gå till inställningarna Object replication för målkontot i Azure portal.
Välj Ladda upp replikeringsregler.
Ladda upp JSON-filen. I Azure portal visas den princip och de regler som ska skapas, enligt följande bild.
Välj Ladda upp för att skapa replikeringsprincipen för målkontot.
Du kan sedan ladda ned en JSON-fil som innehåller den principdefinition som du kan ange för en annan användare för att konfigurera källkontot. Följ dessa steg för att ladda ned den här JSON-filen:
Gå till inställningarna Object replication för målkontot i Azure portal.
Välj knappen Mer bredvid den princip som du vill ladda ned och välj sedan Ladda ned regler enligt följande bild.
Spara JSON-filen på den lokala datorn för att dela med en annan användare för att konfigurera principen för källkontot.
Den nedladdade JSON-filen innehåller det princip-ID som Azure Storage skapat för principen för målkontot. Du måste använda samma princip-ID för att konfigurera objektreplikering på källkontot.
Tänk på att uppladdning av en JSON-fil för att skapa en replikeringsprincip för målkontot via Azure portal inte automatiskt skapar samma princip i källkontot. En annan användare måste skapa principen för källkontot innan Azure Storage börjar replikera objekt.
Om du vill ladda ned en JSON-fil som innehåller replikeringsprincipens definition för målkontot från PowerShell anropar du kommandot Get-AzStorageObjectReplicationPolicy för att returnera principen. Konvertera sedan principen till JSON och spara den som en lokal fil, som du ser i följande exempel. Kom ihåg att ersätta värden inom vinkelparenteser och filsökvägen med dina egna värden:
$rgName = "<resource-group>"
$destAccountName = "<destination-storage-account>"
$destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
$destPolicy | ConvertTo-Json -Depth 5 > c:\temp\json.txt
Om du vill använda JSON-filen för att definiera replikeringsprincipen för källkontot med PowerShell hämtar du den lokala filen och konverterar från JSON till ett objekt. Anropa sedan kommandot Set-AzStorageObjectReplicationPolicy för att konfigurera principen för källkontot, enligt följande exempel.
När du kör exemplet måste du ange parametern -ResourceGroupName till resursgruppen för källkontot och parametern -StorageAccountName till namnet på källkontot. Kom också ihåg att ersätta värden i vinkelparenteser och filsökvägen med dina egna värden:
$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
Om du vill skriva definitionen av replikeringsprincipen för målkontot till en JSON-fil från Azure CLI, använder du kommandot az storage account or-policy show för att skriva utdata till en fil.
I följande exempel skrivs principdefinitionen till en JSON-fil med namnet policy.json. Kom ihåg att ersätta värden inom vinkelparenteser och filsökvägen med dina egna värden:
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Om du vill använda JSON-filen för att konfigurera replikeringsprincipen för källkontot med Azure CLI anropar du kommandot az storage account or-policy create och refererar till filen policy.json. Kom ihåg att ersätta värden inom vinkelparenteser och filsökvägen med dina egna värden:
az storage account or-policy create \
-resource-group <resource-group> \
--source-account <source-account-name> \
--policy @policy.json
Objektreplikering stöder nu kopiering av indextaggar från källblobar till målblobar. Du kan konfigurera den här funktionen som en del av en ny eller befintlig replikeringsregel.
Viktigt!
Taggreplikering är för närvarande i förhandsversion.
Se Supplemental Terms of Use for Microsoft Azure Previews för juridiska villkor som gäller för Azure funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Förutsättningar
Källagringskontot måste registreras för EnableObjectReplicationTags-förhandsversionen innan taggreplikering kan aktiveras. Registrera förhandsgranskningsfunktionen i Azure portal genom att följa stegen i dokumentationen Azure Resource Manager preview.
Replikering av taggar kan aktiveras på både nya och befintliga objektreplikeringsprinciper. Ändringar i en källblob eller indextaggar utlöser replikering av taggar.
Aktivera replikering av taggar från bladet Objektreplikering när du skapar en regel eller uppdaterar befintliga regler med hjälp av kolumnen Taggar-replikering.
Följ dessa steg för att konfigurera replikering av blobindextaggar när du skapar en ny regel:
- Gå till källagringskontot i Azure-portalen.
- Under Data management väljer du Objektsreplikering.
- Välj Skapa replikeringsregler.
- Välj Aktivera replikering av taggar och välj slutligen Spara och tillämpa för att konfigurera replikering av blobindextaggar.
Följ dessa steg för att konfigurera replikering av blobindextaggar för befintliga regler:
- Gå till fliken Dina konton på sidan Objektreplikering
- Välj aktivera under kolumnen Taggar-replikering i tabellen Objekt kopierade från det här kontot och välj OK.
- Status för kolumnen för taggreplikering mot en regel visar nu Aktiverad.
Så här inaktiverar du replikering av blobindextaggar för befintliga regler: Följ dessa steg:
- Gå till fliken Dina konton på sidan Objektreplikering
- Välj en befintlig regel och välj Redigera regler från '...' menyn.
- Avmarkera alternativet Aktivera replikering av taggar och välj slutligen Spara och tillämpa för att inaktivera replikering av blobindextaggar.
Mer information om hur du installerar Azure PowerShell finns i Installera Azure PowerShell med PowerShellGet.
Aktivera taggreplikering på en ny policy: Följande exempel visar hur man skapar en replikeringspolicy med replikering av blobindextaggar aktiverad, först på destinationskontot och sedan på källkontot. Kom ihåg att ersätta värden i vinkelparenteser med dina egna värden.
# 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
Aktivera taggreplikering på en befintlig policy Följande exempel visar hur man aktiverar taggreplikering på en policy som redan finns. Den hämtar policyn från destinationskontot, applicerar den igen med taggreplikering aktiverad och applicerar sedan den uppdaterade policyn på källkontot.
# 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
Verifiera att taggreplikering är aktiverad
Följande exempel returnerar taggarnas replikationsstatus för en policy. Egenskapen Enabled returneras True när taggreplikering är på.
# 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
Inaktivera taggreplikering
Följande exempel visar hur man inaktiverar taggreplikering på en befintlig policy genom att återapplicera den med -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
För mer information, se CLI-dokumentationen
Aktivera taggreplikering på en ny policy: Lägg till parametern --tags-replication true när du skapar policyn på destinationskontot och kopiera sedan policydefinitionen till källkontot.
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 "@-"
Aktivera taggreplikering på en befintlig policy: Använd det delade policy-ID:t för att uppdatera flaggan på båda kontona.
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
Kontrollera att taggreplikering är aktiverad: Fråga efter egenskapen tagsReplication.enabled på varje konto. Ett returvärde av true bekräftar att det är aktiverat.
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
Inaktivera taggreplikering: Ange --tags-replication false på både käll- och destinationskontot med det delade policy-ID:t.
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
Användare kan använda befintliga REST-API:er: Objektreplikeringsprinciper – Skapa eller uppdatera – REST API för att konfigurera principer för replikering av taggar som angetts på blobarna.
Lägg till följande rad “tagsReplication”: { “enabled”: true } när du skapar eller uppdaterar replikeringsreglerna för källkontot.
Replikering av taggar stöds i API-version 2022-05-01 och senare. Du kan lägga till det nya fältet tagsReplication i replikeringsprincipen.
Exempel:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"tagsReplication":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Aktivera replikeringsmått
Du kan aktivera replikeringsmått för både nya och befintliga objektreplikeringsprinciper. Det kan ta några minuter att börja observera måtten.
Du kan aktivera mått med hjälp av bladet Objektreplikering från den nya kolumnen Mått eller genom att redigera avsnittet Redigera regler i en princip från "..." på raden OR-princip.
Aktivering av mått stöds i API-version 2021-08-01 och senare. Du kan lägga till det nya måttfältet i replikeringsprincipen. Exempel:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"metrics":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Om du aktiverar mått för en princip som är konfigurerad för att kopiera över befintliga data kan du observera en ökande mängd i början medan principen fungerar i den inledande fasen av listan. När detta är klart startar replikeringen.
Visa replikeringsmått
Du kan klicka på länken Visa från kolumnen Mått för att visa övervakningsmått
Om du vill visa mått i Azure Monitor klickar du på diagrammet för ett mått. Det här tar dig till vyn Azure Monitor Metrics med fler filtreringsfunktioner.
Kontrollera replikeringsstatusen för en blob
Du kan kontrollera replikeringsstatusen för en blob i källkontot med hjälp av Azure portal, PowerShell eller Azure CLI. Objektreplikeringsegenskaper fylls inte i förrän replikeringen antingen har slutförts eller misslyckats.
Följ dessa steg för att kontrollera replikeringsstatusen för en blob i källkontot i Azure portal:
- Gå till källkontot i Azure portal.
- Leta upp containern som innehåller källbloben.
- Välj bloben för att visa dess egenskaper. Om bloben har replikerats ser du i avsnittet Objektreplikering att statusen är inställd på Slutför. Replikeringsprincipens ID och ID för regeln som styr objektreplikering för den här containern visas också.
Om du vill kontrollera replikeringsstatusen för en blob i källkontot med PowerShell hämtar du värdet för egenskapen ReplicationStatus för objektreplikering , enligt följande exempel. Kom ihåg att ersätta värden inom vinkelparenteser med dina egna värden:
$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
Om du vill kontrollera replikeringsstatusen för en blob i källkontot med Azure CLI hämtar du värdet för objektreplikeringen status egenskap, som du ser i följande exempel:
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
Om replikeringsstatusen för en blob i källkontot indikerar ett fel undersöker du följande möjliga orsaker:
- Kontrollera att objektreplikeringsprincipen har konfigurerats för målkontot.
- Kontrollera att målcontainern fortfarande finns.
- Om källbloben har krypterats med en kundbaserad nyckel som en del av en skrivåtgärd misslyckas objektreplikeringen. Mer information om kundtillhandahållna nycklar finns i Tillhandahåll en krypteringsnyckel vid en begäran till Blob-lagring.
Ta bort en replikeringsprincip
Om du vill ta bort en replikeringsprincip och dess associerade regler använder du Azure portal, PowerShell eller CLI.
Följ dessa steg om du vill ta bort en replikeringsprincip i Azure portal:
- Gå till källagringskontot i Azure-portalen.
- Under Inställningar väljer du Objektreplikering.
- Välj knappen Mer bredvid principnamnet.
- Välj Ta bort regler.
Ta bort en replikeringsprincip genom att ta bort principen från både källkontot och målkontot. Om du tar bort principen tas även alla regler som är associerade med den bort.
# 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
Ta bort en replikeringsprincip genom att ta bort principen från både källkontot och målkontot. Om du tar bort principen tas även alla regler som är associerade med den bort.
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>
Beteende vid återskapande av en princip för objektreplikering
När en princip för objektreplikering tas bort och återskapas på samma käll- och målcontainerpar behandlar Azure den nya principen som en helt separat replikeringsrelation. Följande beteende gäller:
Ett nytt princip-ID genereras för den återskapade principen.
Alla replikeringsuppgifter som är associerade med den tidigare principen avslutas.
Målkontainern tilldelas ett nytt replikeringslås kopplat till det nya policy-ID:t.
Replikeringstillståndet från den tidigare principen återanvänds inte.
Replikeringsbeteende när du har återskapat en princip för objektreplikering
När principen har återskapats försöker Azure replikera igen för behöriga blobar och resultatet beror på tillgängligheten av blobversionshistoriken på källkontot.
Om en källblob inte har några tidigare versioner tillgängliga på målet: Azure avgör att blobben redan har kopierats under en tidigare princip. Replikeringen av bloben lyckas inte. Endast nya blobskrivningar (eller nya versioner som skapas efter att principen återskapas) replikeras framgångsrikt.
Om en källblob har tidigare versioner tillgängliga på målet: Azure kan replikera bloben igen. Blobben kopieras igen till destinationen som en ny version. Detta möjliggör lyckad replikering av befintliga blobar utan datainkonsekvens.
Nästa steg