La réplication d'objets copie de façon asynchrone les blobs de blocs entre un compte de stockage source et un compte de destination. Lorsque vous configurez la réplication d’objets, vous créez une stratégie de réplication qui spécifie le compte source storage et le compte de destination. Une stratégie de réplication comprend une ou plusieurs règles qui spécifient un conteneur source et un conteneur de destination et indiquent quels objets blob de blocs du conteneur source seront répliqués. Pour plus d’informations sur la réplication d’objets, consultez Réplication d’objets pour les objets Blob de blocs.
Cet article explique comment configurer une stratégie de réplication d’objets à l’aide des Azure portal, PowerShell ou Azure CLI. Vous pouvez également utiliser l’une des bibliothèques clientes du fournisseur de ressources stockage Azure pour configurer la réplication d’objets.
Prerequisites
Avant de configurer la réplication d'objets, créez les comptes source et de destination storage s'ils n'existent pas déjà. Les comptes source et de destination peuvent être des comptes de stockage à usage général v2 ou des comptes d’objets Blob de blocs Premium. Pour plus d’informations, consultez Créer un compte stockage Azure.
La réplication d’objets nécessite que le contrôle de version d’objet blob soit activé pour le compte source et de destination, et que le flux de modification d’objet blob est activé pour le compte source. Pour en savoir plus sur la gestion des versions d’objets blob, consultez Gestion des versions d’objets blob. Pour en savoir plus sur le flux de modification, consultez Prise en charge des flux de modification dans Stockage Blob Azure. N’oubliez pas que l’activation de ces fonctionnalités peut entraîner des coûts supplémentaires. Activer les prérequis de réplication d’objets (versionisation des blobs et flux de changement) nécessite l’autorisation Microsoft.Storage/storageAccounts/blobServices/write . Pour en savoir plus sur les permissions, consultez Azure permissions pour le stockage. Une fois la politique de réplication d’objets créée, des opérations de réplication des données de la source à la destination sont attendues. L’octroi de cette autorisation doit donc être compris comme accordant également la permission de copier des données entre les comptes source et destination.
Pour configurer une stratégie de réplication d’objet pour un compte storage, vous devez être affecté au rôle Azure Resource Manager Contributor, limité au niveau du compte storage ou supérieur. Pour plus d'informations, consultez les rôles intégrés Azure dans la documentation sur le contrôle d'accès basé sur les rôles (Azure RBAC).
La réplication d’objets n’est pas encore prise en charge dans les comptes qui ont un espace de noms hiérarchique activé.
Si vous avez access aux comptes de storage source et de destination, vous pouvez configurer la stratégie de réplication d’objets sur les deux comptes. Les exemples suivants montrent comment configurer la réplication d’objets avec les Azure portal, PowerShell ou Azure CLI.
Lorsque vous configurez la réplication d’objets dans le Azure portal, vous devez uniquement configurer la stratégie sur le compte source. Le Azure portal crée automatiquement la stratégie sur le compte de destination une fois que vous l’avez configurée pour le compte source.
Pour créer une stratégie de réplication dans le Azure portal, procédez comme suit :
Accédez au compte de stockage source dans le portail Azure.
Sous Data management, sélectionnez Réplication d’objets.
Sélectionnez Créer des règles de réplication.
Sélectionnez l’abonnement de destination et le compte de stockage.
Dans la section détails de la paire de conteneurs, sélectionnez un conteneur source à partir du compte source et un conteneur de destination à partir du compte de destination. Vous pouvez créer jusqu’à 10 paires de conteneurs par stratégie de réplication à partir du Azure portal. Pour configurer plus de 10 paires de conteneurs (jusqu’à 1 000), consultez Configurer la réplication d’objets à l’aide d’un fichier JSON.
L’image suivante montre un ensemble de règles de réplication.
Si vous le souhaitez, spécifiez un ou plusieurs filtres pour copier uniquement des objets blob qui correspondent à un modèle de préfixe. Par exemple, si vous spécifiez un préfixe b, seuls les objets blob dont le nom commence par cette lettre sont répliqués. Vous pouvez spécifier un répertoire virtuel dans le cadre du préfixe. Vous pouvez ajouter un maximum de cinq correspondances de préfixe. La chaîne de préfixe ne prend pas en charge les caractères génériques.
L’image suivante montre les filtres qui limitent les objets blob copiés dans le cadre d’une règle de réplication.
Par défaut, l’étendue de copie est définie pour copier uniquement de nouveaux objets. Pour copier tous les objets du conteneur ou copier des objets à partir d’une date et d’une heure personnalisées, sélectionnez le lien de modification et configurez l’étendue de copie pour la paire de conteneurs.
L’image suivante montre une étendue de copie personnalisée qui copie des objets à partir d’une date et d’une heure spécifiées.
Sélectionnez Enregistrer et appliquer pour créer la stratégie de réplication et démarrer la réplication des données.
Une fois la réplication d’objet configurée, l’Azure portal affiche la stratégie et les règles de réplication, comme illustré dans l’image suivante.
Pour créer une stratégie de réplication avec PowerShell, installez d’abord la version 2.5.0 ou ultérieure du module PowerShell Az.Storage. Pour plus d’informations sur l’installation de Azure PowerShell, consultez Installer Azure PowerShell avec PowerShellGet.
L’exemple suivant montre comment créer une stratégie de réplication en premier sur le compte de destination, puis sur le compte source. N’oubliez pas de remplacer les valeurs entre crochets par vos propres valeurs :
# 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
Pour créer une stratégie de réplication avec Azure CLI, installez d’abord Azure CLI version 2.11.1 ou ultérieure. Pour plus d’informations, consultez Get started avec Azure CLI.
Ensuite, activez le contrôle de version des blobs sur les comptes de stockage source et de destination, puis activez le flux de modification sur le compte source en appelant la commande az storage account blob-service-properties update. N’oubliez pas de remplacer les valeurs entre crochets par vos propres valeurs :
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
Créez les conteneurs source et de destination dans leurs comptes de storage respectifs.
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
Créez une nouvelle stratégie de réplication et une règle associée sur le compte de destination en exécutant la commande 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
stockage Azure définit l’ID de stratégie pour la nouvelle stratégie lors de sa création. Pour ajouter des règles à la stratégie, appelez la commande az storage account or-policy rule add et fournissez l’ID de stratégie.
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
Ensuite, créez la politique sur le compte source à l'aide de l'ID de politique.
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 "@-"
Si vous n'avez pas d'autorisations sur le compte source storage ou si vous souhaitez utiliser plus de 10 paires de conteneurs, vous pouvez configurer la réplication d'objets sur le compte de destination et fournir un fichier JSON qui contient la définition de stratégie à un autre utilisateur pour créer la même stratégie sur le compte source. Par exemple, si le compte source se trouve dans un autre locataire Microsoft Entra du compte de destination, vous pouvez utiliser cette approche pour configurer la réplication d’objets.
Pour plus d’informations sur la création d’un fichier JSON qui contient la définition de stratégie, consultez le fichier de définition de stratégie.
Note
La réplication d'objets entre locataires est autorisée par défaut pour un compte de stockage. Pour empêcher la réplication entre les locataires, vous pouvez définir la propriété AllowCrossTenantReplication pour interdire la réplication d’objets interlocataires pour vos comptes storage. Pour plus d’informations, consultez Empêcher la réplication d’objets entre les locataires Microsoft Entra.
Les exemples de cette section montrent comment configurer la stratégie de réplication d’objets sur le compte de destination, puis obtenir le fichier JSON de cette stratégie que l’autre utilisateur peut utiliser pour configurer la stratégie sur le compte source.
Pour configurer la réplication d’objets sur le compte de destination avec un fichier JSON dans le Azure portal, procédez comme suit :
Créez un fichier JSON local qui définit la stratégie de réplication sur le compte de destination. Définissez le champ policyId sur default afin que stockage Azure définisse l’ID de stratégie.
Un moyen simple de créer un fichier JSON qui définit une stratégie de réplication consiste à créer d’abord une stratégie de réplication de test entre deux comptes storage dans le Azure portal. Vous pouvez ensuite télécharger les règles de réplication et modifier le fichier JSON en fonction des besoins.
Accédez aux paramètres de réplication Objet du compte de destination dans le portail Azure.
Sélectionnez Charger des règles de réplication.
Chargez le fichier JSON. Le Azure portal affiche la stratégie et les règles qui seront créées, comme illustré dans l’image suivante.
Sélectionnez Charger pour créer la stratégie de réplication sur le compte de destination.
Vous pouvez ensuite télécharger un fichier JSON contenant la définition de stratégie que vous pouvez fournir à un autre utilisateur pour configurer le compte source. Pour télécharger ce fichier JSON, procédez comme suit :
Accédez aux paramètres de réplication Objet du compte de destination dans le portail Azure.
Sélectionnez le bouton Plus en regard de la stratégie que vous souhaitez télécharger, puis sélectionnez Règles de téléchargement, comme illustré dans l’image suivante.
Enregistrez le fichier JSON sur votre ordinateur local pour partager avec un autre utilisateur pour configurer la stratégie sur le compte source.
Le fichier JSON téléchargé inclut l’ID de la stratégie qu'stockage Azure a créée pour le compte de destination. Vous devez utiliser le même ID de stratégie pour configurer la réplication d’objets sur le compte source.
N'oubliez pas que le chargement d'un fichier JSON pour créer une stratégie de réplication pour le compte de destination via l'Azure portal ne crée pas automatiquement la même stratégie dans le compte source. Un autre utilisateur doit créer la stratégie sur le compte source avant que stockage Azure commence à répliquer des objets.
Pour télécharger un fichier JSON qui contient la définition de stratégie de réplication du compte de destination à partir de PowerShell, appelez la commande Get-AzStorageObjectReplicationPolicy pour renvoyer la stratégie. Ensuite, convertissez la stratégie en JSON et enregistrez-la en tant que fichier local, comme illustré dans l’exemple suivant. N’oubliez pas de remplacer les valeurs entre crochets et le chemin d’accès au fichier par vos propres valeurs :
$rgName = "<resource-group>"
$destAccountName = "<destination-storage-account>"
$destPolicy = Get-AzStorageObjectReplicationPolicy -ResourceGroupName $rgName `
-StorageAccountName $destAccountName
$destPolicy | ConvertTo-Json -Depth 5 > c:\temp\json.txt
Pour utiliser le fichier JSON pour définir la stratégie de réplication sur le compte source avec PowerShell, récupérez le fichier local et convertissez de JSON en objet. Appelez ensuite la commande Set-AzStorageObjectReplicationPolicy pour configurer la stratégie sur le compte source, comme illustré dans l’exemple suivant.
Lors de l’exécution de l’exemple, veillez à définir le -ResourceGroupName paramètre sur le groupe de ressources du compte source et le -StorageAccountName paramètre sur le nom du compte source. En outre, n’oubliez pas de remplacer les valeurs entre crochets et le chemin d’accès au fichier par vos propres valeurs :
$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
Pour écrire la définition de la stratégie de réplication pour l'account de destination dans un fichier JSON depuis Azure CLI, exécutez la commande az storage account or-policy show et exportez le résultat dans un fichier.
L’exemple suivant écrit la définition de stratégie dans un fichier JSON nommé policy.json. N’oubliez pas de remplacer les valeurs entre crochets et le chemin d’accès au fichier par vos propres valeurs :
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Pour utiliser le fichier JSON pour configurer la stratégie de réplication sur le compte source avec Azure CLI, appelez la commande az storage account or-policy create et référencez le fichier policy.json. N’oubliez pas de remplacer les valeurs entre crochets et le chemin d’accès au fichier par vos propres valeurs :
az storage account or-policy create \
-resource-group <resource-group> \
--source-account <source-account-name> \
--policy @policy.json
La réplication d’objets prend désormais en charge la copie des balises d’index des objets blob sources vers des objets blob de destination. Vous pouvez configurer cette fonctionnalité dans le cadre d’une règle de réplication nouvelle ou existante.
Important
La réplication des balises est actuellement en version de prévisualisation.
Consultez les conditions d’utilisation Supplemental pour les préversions de Microsoft Azure pour connaître les conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale.
Prerequisites
Le compte source storage doit être inscrit pour la fonctionnalité d’aperçu EnableObjectReplicationTags avant que la réplication des balises puisse être activée. Inscrivez la fonctionnalité d’aperçu dans la Azure portal en suivant les étapes de la documentation Azure Resource Manager fonctionnalités d’aperçu.
La réplication de balises peut être activée sur les stratégies de réplication d’objets nouvelles et existantes. Toute modification apportée à un objet blob source ou à ses balises d’index déclenche la réplication des balises.
Activez la réplication des balises à partir du panneau Réplication d’objets lors de la création d’une règle ou de la mise à jour de règles existantes à l’aide de la colonne de réplication de balises.
Pour configurer la réplication des balises d’index d’objet blob lors de la création d’une règle, procédez comme suit :
- Accédez au compte de stockage source dans le portail Azure.
- Sous Data management, sélectionnez Réplication d’objets.
- Sélectionnez Créer des règles de réplication.
- Sélectionnez Activer la réplication des balises , puis sélectionnez Enregistrer et appliquer pour configurer la réplication des balises d’index d’objet blob.
Pour configurer la réplication des balises d’index d’objet blob pour les règles existantes, procédez comme suit :
- Accédez à l’onglet Vos comptes dans la page de réplication d’objets
- Sélectionnez l'option Activer sous la colonne de réplication des balises dans la table Objets copiés à partir de ce compte, puis sélectionnez OK.
- L'état de la colonne de réplication des balises par rapport à une règle indique désormais Activé.
Pour désactiver la réplication des balises d’index de blob pour les règles existantes, procédez comme suit :
- Accédez à l’onglet Vos comptes dans la page de réplication d’objets
- Sélectionnez une règle existante et sélectionnez Modifier les règles à partir du menu « ... ».
- Désélectionnez l’option Activer la réplication des balises , puis sélectionnez Enregistrer et appliquer pour désactiver la réplication des balises d’index d’objet blob.
Pour plus d’informations sur l’installation de Azure PowerShell, consultez Installer Azure PowerShell avec PowerShellGet.
Activez la réplication des balises sur une nouvelle stratégie : L’exemple suivant montre comment créer une stratégie de réplication avec la réplication des balises d’index blob activée, d’abord sur le compte destination, puis sur le compte source. N’oubliez pas de remplacer les valeurs entre chevrons par vos propres valeurs.
# 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
Activer la réplication des tags sur une politique existante L’exemple suivant montre comment activer la réplication des tags sur une politique déjà existante. Il récupère la politique depuis le compte de destination, la réapplique avec la réplication des tags activée, puis applique la politique mise à jour au compte source.
# 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
Vérifiez que la réplication des tags est activée
L’exemple suivant renvoie le statut de réplication des tags d’une politique. La propriété Enabled renvoie True lorsque la réplication des tags est activée.
# 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
Désactiver la réplication des étiquettes
L’exemple suivant montre comment désactiver la réplication des tags sur une politique existante en la réappliquant avec -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
Pour plus d’informations, voir la documentation CLI
Activez la réplication des tags sur une nouvelle stratégie : Ajoutez le paramètre --tags-replication true lorsque vous créez la stratégie sur le compte de destination, puis copiez la définition de la stratégie dans le compte source.
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 "@-"
Activez la réplication des tags sur une politique existante : Utilisez l’identifiant de politique partagé pour mettre à jour le drapeau sur les deux comptes.
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
Vérifiez que la réplication des étiquettes est activée : interrogez la propriété tagsReplication.enabled pour chaque compte. Une valeur de retour de true confirme qu’il est activé.
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
Désactiver la réplication des tags : Définir --tags-replication false à la fois sur le compte source et sur le compte destination en utilisant l’ID de politique partagé.
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
Les utilisateurs peuvent utiliser des API REST existantes : stratégies de réplication d’objets - Créer ou mettre à jour - API REST pour configurer des stratégies de réplication des balises définies sur les objets blob.
Ajoutez la ligne “tagsReplication”: { “enabled”: true } suivante lors de la création ou de la mise à jour des règles de réplication sur le compte source.
La réplication de balises est prise en charge sur l’API version 2022-05-01 et ultérieure. Vous pouvez ajouter le nouveau champ tagsReplication à la stratégie de réplication.
Échantillon:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"tagsReplication":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Activer les métriques de réplication
Vous pouvez activer les métriques de réplication sur les stratégies de réplication d’objets nouvelles et existantes. L’observation des métriques peut prendre quelques minutes.
Vous pouvez activer les métriques à l’aide du panneau Réplication d’objets à partir de la nouvelle colonne Métriques ou en modifiant la section Modifier les règles d’une stratégie à partir de « ... » sur la ligne de stratégie OR.
Pas encore pris en charge.
Pas encore pris en charge.
L’activation des métriques est prise en charge sur l’API version 2021-08-01 et ultérieures. Vous pouvez ajouter le nouveau champ de métriques à la stratégie de réplication. Échantillon:
{
"sourceAccount": "<source-account-name>",
"destinationAccount": "<destination-account-name>",
"metrics":
{
"enabled": true
},
"rules":
[
{
"ruleId": "<rule-id>",
"sourceContainer": "<source-container-name>",
"destinationContainer": "<destination-container-name>"
}
]
}
Si vous activez les métriques sur une politique configurée pour copier des données existantes, vous pourriez observer un volume croissant au début pendant que la politique travaille sur la première phase de mise en liste. Une fois cette opération terminée, la réplication démarre.
Afficher les métriques de réplication
Vous pouvez cliquer sur le lien Afficher à partir de la colonne Métriques pour afficher les métriques de surveillance
Pour afficher davantage les métriques dans Azure Monitor, cliquez sur le graphique d’une métrique. Cela vous dirigera vers la vue Metrics d'Azure Monitor avec davantage de possibilités de filtrage.
Vérifier l’état de réplication d’un objet blob
Vous pouvez vérifier l'état de réplication d'un objet blob dans le compte source à l'aide du portail Azure, de PowerShell ou d'Azure CLI. Les propriétés de la réplication d’un objet ne sont pas remplies tant que la réplication n’est pas soit terminée, soit échouée.
Pour vérifier l’état de réplication d’un objet blob dans le compte source dans le Azure portal, procédez comme suit :
- Accédez au compte source dans le Azure portal.
- Recherchez le conteneur qui inclut le blob source.
- Sélectionnez l’objet blob pour afficher ses propriétés. Si l’objet blob a été répliqué avec succès, vous verrez dans la section réplication d’objet que l’état est défini sur Terminé. L’ID de stratégie de réplication et l’ID de la règle qui régit la réplication d’objets pour ce conteneur sont également répertoriés.
Pour vérifier l’état de réplication d’un objet blob dans le compte source avec PowerShell, obtenez la valeur de la propriété ReplicationStatus de réplication d’objet, comme illustré dans l’exemple suivant. N’oubliez pas de remplacer les valeurs entre crochets par vos propres valeurs :
$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
Pour vérifier l’état de réplication d’un objet blob dans le compte source à l’aide d’Azure CLI, récupérez la valeur de la propriété status de la réplication d’objets, comme indiqué dans l’exemple suivant :
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
Si l’état de réplication d’un blob dans le compte source indique un échec, examinez les causes possibles suivantes :
- Assurez-vous que la stratégie de réplication d’objet est configurée sur le compte de destination.
- Vérifiez que le conteneur de destination existe toujours.
- Si le blob source a été chiffré à l’aide d’une clé fournie par le client dans le cadre d’une opération d’écriture, la réplication d’objet échoue. Pour plus d’informations sur les clés fournies par le client, consultez Provider une clé de chiffrement sur une demande de Blob storage.
Supprimer une stratégie de réplication
Pour supprimer une stratégie de réplication et ses règles associées, utilisez Azure portal, PowerShell ou CLI.
Pour supprimer une stratégie de réplication dans le Azure portal, procédez comme suit :
- Accédez au compte de stockage source dans le portail Azure.
- Sous Paramètres, sélectionnez Réplication d’objet.
- Sélectionnez le bouton Plus en regard du nom de la stratégie.
- Sélectionnez Supprimer des règles.
Pour supprimer une stratégie de réplication, supprimez la stratégie du compte source et du compte de destination. La suppression de la stratégie supprime également toutes les règles associées.
# 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
Pour supprimer une stratégie de réplication, supprimez la stratégie du compte source et du compte de destination. La suppression de la stratégie supprime également toutes les règles associées.
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>
Comportement lors de la recréation d’une stratégie de réplication d’objet
Lorsqu’une stratégie de réplication d’objet est supprimée et recréée sur la même paire de conteneurs source et de destination, Azure traite la nouvelle stratégie comme une relation de réplication entièrement distincte. Le comportement suivant s’applique :
Un nouvel ID de stratégie est généré pour la stratégie recréée.
Toutes les tâches de réplication associées à la stratégie précédente sont arrêtées.
Le conteneur de destination reçoit un nouveau verrou de réplication lié au nouvel ID de stratégie.
L’état de réplication de la stratégie précédente n’est pas réutilisé.
Comportement de réplication après la recréation d’une stratégie de réplication d’objet
Une fois la stratégie recréée, Azure tente à nouveau la réplication pour les objets blob éligibles, et le résultat dépend de la disponibilité de l’historique des versions d’objets blob sur le compte source :
Si un blob source n'a pas de versions précédentes disponibles sur la destination: Azure détermine que le blob a déjà été copié selon une stratégie antérieure. Échec de la nouvelle tentative de réplication de cet objet blob. Seules les nouvelles écritures d’objets blob (ou les nouvelles versions créées après la recréation de la stratégie) sont répliquées avec succès.
Si un objet blob source a des versions précédentes disponibles sur la destination : Azure est en mesure de répliquer à nouveau l’objet blob. L’objet blob est copié à nouveau dans la destination en tant que nouvelle version. Cela permet une réinplication réussie des objets blob existants sans incohérence des données.
Étapes suivantes