Commande .alter table policy update

Changer de service à l’aide de la liste déroulante Version . En savoir plus sur la navigation.
S’applique à : ✅ Microsoft Fabric ✅ Azure Data Explorer

Utilisez cette commande pour modifier la stratégie de mise à jour de table. La stratégie de mise à jour simplifie le processus de synchronisation et de mise à jour des données entre deux tables. Lorsque de nouvelles données sont insérées dans la table source, une requête de transformation s’exécute sur ces données pour modifier et insérer les données dans la table cible.

Remarque

  • La table source et la table pour laquelle la stratégie de mise à jour est définie doivent se trouver dans la même base de données.
  • Le schéma de fonction de stratégie de mise à jour et le schéma de table cible doivent correspondre dans leurs noms, types et ordre de colonne.

autorisations

Vous devez disposer au moins des autorisations d’administrateur de table pour exécuter cette commande.

Syntaxe

.alter table [ DatabaseName]TableName.policyupdate ArrayOfPolicyObjects

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
DatabaseName string Nom de la base de données. Si vous exécutez la commande à partir d’un contexte de base de données qui ne contient pas la table spécifiée, ce paramètre est requis.
TableName string ✔️ Nom de la table.
ArrayOfPolicyObjects string ✔️ Tableau sérialisé d’objets de stratégie. Pour plus d'informations, consultez la politique de mise à jour.

Retours

Retourne une représentation JSON de la stratégie.

Avertissement

La commande alter remplace la stratégie de mise à jour actuelle par une nouvelle stratégie. Si vous souhaitez ajouter une nouvelle entrée au tableau d’objets de stratégie, en plus des objets actuels, utilisez la commande de mise à jour de la stratégie de table .alter-merge.

Exemple

Modifiez la stratégie de mise à jour d’une table (à l’aide de littéraux de chaînes multilignes) :

.alter table MyDatabase.MyTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MyTableX",
        "Query": "MyOtherTable",
        "IsTransactional": true,
        "PropagateIngestionProperties": false
    }
]
```

Exemple avec une référence de table externe accélérée

L’exemple suivant définit une stratégie de mise à jour dont la requête joint les données à partir d’une table externe accélérée. Étant donné que la table externe utilise l’authentification d’emprunt d’identité, la stratégie doit inclure un ManagedIdentity:

.alter table MyDatabase.MyTargetTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MySourceTable",
        "Query": "MySourceTable | join kind=leftouter (external_table('MyAcceleratedExternalTable')) on CommonKey | project-away CommonKey1",
        "IsTransactional": true,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "system"
    }
]
```

Exemple avec une référence de table externe accélérée

L’exemple suivant définit une stratégie de mise à jour dont la requête joint les données à partir d’une table externe accélérée. Dans Fabric, le système remplit automatiquement la OwnerPrincipalDetails propriété pour l’autorisation :

.alter table MyDatabase.MyTargetTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MySourceTable",
        "Query": "MySourceTable | join kind=leftouter (external_table('MyAcceleratedExternalTable')) on CommonKey | project-away CommonKey1",
        "IsTransactional": true,
        "PropagateIngestionProperties": false
    }
]
```

Remarque

Lorsque la stratégie est lue, le JSON retourné peut inclure une propriété renseignée OwnerPrincipalDetails par le système. Cette propriété capture l’identité de l’utilisateur qui définit ou modifie la stratégie de mise à jour et est utilisée par le système pour l’autorisation lorsque la requête fait référence à des tables externes. La propriété est en lecture seule et définie automatiquement.