Objectreplicatie kopieert asynchroon blok-blobs tussen een bron-storage-account en een doelaccount. Wanneer u objectreplicatie configureert, maakt u een replicatiebeleid dat de bron-storage-account en het doelaccount aangeeft. Een replicatiebeleid bevat een of meer regels die een broncontainer en een doelcontainer opgeven en aangeven welke blok-blobs in de broncontainer worden gerepliceerd. Zie Objectreplicatie voor blok-blobs voor meer informatie over objectreplicatie.
In dit artikel wordt beschreven hoe u een objectreplicatiebeleid configureert met behulp van de Azure portal, PowerShell of Azure CLI. U kunt ook een van de Azure Storage clientbibliotheken van de resourceprovider gebruiken om objectreplicatie te configureren.
Vereiste voorwaarden
Voordat u objectreplicatie configureert, maakt u de bron- en doelopslagaccounts aan als deze nog niet bestaan. De bron- en doelaccounts kunnen algemeen-doel v2 opslagaccounts of premium block-blobaccounts zijn. Zie Maak een Azure Storage-account voor meer informatie.
Voor objectreplicatie is vereist dat blobversiebeheer is ingeschakeld voor zowel het bron- als doelaccount en dat de blobwijzigingsfeed is ingeschakeld voor het bronaccount. Zie Blob-versiebeheer voor meer informatie over blobversiebeheer. Voor meer informatie over wijzigingsfeeds, zie Ondersteuning voor wijzigingsfeeds in Azure Blob Storage. Houd er rekening mee dat het inschakelen van deze functies extra kosten kan opleveren. Het inschakelen van Object Replicatie-vereisten (blobversiebeheer en wijzigingsfeed) vereist de Microsoft.Storage/storageAccounts/blobServices/write toestemming. Voor meer informatie over permissies, zie Azure-rechten voor opslag. Zodra een Object Replication-beleid is gemaakt, worden datareplicatiebewerkingen van bron naar bestemming verwacht. Het verlenen van deze toestemming moet daarom ook worden opgevat als het verlenen van toestemming om gegevens te kopiëren tussen de bron- en bestemmingsaccounts.
Als u een objectreplicatiebeleid wilt configureren voor een storage-account, moet u de rol Azure Resource Manager Contributor toegewezen krijgen op het niveau van het storage-account of hoger. Voor meer informatie, zie Azure standaardrollen in de documentatie voor Azure op rollen gebaseerde toegangscontrole (Azure RBAC).
Objectreplicatie wordt nog niet ondersteund in accounts waarvoor een hiërarchische naamruimte is ingeschakeld.
Als u toegang heeft tot zowel de bron- als de doelopslagaccounts, kunt u het objectreplicatiebeleid voor beide accounts configureren. In de volgende voorbeelden ziet u hoe u objectreplicatie configureert met de Azure portal, PowerShell of Azure CLI.
Wanneer u objectreplicatie configureert in de Azure portal, hoeft u alleen het beleid voor het bronaccount te configureren. De Azure portal maakt automatisch het beleid voor het doelaccount nadat u het voor het bronaccount hebt geconfigureerd.
Voer de volgende stappen uit om een replicatiebeleid te maken in de Azure portal:
Navigeer naar het bron-storage-account in de Azure portal.
Selecteer onder Data managementObjectreplicatie.
Selecteer Replicatieregels maken.
Selecteer het doelabonnement en opslagaccount.
Selecteer in de sectie Details van containerpaar een broncontainer uit het bronaccount en een doelcontainer uit het doelaccount. U kunt maximaal 10 containerparen per replicatiebeleid maken vanuit de Azure portal. Zie Objectreplicatie configureren met behulp van een JSON-bestand als u meer dan 10 containerparen (maximaal 1000) wilt configureren.
In de volgende afbeelding wordt een reeks replicatieregels getoond.
Geef desgewenst een of meer filters op om alleen blobs te kopiëren die overeenkomen met een voorvoegselpatroon. Als u bijvoorbeeld een voorvoegsel bopgeeft, worden alleen blobs waarvan de naam begint met die letter gerepliceerd. U kunt een virtuele map opgeven als onderdeel van het voorvoegsel. U kunt maximaal vijf voorvoegselovereenkomsten toevoegen. Het voorvoegsel biedt geen ondersteuning voor jokertekens.
In de volgende afbeelding ziet u filters waarmee wordt beperkt welke blobs worden gekopieerd als onderdeel van een replicatieregel.
Standaard is het kopieerbereik ingesteld om alleen nieuwe objecten te kopiëren. Als u alle objecten in de container wilt kopiëren of objecten wilt kopiëren vanaf een aangepaste datum en tijd, selecteert u de koppeling wijzigen en configureert u het kopieerbereik voor het containerpaar.
In de volgende afbeelding ziet u een aangepast kopieerbereik waarmee objecten vanaf een opgegeven datum en tijd worden gekopieerd.
Selecteer Opslaan en toepassen om het replicatiebeleid te maken en begin met het repliceren van gegevens.
Nadat u objectreplicatie hebt geconfigureerd, worden in de Azure portal het replicatiebeleid en de regels weergegeven, zoals wordt weergegeven in de volgende afbeelding.
Als u een replicatiebeleid wilt maken met PowerShell, installeert u eerst versie 2.5.0 of hoger van de PowerShell-module Az.Storage. Zie Install Azure PowerShell with PowerShellGet voor meer informatie over het installeren van Azure PowerShell.
In het volgende voorbeeld ziet u hoe u eerst een replicatiebeleid maakt voor het doelaccount en vervolgens op het bronaccount. Vergeet niet om waarden tussen punthaken te vervangen door uw eigen waarden:
# 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
Als u een replicatiebeleid wilt maken met Azure CLI, installeert u eerst Azure CLI versie 2.11.1 of hoger. Zie Get started met Azure CLI voor meer informatie.
Schakel vervolgens blobversiebeheer in op de bron- en doelstorageaccounts en schakel de wijzigingenfeed in voor het bronaccount door de opdracht az storage account blob-service-properties update uit te voeren. Vergeet niet om waarden tussen punthaken te vervangen door uw eigen waarden:
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
Maak de bron- en bestemmingscontainers in hun respectieve storage accounts.
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
Maak een nieuw replicatiebeleid en een bijbehorende regel voor het doelaccount door de opdracht az storage account or-policy create uit te voeren.
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 stelt de beleids-id voor het nieuwe beleid in wanneer het wordt gemaakt. Als u extra regels wilt toevoegen aan het beleid, voert u de opdracht az storage account or-policy rule add uit en geeft u de beleids-ID op.
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
Maak vervolgens het beleid voor het bronaccount met behulp van de beleids-id.
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 "@-"
Als u geen machtigingen hebt voor het bron-storage-account of als u meer dan 10 containerparen wilt gebruiken, kunt u objectreplicatie configureren voor het doelaccount en een JSON-bestand opgeven dat de beleidsdefinitie bevat aan een andere gebruiker om hetzelfde beleid voor het bronaccount te maken. Als het bronaccount zich bijvoorbeeld in een andere Microsoft Entra-tenant bevindt dan het doelaccount, kunt u deze methode gebruiken om objectreplicatie te configureren.
Zie Het bestand met beleidsdefinities voor informatie over het ontwerpen van een JSON-bestand dat de beleidsdefinitie bevat.
Opmerking
Replicatie van objecten tussen tenants is standaard toegestaan voor een storage-account. Als u replicatie tussen tenants wilt voorkomen, kunt u de eigenschap AllowCrossTenantReplication instellen om replicatie van meerdere tenantobjecten voor uw storage-accounts niet toe te staat. Zie Objectreplicatie voorkomen in Microsoft Entra-tenants voor meer informatie.
In de voorbeelden in deze sectie ziet u hoe u het objectreplicatiebeleid voor het doelaccount configureert en vervolgens het JSON-bestand voor dat beleid opkrijgt dat een andere gebruiker kan gebruiken om het beleid voor het bronaccount te configureren.
Als u objectreplicatie wilt configureren voor het doelaccount met een JSON-bestand in de Azure portal, voert u de volgende stappen uit:
Maak een lokaal JSON-bestand dat het replicatiebeleid definieert voor het doelaccount. Stel het veld policyId in op default zodat Azure Storage de beleids-id definieert.
Een eenvoudige manier om een JSON-bestand te maken dat een replicatiebeleid definieert, is door eerst een testreplicatiebeleid te maken tussen twee storage accounts in de Azure portal. Vervolgens kunt u de replicatieregels downloaden en zo nodig het JSON-bestand wijzigen.
Navigeer naar de Objectreplicatie-instellingen voor het doelaccount in de Azure portal.
Selecteer Replicatieregels uploaden.
Upload het JSON-bestand. In de Azure portal worden de beleidsregels en regels weergegeven die worden gemaakt, zoals wordt weergegeven in de volgende afbeelding.
Selecteer Uploaden om het replicatiebeleid voor het doelaccount te maken.
Vervolgens kunt u een JSON-bestand met de beleidsdefinitie downloaden dat u aan een andere gebruiker kunt opgeven om het bronaccount te configureren. Volg deze stappen om dit JSON-bestand te downloaden:
Navigeer naar de Objectreplicatie-instellingen voor het doelaccount in de Azure portal.
Selecteer de knop Meer naast het beleid dat u wilt downloaden en selecteer vervolgens Downloadregels, zoals wordt weergegeven in de volgende afbeelding.
Sla het JSON-bestand op uw lokale computer op om te delen met een andere gebruiker om het beleid voor het bronaccount te configureren.
Het gedownloade JSON-bestand bevat de beleid-ID die Azure Storage heeft gemaakt voor het beleid op het doelaccount. U moet dezelfde beleids-id gebruiken om objectreplicatie voor het bronaccount te configureren.
Houd er rekening mee dat het uploaden van een JSON-bestand om een replicatiebeleid voor het doelaccount te maken via de Azure portal niet automatisch hetzelfde beleid maakt in het bronaccount. Een andere gebruiker moet het beleid voor het bronaccount maken voordat Azure Storage begint met het repliceren van objecten.
Als u een JSON-bestand wilt downloaden dat de replicatiebeleidsdefinitie voor het doelaccount van PowerShell bevat, roept u de opdracht Get-AzStorageObjectReplicationPolicy aan om het beleid te retourneren. Converteer het beleid vervolgens naar JSON en sla het op als een lokaal bestand, zoals wordt weergegeven in het volgende voorbeeld. Vergeet niet om waarden tussen punthaken en het bestandspad te vervangen door uw eigen waarden:
$rgName = "<resource-group>"
$destAccountName = "<destination-storage-account>"
$destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
$destPolicy | ConvertTo-Json -Depth 5 > c:\temp\json.txt
Als u het JSON-bestand wilt gebruiken om het replicatiebeleid voor het bronaccount met PowerShell te definiëren, haalt u het lokale bestand op en converteert u van JSON naar een object. Roep vervolgens de opdracht Set-AzStorageObjectReplicationPolicy aan om het beleid voor het bronaccount te configureren, zoals wordt weergegeven in het volgende voorbeeld.
Wanneer u het voorbeeld uitvoert, moet u de -ResourceGroupName parameter instellen op de resourcegroep voor het bronaccount en de -StorageAccountName parameter op de naam van het bronaccount. Vergeet ook niet om waarden tussen punthaken en het bestandspad te vervangen door uw eigen waarden:
$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
Schrijf de definitie van het replicatiebeleid voor het doelaccount naar een JSON-bestand vanuit Azure CLI door de opdracht az storage account or-policy show aan te roepen en de uitvoer naar een bestand te sturen.
In het volgende voorbeeld wordt de beleidsdefinitie naar een JSON-bestand met de naam policy.jsongeschreven. Vergeet niet om waarden tussen punthaken en het bestandspad te vervangen door uw eigen waarden:
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Als u het JSON-bestand wilt gebruiken om het replicatiebeleid voor het bronaccount met Azure CLI te configureren, roept u de opdracht az storage account of beleid maken aan en verwijst u naar het bestand policy.json. Vergeet niet om waarden tussen punthaken en het bestandspad te vervangen door uw eigen waarden:
az storage account or-policy create \
-resource-group <resource-group> \
--source-account <source-account-name> \
--policy @policy.json
Objectreplicatie ondersteunt nu het kopiëren van indextags van bron-blobs naar doel-blobs. U kunt deze mogelijkheid configureren als onderdeel van een nieuwe of bestaande replicatieregel.
Vereiste voorwaarden
Het opslagbronaccount moet zijn geregistreerd voor de Preview-functie EnableObjectReplicationTags voordat tagreplicatie kan worden ingeschakeld. Registreer de preview-functie in de Azure portal door de stappen in de documentatie voor Azure Resource Manager preview-functies uit te voeren.
Tagsreplicatie kan worden ingeschakeld voor zowel nieuw als bestaand objectreplicatiebeleid. Elke wijziging in een bron-blob of indextags activeert replicatie van tags.
Schakel tagsreplicatie in vanaf de blade Objectreplicatie wanneer u een regel maakt of bestaande regels bijwerkt met behulp van de kolom Tags-replicatie.
Volg deze stappen om het repliceren van blobindextags te configureren bij het maken van een nieuwe regel:
- Navigeer naar het bron-storage-account in de Azure portal.
- Selecteer onder Data managementObjectreplicatie.
- Selecteer Replicatieregels maken.
- Selecteer Tagsreplicatie inschakelen en selecteer ten slotte Opslaan en toepassen om blobindextags te configureren.
Voer de volgende stappen uit om de replicatie van blob-index tags te configureren voor bestaande regels.
- Ga naar het tabblad 'Uw accounts' op de 'Objectreplicatie'-pagina
- Selecteer de optie Inschakelen onder de kolom Tagsreplicatie in objecten die zijn gekopieerd uit deze accounttabel en selecteer OK.
- De status van de kolom Tagsreplicatie tegen een regel wordt nu weergegeven als Ingeschakeld.
Volg deze stappen om het repliceren van blobindextags voor bestaande regels uit te schakelen:
- Ga naar het tabblad 'Uw accounts' op de 'Objectreplicatie'-pagina
- Selecteer een exsierende regel en selecteer Regels bewerken in de '...' Menu
- Schakel de optie Voor replicatie van tags inschakelen uit en selecteer ten slotte Opslaan en toepassen om replicatie van blobindextags uit te schakelen.
Zie Install Azure PowerShell with PowerShellGet voor meer informatie over het installeren van Azure PowerShell.
Schakel tagreplicatie in op een nieuw beleid: Het volgende voorbeeld laat zien hoe je een replicatiebeleid aanmaakt met blob index-tags replicatie ingeschakeld, eerst op het bestemmingsaccount en daarna op het bronaccount. Vergeet niet waarden in punthaken te vervangen door je eigen waarden.
# 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
Tagreplicatie inschakelen voor een bestaand beleid Het volgende voorbeeld laat zien hoe u tagreplicatie kunt inschakelen voor een bestaand beleid. Het haalt het beleid op van het bestemmingsaccount, past het opnieuw toe met tagreplicatie ingeschakeld, en past vervolgens het bijgewerkte beleid toe op het bronaccount.
# 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
Controleer of tagreplicatie is ingeschakeld
Het volgende voorbeeld geeft de replicatiestatus van de tags van een beleid terug. De Enabled eigenschap retourneert True wanneer tagreplicatie aan staat.
# 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
Schakel tagreplicatie uit
Het volgende voorbeeld laat zien hoe je tagreplicatie op een bestaand beleid kunt uitschakelen door het opnieuw toe te passen met -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
Voor meer informatie, zie CLI-documentatie
Schakel tagreplicatie in op een nieuw beleid: Voeg de --tags-replication true parameter toe wanneer je het beleid aanmaakt op het bestemmingsaccount, en kopieer vervolgens de beleidsdefinitie naar het bronaccount.
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 "@-"
Schakel tagreplicatie in op een bestaand beleid: Gebruik de gedeelde beleids-ID om de vlag op beide accounts bij te werken.
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
Controleer of tagreplicatie is ingeschakeld: Vraag de tagsReplication.enabled eigenschap op elk account op. Een retourwaarde van true bevestigt dat het is ingeschakeld.
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
Tagreplicatie uitschakelen: Stel --tags-replication false in op zowel het bron- als het bestemmingsaccount met behulp van de gedeelde beleids-ID.
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
Gebruikers kunnen bestaande REST API's gebruiken: Objectreplicatiebeleid - Maken of bijwerken - REST API om beleidsregels te configureren voor het repliceren van tags die zijn ingesteld op de Blobs.
Voeg de volgende regel “tagsReplication”: { “enabled”: true } toe bij het maken of bijwerken van de replicatieregels voor het bronaccount.
Tagsreplicatie wordt ondersteund op API-versie 2022-05-01 en hoger. U kunt het nieuwe veld tagsReplication toevoegen aan het replicatiebeleid.
Proef:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"tagsReplication":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Metrische replicatiegegevens inschakelen
U kunt metrische replicatiegegevens inschakelen voor zowel nieuwe als bestaande beleidsregels voor objectreplicatie. Het kan enkele minuten duren voordat de metrische gegevens worden waargenomen.
U kunt metrische gegevens inschakelen met behulp van de blade Objectreplicatie vanuit de nieuwe kolom Metrische gegevens of door de sectie Regels bewerken van een beleid te bewerken vanuit '...' in de rij OR-beleid.
Het inschakelen van metrische gegevens wordt ondersteund op API-versie 2021-08-01 en hoger. U kunt het nieuwe veld metrische gegevens toevoegen aan het replicatiebeleid. Proef:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"metrics":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Als u metrische gegevens inschakelt voor een beleid dat is geconfigureerd voor het kopiëren van bestaande gegevens, ziet u mogelijk een toenemende hoeveelheid aan het begin terwijl het beleid in de eerste fase van de vermelding werkt. Zodra dit is voltooid, wordt de replicatie gestart.
Metrische replicatiegegevens weergeven
U kunt klikken op de koppeling Weergeven in de kolom Metrische gegevens om metrische bewakingsgegevens weer te geven
Als u metrische gegevens verder wilt weergeven in Azure Monitor, klikt u op de grafiek van een metrische waarde. Hiermee gaat u naar de Azure Monitor Metrische gegevensweergave die meer filtermogelijkheden biedt.
De replicatiestatus van een blob controleren
U kunt de replicatiestatus voor een blob in het bronaccount controleren met behulp van de Azure portal, PowerShell of Azure CLI. Eigenschappen van objectreplicatie worden pas ingevuld als de replicatie is voltooid of mislukt.
Voer de volgende stappen uit om de replicatiestatus voor een blob in het bronaccount in de Azure portal te controleren:
- Navigeer naar het bronaccount in de Azure portal.
- Zoek de container met de bron-blob.
- Selecteer de blob om de eigenschappen ervan weer te geven. Als de blob is gerepliceerd, ziet u in de sectie Objectreplicatie dat de status is ingesteld op Voltooien. De replicatiebeleids-id en de id voor de regel voor objectreplicatie voor deze container worden ook vermeld.
Als u de replicatiestatus voor een blob in het bronaccount met PowerShell wilt controleren, haalt u de waarde op van de eigenschap ReplicationStatus van het object, zoals wordt weergegeven in het volgende voorbeeld. Vergeet niet om waarden tussen punthaken te vervangen door uw eigen waarden:
$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
Als u de replicatiestatus voor een blob in het bronaccount wilt controleren met Azure CLI, haalt u de waarde op van de objectreplicatie status eigenschap, zoals wordt weergegeven in het volgende voorbeeld:
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
Als de replicatiestatus voor een blob in het bronaccount een fout aangeeft, onderzoekt u de volgende mogelijke oorzaken:
- Zorg ervoor dat het objectreplicatiebeleid is geconfigureerd voor het doelaccount.
- Controleer of de doelcontainer nog bestaat.
- Als de bron-blob is versleuteld met een door de klant geleverde sleutel als onderdeel van een schrijfbewerking, mislukt de objectreplicatie. Zie Versleutelingssleutel op aanvraag voor Blob storage voor meer informatie over door de klant verstrekte sleutels.
Een replicatiebeleid verwijderen
Als u een replicatiebeleid en de bijbehorende regels wilt verwijderen, gebruikt u Azure portal, PowerShell of CLI.
Als u een replicatiebeleid in de Azure portal wilt verwijderen, voert u de volgende stappen uit:
- Navigeer naar het bron-storage-account in de Azure portal.
- Selecteer onder Instellingenobjectreplicatie.
- Selecteer de knop Meer naast de beleidsnaam.
- Selecteer Regels verwijderen.
Als u een replicatiebeleid wilt verwijderen, verwijdert u het beleid uit zowel het bronaccount als het doelaccount. Als u het beleid verwijdert, worden ook alle bijbehorende regels verwijderd.
# 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
Als u een replicatiebeleid wilt verwijderen, verwijdert u het beleid uit zowel het bronaccount als het doelaccount. Als u het beleid verwijdert, worden ook alle bijbehorende regels verwijderd.
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>
Gedrag bij het opnieuw maken van een objectreplicatiebeleid
Wanneer een objectreplicatiebeleid wordt verwijderd en opnieuw wordt gemaakt op hetzelfde bron- en doelcontainerpaar, behandelt Azure het nieuwe beleid als een volledig afzonderlijke replicatierelatie. Het volgende gedrag is van toepassing:
Er wordt een nieuwe beleids-id gegenereerd voor het opnieuw gemaakte beleid.
Alle replicatietaken die zijn gekoppeld aan het vorige beleid, worden beëindigd.
Aan de doelcontainer wordt een nieuwe replicatievergrendeling toegewezen die is gekoppeld aan de nieuwe beleids-id.
De replicatiestatus van het vorige beleid wordt niet opnieuw gebruikt.
Replicatiegedrag na het opnieuw maken van een objectreplicatiebeleid
Nadat het beleid opnieuw is gemaakt, probeert Azure replicatie opnieuw uit te voeren voor in aanmerking komende blobs. Het resultaat is afhankelijk van de beschikbaarheid van de blobversiegeschiedenis van het bronaccount:
Als een bron-blob geen eerdere versies beschikbaar heeft op de bestemming: Azure bepaalt dat de blob al is gekopieerd onder een eerder beleid. Replicatie van die blob slaagt niet. Alleen nieuwe blob-schrijfbewerkingen (of nieuwe versies die zijn gemaakt nadat het beleid opnieuw is gemaakt) worden gerepliceerd.
Als een bron-blob eerdere versies beschikbaar heeft op de bestemming: Azure kan de blob opnieuw repliceren. De blob wordt opnieuw naar het doel gekopieerd als een nieuwe versie. Dit maakt een geslaagde replicatie van bestaande blobs mogelijk zonder inconsistentie van gegevens.
Volgende stappen