

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Intégrations sans ETL
<a name="zero-etl-using"></a>

[Zero-ETL](https://aws.amazon.com/what-is/zero-etl/) est un ensemble d'intégrations entièrement gérées AWS qui minimise le besoin de créer des pipelines de données ETL pour les cas d'utilisation courants d'ingestion et de réplication. Il rend les données disponibles dans Amazon SageMaker Lakehouse et Amazon Redshift à partir de multiples sources opérationnelles, transactionnelles et applicatives. Avec l’intégration zéro ETL, vous disposez de données plus récentes pour l’analytique, l’IA/le ML et la génération de rapports. Vous obtenez des informations plus précises et plus opportunes pour des cas d’utilisation tels que les tableaux de bord métier, l’optimisation de l’expérience de jeu, le suivi de la qualité des données et l’analyse du comportement des clients. Vous pouvez établir des prévisions basées sur les données en toute confiance, améliorer l’expérience client et promouvoir des informations basées sur les données à l’échelle de l’entreprise.

Amazon Redshift est un service d’entrepôt de données rapide, entièrement géré et doté d’une capacité de plusieurs pétaoctets. Il permet d’analyser de manière efficace, simple et économique toutes vos données grâce à vos outils d’informatique décisionnelle existants.

Amazon SageMaker Lakehouse unifie toutes vos données entre les lacs de données Amazon Simple Storage Service (S3) et les entrepôts de données Amazon Redshift, vous aidant ainsi à créer de puissantes analyses et AI/ML applications à partir d'une seule copie des données. SageMaker Lakehouse vous donne la flexibilité d'accéder à vos données et de les interroger sur place avec tous les outils et moteurs compatibles avec Apache Iceberg. Avec SageMaker Lakehouse, vous avez également la flexibilité d'accéder à vos données et de les interroger sur place à l'aide d'outils et de moteurs compatibles avec Apache Iceberg. En outre, vous pouvez sécuriser vos données grâce à des contrôles précis des accès intégrés, qui sont appliqués à toutes vos données dans tous les outils et moteurs d’analytique. Définissez les autorisations une seule fois et partagez les données en toute confiance au sein de votre organisation.

## Fonctionnalités zéro ETL dans AWS Glue
<a name="zero-etl-capabilities"></a>

Les intégrations sans ETL AWS Glue simplifient l'ingestion et la réplication des données depuis le service de AWS données, les applications tierces et les bases de données autogérées vers les destinations. AWS 

AWS les services pris en charge en tant que sources zéro ETL AWS Glue incluent :
+ Amazon DynamoDB

Les applications tierces prises en charge en tant que sources zéro ETL AWS Glue sont les suivantes :
+ Facebook Ads
+ Instagram Ads
+ Salesforce
+ Salesforce Marketing Cloud Account Engagement
+ SAP OData
+ ServiceNow
+ Zendesk
+ Zoho CRM

Les bases de données autogérées prises en charge en tant que sources zéro ETL incluent : AWS Glue 
+ Oracle
+ SQL Server
+ MySQL
+ PostgreSQL

Pour plus d'informations sur les intégrations zéro ETL à partir de sources autogérées, voir [Intégration AWS zéro ETL pour](https://docs.aws.amazon.com/dms/latest/userguide/zero-etl.html) les sources de base de données autogérées.

AWS les services pris en charge en tant que cibles zéro ETL AWS Glue incluent :
+ Amazon Redshift
+ Amazon SageMaker Lakehouse

**Note**  
Lorsque vous créez une intégration zéro ETL avec une AWS Glue source Amazon DynamoDB dans, la cible est prise en charge par Amazon Lakehouse. SageMaker 

# Conditions préalables à la configuration d’une intégration zéro ETL
<a name="zero-etl-prerequisites"></a>

La configuration d'une intégration entre la source et la cible nécessite certaines conditions préalables, telles que la configuration des rôles IAM qui AWS Glue permettent d'accéder aux données depuis la source et d'écrire sur la cible, et l'utilisation de clés KMS pour chiffrer les données à l'emplacement intermédiaire ou cible.

**Topics**
+ [Configuration des ressources source](#zero-etl-setup-source-resources)
+ [Configuration des ressources cible](#zero-etl-setup-target-resources)
+ [Création d’un entrepôt de données Amazon Redshift](#zero-etl-setup-target-redshift-data-warehouse)
+ [Configuration d’un VPC pour votre intégration zéro ETL](#zero-etl-setup-vpc)
+ [Configuration d’une intégration entre comptes zéro ETL](#zero-etl-setup-cross-account-integration)

## Configuration des ressources source
<a name="zero-etl-setup-source-resources"></a>

Effectuez les tâches de configuration suivantes selon les besoins de votre source.

### Configuration du rôle source
<a name="zero-etl-setup-source-role"></a>

Cette section décrit la manière de transmettre un rôle source pour permettre à l’intégration zéro ETL d’accéder à votre connexion. Cela s’applique également uniquement aux sources SaaS.

**Note**  
Pour limiter l’accès à quelques connexions uniquement, vous pouvez d’abord créer la connexion pour obtenir l’ARN de connexion. Consultez [Configuration d’une source pour une intégration zéro ETL](zero-etl-sources.md).

Créez un rôle disposant des autorisations nécessaires pour que l’intégration puisse accéder à la connexion :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
							"arn:aws:glue:*:111122223333:catalog",
							"arn:aws:glue:us-east-1:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GlueActionBasedPermissions",
            "Effect": "Allow",
            "Action": [
                "glue:ListEntities",
                "glue:RefreshOAuth2Tokens"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

Stratégie d'approbation :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "glue.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## Configuration des ressources cible
<a name="zero-etl-setup-target-resources"></a>

Effectuez les tâches de configuration suivantes selon les besoins pour AWS Glue la cible d'intégration du catalogue de Amazon Redshift données ou de l'entrepôt de données.

Pour les intégrations avec une cible AWS Glue de base de données :
+ [Configuration d'une AWS Glue base de données](#zero-etl-setup-target-resources-glue-database)
+ [Fourniture d’une politique d’accès basée sur les ressources (RBAC) du catalogue](#zero-etl-setup-target-resources-rbac-policy)
+ [Création d’un rôle IAM cible](#zero-etl-setup-target-resources-target-iam-role)

Pour les intégrations avec une cible d' Amazon Redshift entrepôt de données :
+ [https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html#zero-etl-setup-target-redshift-data-warehouse](https://docs.aws.amazon.com/glue/latest/dg/zero-etl-prerequisites.html#zero-etl-setup-target-redshift-data-warehouse)

### Configuration d'une AWS Glue base de données
<a name="zero-etl-setup-target-resources-glue-database"></a>

Pour les intégrations qui utilisent une AWS Glue base de données :

Pour configurer une base de données cible dans le catalogue de AWS Glue données avec un emplacement Amazon S3 :

1. Sur la page d'accueil de la AWS Glue console, sélectionnez **Base de** données sous Catalogue de données.

1. Choisissez **Ajouter une base de données** en haut à droite. Si vous avez déjà créé une base de données, assurez-vous que l’emplacement avec l’URI Amazon S3 est défini pour la base de données.

1. Saisissez un nom et un **emplacement** (URI Amazon S3). Notez que l’emplacement est requis pour l’intégration zéro ETL. Cliquez sur **Créer une base de données** lorsque vous avez terminé.
**Note**  
Le compartiment Amazon S3 doit se trouver dans la même région que la AWS Glue base de données.

Pour plus d'informations sur la création d'une nouvelle base de données dans AWS Glue, voir [Mise en route avec le catalogue de AWS Glue données](https://docs.aws.amazon.com/glue/latest/dg/start-data-catalog.htm).

Vous pouvez également utiliser la commande CLI [https://docs.aws.amazon.com/cli/latest/reference/glue/create-database.html](https://docs.aws.amazon.com/cli/latest/reference/glue/create-database.html) pour créer la base de données dans AWS Glue. Notez que le `LocationUri` dans `--database-input` est obligatoire.

#### Optimisation des tables Iceberg
<a name="zero-etl-common-setup-table-optimization"></a>

Une fois qu'une table est créée AWS Glue dans la base de données cible, vous pouvez activer le compactage pour accélérer les requêtes dans Amazon Athena. Pour plus d’informations sur la configuration des ressources (rôle IAM) pour le compactage, consultez [Conditions préalables requises pour l’optimisation des tables](https://docs.aws.amazon.com/glue/latest/dg/optimization-prerequisites.html).

Pour plus d'informations sur la configuration du compactage sur la AWS Glue table créée par l'intégration, consultez [Optimisation des tables Iceberg](https://docs.aws.amazon.com/glue/latest/dg/table-optimizers.html).

### Fourniture d’une politique d’accès basée sur les ressources (RBAC) du catalogue
<a name="zero-etl-setup-target-resources-rbac-policy"></a>

Pour les intégrations qui utilisent une AWS Glue base de données, ajoutez les autorisations suivantes à la politique RBAC du catalogue afin de permettre les intégrations entre la source et la cible.

**Note**  
Pour les intégrations entre comptes, la politique de rôle d’Alice (utilisateur créant l’intégration) et la politique de ressources du catalogue doivent autoriser `glue:CreateInboundIntegration` sur la ressource. Pour un même compte, une politique de ressources ou une politique de rôle autorisant `glue:CreateInboundIntegration` sur la ressource est suffisante. Les deux scénarios doivent toujours autoriser `glue.amazonaws.com` pour `glue:AuthorizeInboundIntegration`.

Vous pouvez accéder aux **paramètres du catalogue** sous **Catalogue de données**. Indiquez ensuite les autorisations suivantes et complétez les informations manquantes.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
        	"arn:aws:iam::123456789012:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:CreateInboundIntegration"
      ],
      "Resource": [
      	"arn:aws:glue:us-east-1:111122223333:catalog",
				"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
      ],
      "Condition": {
        "StringLike": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    },
    {
      "Principal": {
        "Service": [
          "glue.amazonaws.com"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:AuthorizeInboundIntegration"
      ],
      "Resource": [
      	"arn:aws:glue:us-east-1:111122223333:catalog",
				"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
      ],
      "Condition": {
        "StringEquals": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    }
  ]
}
```

------

### Création d’un rôle IAM cible
<a name="zero-etl-setup-target-resources-target-iam-role"></a>

Créez un rôle IAM cible avec les autorisations et les relations d’approbation suivantes :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "glue:GetDatabase"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "glue:CreateTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:DeleteTable",
                "glue:UpdateTable",
                "glue:GetTableVersion",
                "glue:GetTableVersions",
                "glue:GetResourcePolicy"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:database/DatabaseName",
                "arn:aws:glue:us-east-1:111122223333:table/DatabaseName/*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "AWS/Glue/ZeroETL"
                }
            },
            "Effect": "Allow"
        },
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

Ajoutez la politique de confiance suivante pour permettre au AWS Glue service d'assumer le rôle :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## Création d’un entrepôt de données Amazon Redshift
<a name="zero-etl-setup-target-redshift-data-warehouse"></a>

Lorsque votre objectif d’intégration zéro ETL est un entrepôt de données Amazon Redshift, créez-le si vous n’en avez pas déjà un. Pour créer un groupe de travail Amazon Redshift sans serveur, voir [Création d’un groupe de travail avec un espace de noms](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html). Pour créer un cluster Amazon Redshift, consultez [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

Le `enable_case_sensitive_identifier` paramètre doit être activé dans le Amazon Redshift groupe de travail ou le cluster cible pour que l'intégration soit réussie. Pour plus d’informations sur l’activation de la sensibilité à la casse, consultez [Activation de la sensibilité à la casse pour votre entrepôt de données](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) dans le Guide de la gestion Amazon Redshift.

Une fois la configuration Amazon Redshift du groupe de travail ou du cluster terminée, vous devez configurer votre entrepôt de données. Pour plus d'informations, reportez-vous à la section [Getting started with zero-ETL integrations](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html) dans le Guide de Amazon Redshift gestion.

## Configuration d’un VPC pour votre intégration zéro ETL
<a name="zero-etl-setup-vpc"></a>

Pour configurer un VPC pour votre intégration zéro ETL :

1. Accédez à **VPC** > Votre VPCs et choisissez Create **VPC**.

   1. Sélectionnez **VPC et plus encore**.

   1. Définissez le nom de votre VPC.

   1. Définissez le IPv4 CIDR : 10.0.0.0/16.

   1. Définissez le nombre de zones de disponibilité sur 1.

   1. Définissez le nombre de sous-réseaux publics et privés sur 1.

   1. Définissez **Passerelles NAT** sur Aucune.

   1. Définissez **Points de terminaison d’un VPC** sur Passerelle S3.

   1. Activez les noms d’hôte DNS et la résolution DNS.

1. Accédez à **Points de terminaison**, puis choisissez **Créer un point de terminaison**.

1. Créez des points de terminaison pour ces services dans le sous-réseau privé de votre VPC (utilisez le groupe de sécurité par défaut) :

   1. com.amazonaws.us-east-1.lambda

   1. com.amazonaws.us-east-1.glue

   1. com.amazonaws.us-east-1.sts

Créez la AWS Glue connexion :

1. Accédez à **AWS Glue** > **Connexions de données**, puis choisissez **Créer une connexion**.

1. Sélectionnez **Réseau**.

1. Sélectionnez le VPC, le sous-réseau (privé) et le groupe de sécurité par défaut que vous avez créés.

### Configuration du rôle cible pour le VPC
<a name="zero-etl-setup-vpc-target-role"></a>

Le rôle cible doit disposer des autorisations suivantes (en plus des autres autorisations requises par les ETl intégrations Zéro) :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CustomerVpc",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags",
        "ec2:DescribeRouteTables",
        "ec2:DescribeVpcEndpoints",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSubnets",
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "glue:GetConnection"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Configuration des propriétés des ressources de l’étape cible
<a name="zero-etl-setup-vpc-target-leg"></a>



Si vous utilisez la CLI, définissez les propriétés des ressources du segment cible sur la AWS Glue base de données cible que vous avez créée. Transmettez l'ARN du rôle cible, ainsi que le nom de la AWS Glue connexion.

```
aws glue create-integration-resource-property \
--resource-arn arn:aws:glue:us-east-1:<account-id>:database/exampletarget \
--target-processing-properties '{"RoleArn" : "arn:aws:iam::<account-id>:role/example-role", "ConnectionName":"example-vpc-3"}' \
--endpoint-url https://example.amazonaws.com --region us-east-1
```

### Erreurs client possibles
<a name="zero-etl-setup-vpc-client-errors"></a>

Les erreurs client possibles associées à une intégration configurée avec un VPC sont les suivantes.


| Message d’erreur | Action requise | 
| --- | --- | 
| Le rôle fourni n'est pas autorisé à effectuer du collage : GetConnection lors de la connexion. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :DescribeSubnets. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :DescribeSecurityGroups. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :DescribeVpcEndpoints. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :DescribeRouteTables. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :CreateTags. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le rôle fourni n'est pas autorisé à exécuter ec2 :CreateNetworkInterface. Ajoutez cette autorisation à la politique de rôle, puis attendez que l’intégration soit rétablie. | Mettre à jour la politique de rôle | 
| Le sous-réseau de connexion fourni ne contient pas de point de terminaison S3 ou de passerelle NAT valide. Mettez à jour le sous-réseau, puis attendez que l’intégration soit rétablie. | Mettre à jour les points de terminaison du sous-réseau VPC | 
| Sous-réseau de connexion introuvable. Mettez à jour le sous-réseau de connexion, puis attendez que l’intégration soit rétablie. | Mettre à jour AWS Glue la connexion | 
| Groupe de sécurité de connexion introuvable. Mettez à jour le groupe de sécurité de connexion, puis attendez que l’intégration soit rétablie. | Mettre à jour AWS Glue la connexion | 
| Impossible de se connecter à S3 via la connexion VPC fournie. Mettez à jour les configurations de sous-réseau, puis attendez que l’intégration soit rétablie. | Mettre à jour les points de terminaison du sous-réseau VPC | 
| Impossible de se connecter à Lambda via la connexion VPC fournie. Mettez à jour les configurations de sous-réseau, puis attendez que l’intégration soit rétablie. | Mettre à jour les points de terminaison du sous-réseau VPC | 

## Configuration d’une intégration entre comptes zéro ETL
<a name="zero-etl-setup-cross-account-integration"></a>

Pour configurer une intégration entre comptes zéro ETL :

1. Configurez une politique de ressources cible comme décrit dans [Fourniture d’une politique d’accès basée sur les ressources (RBAC) du catalogue](#zero-etl-setup-target-resources-rbac-policy). Assurez-vous que le rôle du compte source est explicitement autorisé sur la ressource cible.

1. Vérifiez que le rôle du compte source (le rôle utilisé pour créer l’intégration) possède les caractéristiques suivantes :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Stmt123456789012",
               "Action": [
                   "glue:CreateInboundIntegration"
               ],
               "Effect": "Allow",
               "Resource": [
               	"arn:aws:glue:us-east-1:111122223333:catalog",
   							"arn:aws:glue:us-east-1:111122223333:database/DatabaseName"
               ]
           }
       ]
   }
   ```

------

1. Créez l’intégration comme décrit dans [Création d’une intégration](zero-etl-common-integration-tasks.md#zero-etl-creating).

# Configuration d’une source pour une intégration zéro ETL
<a name="zero-etl-sources"></a>



## Prise en charge pour les entités SAP spéciales
<a name="zero-etl-support-special-sap-entities"></a>

 AWS Glue Zero-ETL prend en charge OData les entités SAP qui utilisent le framework de provisionnement des données opérationnelles (ODP) de SAP ainsi que celles qui n'utilisent pas le framework ODP (entités non ODP). La liste des entités prises en charge inclut : ODP\$1SAP (Business Warehouse ou extracteurs BW), ODP\$1CDS (Core Data Services ou CDS Views) et les services non basés sur ODP pour SAP. OData APIs AWS Glue Zero-ETL prend en charge la capture instantanée complète et la capture incrémentielle des données de modification pour les entités SAP ODP et non ODP. Pour les entités ODP, les modifications incrémentielles sont capturées à l'aide de liens delta. Pour les entités non ODP, si un champ interrogeable pouvant être utilisé pour une ingestion basée sur un horodatage est sélectionné, Zero-ETL utilisera ce champ pour une ingestion incrémentielle. 

 Lors de l'ingestion de données provenant d'entités SAP à l'aide de AWS Glue Zero-ETL, il convient de noter les points suivants : 
+  Zero-ETL ne peut ingérer que les entités SAP configurées pour la méthode GET\$1ENTITYSET dans SAP. 
+  Pour les entités SAP non ODP, si aucun champ d'horodatage n'est sélectionné pour les mises à jour incrémentielles, AWS Glue Zero-ETL prend en charge l'extraction et la réplication complètes des données avec des upserts uniquement (aucune suppression). 
+  Pour les entités d'extraction ODP, nous déterminons les ensembles de clés primaires valides lors du traitement des données. D'autres entités SAP nécessitent une étape supplémentaire consistant à fournir le jeu de clés primaires valide en entrée, en particulier les entités SAP qui commencent par`EntityOf`. Lorsqu’une entité `EntityOf` est sélectionnée, vous êtes invité à fournir l’ensemble de clés primaires. 

![\[La capture d’écran montre les paramètres de configuration des données source. Si les données source sélectionnées comportent une entité commençant parEntityOf, fournissez le jeu de clés primaires.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/zero-etl-settings-configure-entityof-primary-key-set.png)


## Configuration d’une source Amazon DynamoDB
<a name="zero-etl-config-source-dynamodb"></a>

Pour accéder aux données de votre table Amazon DynamoDB source AWS Glue , vous devez avoir accès à la description de la table et à l'exportation des données depuis celle-ci. Amazon DynamoDB a récemment introduit une fonctionnalité qui permet de configurer une politique d’accès basé sur les ressources (RBAC).

L’exemple de politique d’accès basé sur les ressources (RBAC) suivant utilise un caractère générique (\$1) pour l’intégration :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "1111",
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Resource": "*",
      "Action": [
        "dynamodb:ExportTableToPointInTime",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeExport"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "111122223333"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:glue:us-east-1:111122223333:integration:*"
        }
      }
    }
  ]
}
```

------

1. Pour la DynamoDB que vous souhaitez répliquer, collez le modèle de politique RBAC ci-dessus dans **Politique basée sur les ressources pour la table** et renseignez les champs.

1. Si vous souhaitez rendre la politique restrictive, vous devez la mettre à jour après avoir créé l’intégration, spécifier l’`integrationArn` complet et utiliser la condition `StringEquals` à la place de `StringLike`.

1. Assurez-vous que la Point-in-time restauration (PITR) est activée pour la table DynamoDB.

1. Assurez-vous d’ajouter `Describe Export` à la politique d’accès basé sur les ressources (RBAC).

Vous pouvez également ajouter la politique RBAC à la table à l’aide de la commande suivante :

```
aws dynamodb put-resource-policy \
--resource-arn arn:aws:dynamodb:<region>:<account-id>:table/<ddb-table-name> \
--policy file://resource-policy-with-condition.json \
--region <region>
```

Pour vérifier que la politique est correctement appliquée, utilisez la commande suivante pour obtenir la politique de ressources d’une table :

```
aws dynamodb get-resource-policy \
--resource-arn arn:aws:dynamodb:<region>:<account-id>:table/<ddb-table-name>
--region <region>
```

## Configuration d’une source Salesforce
<a name="zero-etl-config-source-salesforce"></a>

Pour créer une connexion pour une source Salesforce, consultez [Connexion à Salesforce](connecting-to-data-salesforce.md).

Après avoir créé la connexion, vous pouvez spécifier les données source à répliquer.

![\[La capture d’écran montre la spécification des données source à répliquer dans le cadre d’une intégration zéro ETL.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/zero-etl-salesforce-source-data.png)


À l’aide de votre intégration zéro ETL, vous pouvez effectuer des opérations DDL pour les entités prises en charge. Pour obtenir la liste des entités non prises en charge, consultez [Entités et champs non pris en charge pour Salesforce](zero-etl-config-source-salesforce-unsupported-entities.md).

## Configuration d’une source Salesforce Marketing Cloud Account Engagement
<a name="zero-etl-config-source-salesforce-mcae"></a>

Pour créer une connexion pour une source Salesforce Marketing Cloud Account Engagement, consultez [Connexion à Salesforce Marketing Cloud Account Engagement](connecting-to-data-salesforce-marketing-cloud-account-engagement.md).

À l’aide de votre intégration zéro ETL, vous pouvez effectuer des opérations DDL pour les entités prises en charge suivantes :


| Libellé d’entité | Nom de l'entité | 
| --- | --- | 
| Campaign | campaign | 
| List | list | 
| Contenu dynamique | dynamic-content | 
| List Membership | list-membership | 
| Prospect | prospect | 
| Utilisateur | user | 
| EmailTemplate | email-template | 
| EngagementStudioProgram | engagement-studio-program | 
| Landing Page | landing-page | 
| List Email | list-email | 

## Configuration Salesforce supplémentaire
<a name="zero-etl-config-source-additional-salesforce-configuration"></a>

Salesforce zéro ETL a besoin de l’autorisation Lake Formation sur la base de données Glue, sinon il recevra `IngestionFailed` du journal avec l’erreur suivante :

```
"errorMessage": "Insufficient lake formation permissions on Target Glue database."
```

## Configuration d'une OData source SAP
<a name="zero-etl-config-source-sap-odata"></a>

Pour créer une connexion pour une OData source SAP, consultez[Connexion à SAP OData](connecting-to-data-sap-odata.md).

Les intégrations sans ETL avec une OData source SAP prennent désormais en charge les entités commençant par. `EntityOf` La possibilité de remplacer la clé primaire n'est actuellement prise en charge que pour les SAPOData EntityOf objets. Une fois cette propriété définie, elle ne peut pas être modifiée.

## Configuration d'une ServiceNow source
<a name="zero-etl-config-source-servicenow"></a>

Pour créer une connexion pour une ServiceNow source, consultez[Connexion à ServiceNow](connecting-to-data-servicenow.md).

## Configuration d’une source Zendesk
<a name="zero-etl-config-source-zendesk"></a>

Pour créer une connexion pour une source Zendesk, consultez [Connexion à Zendesk](connecting-to-data-zendesk.md).

À l’aide de votre intégration zéro ETL, vous pouvez effectuer les opérations DDL suivantes pour les entités prises en charge :


| Libellé d’entité | Nom de l'entité | Création prise en charge | Mise à jour prise en charge | Suppression prise en charge | 
| --- | --- | --- | --- | --- | 
| Tickets | billets | Y | Y | Y | 
| Utilisateur | users | Y | Y | Y | 
| Satisfaction Rating | satisfaction-rating | Y | Y | N | 
| Articles | articles | Y | Y | N | 
| Organisation | organisations | Y | Y | Y | 
| Appels | calls | Y | Y | N | 
| Call Legs | legs | Y | Y | N | 

## Configuration d’une source Zoho CRM
<a name="zero-etl-config-source-zoho-crm"></a>

Pour créer une connexion pour une source Zoho CRM, consultez [Connexion à Zoho CRM](connecting-to-data-zoho-crm.md).

À l’aide de votre intégration zéro ETL, vous pouvez effectuer les opérations DDL suivantes pour les entités prises en charge :


| Libellé d’entité | Nom de l'entité | DML-Insert pris en charge | DML-Modify pris en charge | DML-Delete pris en charge | DDL-Insert pris en charge | DDL-Modify pris en charge | DDL-Delete pris en charge | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Leads | lead | Y | Y | Y | Y | Y | Y | 
| Comptes | compte | Y | Y | Y | Y | Y | Y | 
| Contacts | contact | Y | Y | Y | Y | Y | Y | 
| Campagnes | campaign | Y | Y | Y | Y | Y | Y | 
| Tâches | tâche | Y | Y | Y | Y | Y | Y | 
| Événements | event | Y | Y | Y | Y | Y | Y | 
| Appels | appel | Y | Y | Y | Y | Y | Y | 
| Solutions | solution | Y | Y | Y | Y | Y | Y | 
| Produits | product | Y | Y | Y | Y | Y | Y | 
| Vendors | vendor | Y | Y | Y | Y | Y | Y | 
| Quotes | quote | Y | Y | Y | Y | Y | Y | 
| Sales Orders | sales-order | Y | Y | Y | Y | Y | Y | 
| Purchase Orders | purchase-order | Y | Y | Y | Y | Y | Y | 
| Factures | facture | Y | Y | Y | Y | Y | Y | 
| Cas | cas | Y | Y | Y | Y | Y | Y | 
| Price Books | price-book | Y | Y | Y | Y | Y | Y | 

## Configuration d’une source Facebook Ads
<a name="zero-etl-config-source-facebook-ads"></a>

Pour créer une connexion pour une source Facebook Ads, consultez [Connexion à Facebook Ads](connecting-to-data-facebook-ads.md).

À l’aide de votre intégration zéro ETL, vous pouvez effectuer les opérations DDL suivantes pour les entités prises en charge :


| Libellé d’entité | Nom de l'entité | Création prise en charge | Mise à jour prise en charge | Suppression prise en charge | 
| --- | --- | --- | --- | --- | 
| Adset | \$1/adsets | Y | Y | Y | 
| Campaign | \$1/campaigns | Y | Y | Y | 
| Ads | \$1/ads | Y | Y | Y | 

## Configuration d’une source Instagram Ads
<a name="zero-etl-config-source-instagram-ads"></a>

Pour créer une connexion pour une source Instagram Ads, consultez [Connexion à Instagram Ads](connecting-to-data-instagram-ads.md).

À l’aide de votre intégration zéro ETL, vous pouvez effectuer les opérations DDL suivantes pour les entités prises en charge :


| Nom de l'entité | Création prise en charge | Mise à jour prise en charge | Suppression prise en charge | 
| --- | --- | --- | --- | 
| \$1/adsets | Y | Y | Y | 
| \$1/campaigns | Y | Y | Y | 
| \$1/ads | Y | Y | Y | 

# Entités et champs non pris en charge pour Salesforce
<a name="zero-etl-config-source-salesforce-unsupported-entities"></a>

Les entités ou champs Salesforce suivants ne sont pas pris en charge pour une utilisation dans le cadre d’une intégration zéro ETL avec une source Salesforce.

```
AccountChangeEvent, AccountContactRoleChangeEvent, AccountHistory, AccountShare, ActiveFeatureLicenseMetric, ActivePermSetLicenseMetric, ActiveProfileMetric, ActivityFieldHistory, amzsec__asi_Telemetry_Data_Store__ChangeEvent, amzsec__asi_Telemetry_Data_Store__History, amzsec__asi_Telemetry_Data_Store__Share, amzsec__asi_Telemetry_Job_Log__ChangeEvent, amzsec__asi_Telemetry_Job_Log__History, amzsec__asi_Telemetry_Job_Log__Share, amzsec__asi_Telemetry_Requirement__ChangeEvent, amzsec__asi_Telemetry_Requirement__History, amzsec__asi_Telemetry_Requirement__Share, ApexClass, ApexComponent, ApexLog, ApexPage, ApexTestQueueItem, ApexTestResult, ApexTrigger, AssetChangeEvent, AssetHistory, AssetRelationshipHistory, AssetShare, AssignmentRule, AssociatedLocationHistory, AsyncApexJob, AuditTrailFileExportShare, AuthorizationFormConsentChangeEvent, AuthorizationFormConsentHistory, AuthorizationFormConsentShare, AuthorizationFormDataUseHistory, AuthorizationFormDataUseShare, AuthorizationFormHistory, AuthorizationFormShare, AuthorizationFormTextHistory, AuthProvider, AuthSession, BatchJobHistory, BatchJobPartFailedRecordHistory, BatchJobPartHistory, BatchJobShare, BrandTemplate, BriefcaseAssignmentChangeEvent, BriefcaseDefinitionChangeEvent, BusinessBrandShare, BusinessHours, BusinessProcess, CalcMatrixColumnRangeHistory, CalcProcStepRelationshipHistory, CalculationMatrixColumnHistory, CalculationMatrixHistory, CalculationMatrixRowHistory, CalculationMatrixShare, CalculationMatrixVersionHistory, CalculationProcedureHistory, CalculationProcedureShare, CalculationProcedureStepHistory, CalculationProcedureVariableHistory, CalculationProcedureVersionHistory, Calendar, CalendarViewShare, CallCenter, CallCoachConfigModifyEvent, CampaignChangeEvent, CampaignHistory, CampaignMemberChangeEvent, CampaignMemberStatusChangeEvent, CampaignShare, CaseChangeEvent, CaseHistory, CaseHistory2 CaseHistory2ChangeEvent, CaseRelatedIssueChangeEvent, CaseRelatedIssueHistory, CaseShare, CaseStatus, CaseTeamMember, CaseTeamRole, CaseTeamTemplate, CaseTeamTemplateMember, CaseTeamTemplateRecord, CategoryNode, ChangeRequestChangeEvent, ChangeRequestHistory, ChangeRequestRelatedIssueChangeEvent, ChangeRequestRelatedIssueHistory, ChangeRequestRelatedItemChangeEvent, ChangeRequestRelatedItemHistory, ChangeRequestShare, ChatRetirementRdyMetrics, ChatterActivity, ClientBrowser, CollaborationGroup, CollaborationGroupMember, CollaborationGroupMemberRequest, CollaborationInvitation, CommSubscriptionChannelTypeHistory, CommSubscriptionChannelTypeShare, CommSubscriptionConsentChangeEvent, CommSubscriptionConsentHistory, CommSubscriptionConsentShare, CommSubscriptionHistory, CommSubscriptionShare, CommSubscriptionTimingHistory, Community, ConnectedApplication, ContactChangeEvent, ContactHistory, ContactPointAddressChangeEvent, ContactPointAddressHistory, ContactPointAddressShare, ContactPointConsentChangeEvent, ContactPointConsentHistory, ContactPointConsentShare, ContactPointEmailChangeEvent, ContactPointEmailHistory, ContactPointEmailShare, ContactPointPhoneChangeEvent, ContactPointPhoneHistory, ContactPointPhoneShare, ContactPointTypeConsentChangeEvent, ContactPointTypeConsentHistory, ContactPointTypeConsentShare, ContactRequestShare, ContactShare, ContentDocumentChangeEvent, ContentDocumentHistory, ContentDocumentLink, ContentDocumentLinkChangeEvent, ContentDocumentSubscription, ContentFolderItem, ContentFolderLink, ContentFolderMember, ContentNote, ContentNotification, ContentTagSubscription, ContentUserSubscription, ContentVersionChangeEvent, ContentVersionComment, ContentVersionHistory, ContentVersionRating, ContentWorkspace, ContentWorkspaceMember, ContentWorkspacePermission, ContentWorkspaceSubscription, ContractChangeEvent, ContractHistory, ContractLineItemChangeEvent, ContractLineItemHistory, ContractStatus, Conversation, ConversationParticipant, CronJobDetail, CronTrigger, CustomBrand, CustomBrandAsset, CustomerShare, CustomHttpHeader, DashboardComponent, DataUseLegalBasisHistory, DataUseLegalBasisShare, DataUsePurposeHistory, DataUsePurposeShare, DecisionTableRecordset, DeleteEvent, DocumentAttachmentMap, Domain, DomainSite, DTRecordsetReplicaShare, EmailBounceEvent, EmailMessageChangeEvent, EmailServicesAddress, EmailServicesFunction, EmailTemplate, EmailTemplateChangeEvent, EngagementAttendeeChangeEvent, EngagementAttendeeHistory, EngagementChannelTypeHistory, EngagementChannelTypeShare, EngagementInteractionChangeEvent, EngagementInteractionHistory, EngagementInteractionShare, EngagementInterface, EngagementTopicChangeEvent, EngagementTopicHistory, EntitlementChangeEvent, EntitlementHistory, EntitlementTemplate, EntityMilestoneHistory, EntitySubscription, EventChangeEvent, EventRelationChangeEvent, EventRelayConfigChangeEvent, ExpressionSetHistory, ExpressionSetShare, ExpressionSetVersionHistory, ExternalEventMappingShare, FeedAttachment, FeedLike, FeedPollChoice, FeedPollVote, FeedSignal, FieldPermissions, FieldSecurityClassification, FiscalYearSettings, FlowInterviewLogShare, FlowInterviewShare, FlowOrchestrationEvent, FlowOrchestrationInstanceShare, FlowOrchestrationStageInstanceShare, FlowOrchestrationStepInstanceShare, FlowOrchestrationWorkItemShare, FlowRecordShare, FlowRecordVersionChangeEvent, FlowTestResultShare, Folder, Group, GroupMember, Holiday, IdeaComment, IdpEventLog, ImageHistory, ImageShare, IncidentChangeEvent, IncidentHistory, IncidentRelatedItemChangeEvent, IncidentRelatedItemHistory, IncidentShare, IndividualChangeEvent, IndividualHistory, IndividualShare, KnowledgeableUser, LeadChangeEvent, LeadHistory, LeadShare, LeadStatus, LightningExitByPageMetrics, LightningToggleMetrics, LightningUsageByAppTypeMetrics, LightningUsageByBrowserMetrics, LightningUsageByFlexiPageMetrics, LightningUsageByPageMetrics, ListEmailChangeEvent, ListEmailShare, ListView, LocationChangeEvent, LocationHistory, LocationShare, LocationTrustMeasureShare, LoginHistory, LoginIp, MacroChangeEvent, MacroHistory, MacroInstructionChangeEvent, MacroShare, MacroUsageShare, ManagedContentVariantChangeEvent, MessagingEndUserHistory, MessagingEndUserShare, MessagingSessionHistory, MessagingSessionShare, MilestoneType, MLEngagementEvent, ObjectPermissions, OpportunityChangeEvent, OpportunityContactRoleChangeEvent, OpportunityFieldHistory, OpportunityLineItemChangeEvent, OpportunityShare, OpportunityStage, OrderChangeEvent, OrderHistory, OrderItemChangeEvent, OrderItemHistory, OrderShare, OrderStatus, Organization, OrgEmailAddressSecurity, OrgWideEmailAddress, OutgoingEmail, OutgoingEmailRelation, PackageLicense, PartnerRole, PartyConsentChangeEvent, PartyConsentHistory, PartyConsentShare, Period, PermissionSet, PermissionSetAssignment, PermissionSetTabSetting, Pricebook2ChangeEvent, Pricebook2History, PricebookEntryChangeEvent, PricebookEntryHistory, PrivacyJobSessionShare, PrivacyObjectSessionShare, PrivacyRTBFRequestHistory, PrivacyRTBFRequestShare, PrivacySessionRecordFailureShare, ProblemChangeEvent, ProblemHistory, ProblemIncidentChangeEvent, ProblemIncidentHistory, ProblemRelatedItemChangeEvent, ProblemRelatedItemHistory, ProblemShare, ProcessDefinition, ProcessExceptionEvent, ProcessExceptionShare, ProcessInstanceChangeEvent, ProcessInstanceStep, ProcessInstanceStepChangeEvent, ProcessNode, Product2ChangeEvent, Product2History, ProductEntitlementTemplate, Profile, ProfileSkillEndorsementHistory, ProfileSkillHistory, ProfileSkillShare, ProfileSkillUserHistory, PromptActionShare, PromptErrorShare, QueueSobject, QuickTextChangeEvent, QuickTextHistory, QuickTextShare, QuickTextUsageShare, RecentlyViewed, RecommendationChangeEvent, RecordActionHistory, RecordAlertHistory, RecordAlertShare, RecordType, ScorecardShare, SellerHistory, SellerShare, ServiceContractChangeEvent, ServiceContractHistory, ServiceContractShare, SetupAuditTrail, SetupEntityAccess, SharingRecordCollectionShare, Site, SiteHistory, SiteRedirectMapping, SocialPersonaHistory, SocialPostChangeEvent, SocialPostHistory, SocialPostShare, SolutionHistory, SolutionStatus, StaticResource, StreamingChannelShare, TableauHostMappingShare, TaskChangeEvent, TaskPriority, TaskStatus, ThreatDetectionFeedback, TimelineObjectDefinitionChangeEvent, TodayGoalShare, Topic, TopicUserEvent, Translation, User, UserAppMenuCustomizationShare, UserChangeEvent, UserDefinedLabelAssignmentShare, UserDefinedLabelShare, UserEmailPreferredPersonShare, UserLicense, UserLogin, UserPackageLicense, UserPreference, UserPrioritizedRecordShare, UserProvisioningRequestShare, UserRole, UserShare, VideoCallChangeEvent, VideoCallParticipantChangeEvent, VideoCallRecordingChangeEvent, VideoCallShare, VisualforceAccessMetrics, VoiceCallChangeEvent, VoiceCallRecordingChangeEvent, VoiceCallShare, Vote, WebLink, WorkAccessShare, WorkBadgeDefinitionHistory, WorkBadgeDefinitionShare, WorkOrderChangeEvent, WorkOrderHistory, WorkOrderLineItemChangeEvent, WorkOrderLineItemHistory, WorkOrderLineItemStatus, WorkOrderShare, WorkOrderStatus, WorkPlanChangeEvent, WorkPlanHistory, WorkPlanShare, WorkPlanTemplateChangeEvent, WorkPlanTemplateEntryChangeEvent, WorkPlanTemplateEntryHistory, WorkPlanTemplateHistory, WorkPlanTemplateShare, WorkStepChangeEvent, WorkStepHistory, WorkStepStatus, WorkStepTemplateChangeEvent, WorkStepTemplateHistory, WorkStepTemplateShare, WorkThanksShare
```

# Types d'entités non pris en charge pour SAP
<a name="zero-etl-config-source-sap-unsupported-entities"></a>

Les types d'entités SAP suivants ne sont pas pris en charge pour une utilisation dans le cadre d'une intégration zéro ETL avec une source SAP.

```
ODP_HANA (HANA calculation views), ODP_SLT (SLT Replication Server)
```

# Entités et champs non pris en charge pour ServiceNow
<a name="zero-etl-config-source-servicenow-unsupported-entities"></a>

Les ServiceNow entités ou champs suivants ne sont pas pris en charge pour une utilisation dans le cadre d'une intégration zéro ETL avec une ServiceNow source.

```
ais_acl_overrides, ais_async_genius_result, ais_async_request, ais_connection, ais_genius_result_configuration_parameters, ais_partition_health, ais_partition_health_response, ais_publish_history, ais_relevancy_training_execution, ais_relevancy_training_staging, ais_search_profile_relevancy_model, catalog_draft_entities, clone_log, clone_log0000, clone_log0001, clone_log0002, clone_log0003, clone_log0004, clone_log0005, clone_log0006, clone_log0007, cmdb_ie_context, cmdb_ie_log, cmdb_ie_run, cmdb_ire_partial_payloads_index, cmdb_qb_result_base$par1, cmdb$par1, discovery_log, discovery_log0000, discovery_log0001, discovery_log0002, discovery_log0003, discovery_log0004, discovery_log0005, discovery_log0006, discovery_log0007, ecc_agent_log, entitlement_data, entl_subscription_map, gs_entitlement_plugin_mapping, ih_transaction_exclusion, import_log, import_log0000, import_log0001, import_log0002, import_log0003, import_log0004, import_log0005, import_log0006, import_log0007, jrobin_archive, jrobin_database, jrobin_datasource, jrobin_definition, jrobin_graph, jrobin_graph_line, jrobin_graph_set, jrobin_graph_set_member, jrobin_shard, jrobin_shard_location, license_role_discovery_run, logger_configuration_validation, m2m_analytics_event_logger, m2m_user_consent_info, ml_artifact_object_store, np$sys_gen_ai_filter_sample, np$sys_ui_element, np$sys_ui_list_element, one_api_service_plan_feature_invocation, one_api_service_plan_invocation, open_nlu_predict_log, open_nlu_predict_log0000, open_nlu_predict_log0001, open_nlu_predict_log0002, open_nlu_predict_log0003, open_nlu_predict_log0004, open_nlu_predict_log0005, open_nlu_predict_log0006, open_nlu_predict_log0007, pa_diagnostic_log, pa_diagnostic_log0000, pa_diagnostic_log0001, pa_diagnostic_log0002, pa_diagnostic_log0003, pa_diagnostic_log0004, pa_diagnostic_log0005, pa_diagnostic_log0006, pa_diagnostic_log0007, pa_favorites, pa_job_log_rows, pa_job_log_rows0000, pa_job_log_rows0001, pa_job_log_rows0002, pa_job_log_rows0003, pa_job_log_rows0004, pa_job_log_rows0005, pa_job_log_rows0006, pa_job_log_rows0007, pa_migration_ignored_scores, pa_scores_l1, pa_scores_l2, pa_scores_migration_groups, par_dashboard_conversion_backup, promin_log, promin_log0000, promin_log0001, promin_log0002, promin_log0003, promin_log0004, promin_log0005, promin_log0006, promin_log0007, promin_request_object, proposed_change_verification_log, proposed_change_verification_log0000, proposed_change_verification_log0001, proposed_change_verification_log0002, proposed_change_verification_log0003, proposed_change_verification_log0004, proposed_change_verification_log0005, proposed_change_verification_log0006, proposed_change_verification_log0007, protected_table_log, protected_table_log0000, protected_table_log0001, protected_table_log0002, protected_table_log0003, protected_table_log0004, protected_table_log0005, protected_table_log0006, protected_table_log0007, pwd_history, qb_query_results, scan_log, scan_log0000, scan_log0001, scan_log0002, scan_log0003, scan_log0004, scan_log0005, scan_log0006, scan_log0007, schema_validator_error, sla_repair_log_entry, sla_repair_log_entry0000, sla_repair_log_entry0001, sla_repair_log_entry0002, sla_repair_log_entry0003, sla_repair_log_entry0004, sla_repair_log_entry0005, sla_repair_log_entry0006, sla_repair_log_entry0007, sla_repair_log_message, sla_repair_log_message0000, sla_repair_log_message0001, sla_repair_log_message0002, sla_repair_log_message0003, sla_repair_log_message0004, sla_repair_log_message0005, sla_repair_log_message0006, sla_repair_log_message0007, sn_bm_client_activity, sn_ci_analytics_st_actionable_notifs, sn_ci_analytics_st_conv_completion_by_cat, sn_ci_analytics_st_conv_dynamic_property, sn_ci_analytics_st_conversation, sn_ci_analytics_st_count_by_date, sn_ci_analytics_st_event_occurrence, sn_ci_analytics_st_event_property_value_trend, sn_ci_analytics_st_issue_auto_resolution, sn_ci_analytics_st_no_clicks, sn_ci_analytics_st_no_results, sn_ci_analytics_st_property_summary_by_event, sn_ci_analytics_st_session_count_per_locale, sn_ci_analytics_st_session_duration, sn_ci_analytics_st_spokes_usage, sn_ci_analytics_st_topic_execution_stats, sn_ci_analytics_st_topic_occurrence, sn_ci_analytics_st_trending_content, sn_ci_analytics_st_trending_queries, sn_ci_analytics_st_users, sn_cs_plugin_signatures, sn_cs_telemetry_log, sn_dfc_application, sn_dfc_product, sn_employee_position, sn_entitlement_st_subscription_application_family, sn_entitlement_st_subscription_application_users, sn_hr_sp_st_relevant_for_you, sn_instance_clone_log, sn_instance_clone_log0000, sn_instance_clone_log0001, sn_instance_clone_log0002, sn_instance_clone_log0003, sn_instance_clone_log0004, sn_instance_clone_log0005, sn_instance_clone_log0006, sn_instance_clone_log0007, sn_km_mr_st_kb_knowledge, sn_me_st_topic, sn_rf_conditional_definition, sn_rf_evaluation_type, sn_rf_evaluation_type_input, sn_rf_recommendation_action, sn_rf_recommendation_experience, sn_rf_recommendation_history, sn_rf_recommendation_rule, sn_rf_record_display_configuration, sn_rf_trend_definition, sn_sub_man_st_account_level_entitlement, sn_sub_man_st_gen_ai_metadata, sn_sub_man_st_instance_used_assist_count, sn_sub_man_st_now_assist_creator_instances, sn_sub_man_st_now_assists_aggregate, sn_sub_man_st_subscribed_groups, sn_sub_man_st_subscription_insights, sn_sub_man_st_subscription_license_detail_metric, sn_sub_man_st_unallocated_group_recommendation, sn_sub_man_st_unconfirmed_user_group, sn_wn_user_app_activity, sn_wn_user_content_activity, snc_monitorable_item, snpar_sched_export_v_scheduled_export_visualization, spotlight, spotlight_audit, spotlight_copy_log_row, spotlight_copy_log_row0000, spotlight_copy_log_row0001, spotlight_copy_log_row0002, spotlight_copy_log_row0003, spotlight_copy_log_row0004, spotlight_copy_log_row0005, spotlight_copy_log_row0006, spotlight_copy_log_row0007, spotlight_job_log_row, spotlight_job_log_row0000, spotlight_job_log_row0001, spotlight_job_log_row0002, spotlight_job_log_row0003, spotlight_job_log_row0004, spotlight_job_log_row0005, spotlight_job_log_row0006, spotlight_job_log_row0007, st_dfc_performance_metric, st_license_detail_metric, st_on_call_hour, st_sc_wizard_question, st_sys_catalog_items_and_variable_sets, st_sys_design_system_icon, subscription_instance_stats, svc_container_config, svc_environment_config, svc_layer_config, svc_model_assoc_ci, svc_model_checkpoint_attr, svc_model_obj_cluster, svc_model_obj_constraint, svc_model_obj_deployable, svc_model_obj_element, svc_model_obj_impact, svc_model_obj_impactrule, svc_model_obj_package, svc_model_obj_path, svc_model_obj_relation, svc_model_obj_service, sys_administrative_script_transaction, sys_amb_message, sys_amb_processor, sys_analytics_batch_state, sys_analytics_config, sys_analytics_data_points_error, sys_analytics_event, sys_analytics_logger, sys_analytics_logger_field, sys_app_payload_loader_rule, sys_app_payload_unloader_rule, sys_app_scan_payload, sys_app_scan_variable, sys_app_scan_variable_type, sys_archive_destroy_log, sys_archive_destroy_run, sys_archive_log, sys_archive_run, sys_atf_transaction_log, sys_attachment_doc, sys_attachment_doc_v2, sys_attachment_soft_deleted, sys_audit, sys_audit_relation, sys_auth_policy_api_allowed, sys_aw_registered_scripting_modal, sys_cache_flush, sys_data_egress_source, sys_dm_delete_count, sys_export_set_log, sys_export_set_log0000, sys_export_set_log0001, sys_export_set_log0002, sys_export_set_log0003, sys_export_set_log0004, sys_export_set_log0005, sys_export_set_log0006, sys_export_set_log0007, sys_flow_compiled_flow, sys_flow_compiled_flow_chunk, sys_flow_context_chunk, sys_flow_context_chunk_archive, sys_flow_context_inputs_chunk, sys_flow_execution_history, sys_flow_log, sys_flow_log0000, sys_flow_log0001, sys_flow_log0002, sys_flow_log0003, sys_flow_plan_context_binding, sys_flow_report_doc, sys_flow_report_doc_chunk, sys_flow_report_doc_chunk_archive, sys_flow_runtime_state_chunk, sys_flow_runtime_value_chunk, sys_flow_subflow_plan_chunk, sys_flow_trigger_plan_chunk, sys_flow_val_listener, sys_flow_value, sys_flow_value_chunk, sys_gen_ai_config_example, sys_gen_ai_feature_mapping, sys_gen_ai_strategy_mapping, sys_gen_ai_usage_log, sys_generative_ai_capability_definition, sys_generative_ai_log, sys_generative_ai_response_validator, sys_generative_ai_validator, sys_geo_routing, sys_geo_routing_config, sys_hop_token, sys_hub_action_plan_chunk, sys_hub_snapshot_chunk, sys_journal_field, sys_journal_field_edit, sys_json_chunk, sys_kaa_policy, sys_kaa_subidentity_assertion, sys_kaa_user_policy_mapping, sys_mapplication, sys_mass_encryption_job, sys_notification_execution_log, sys_notification_execution_log0000, sys_notification_execution_log0001, sys_notification_execution_log0002, sys_notification_execution_log0003, sys_notification_execution_log0004, sys_notification_execution_log0005, sys_notification_execution_log0006, sys_notification_execution_log0007, sys_nowmq_message, sys_nowmq_provider_param_definition, sys_orchestrator_action, sys_pd_asset_configuration, sys_pd_context_chunk, sys_pd_context_log, sys_pd_snapshot_chunk, sys_pd_trigger_license, sys_processing_framework_job, sys_query_index_hint, sys_query_rewrite, sys_query_string_log, sys_replication_queue, sys_replication_queue0, sys_replication_queue1, sys_replication_queue2, sys_replication_queue3, sys_replication_queue4, sys_replication_queue5, sys_replication_queue6, sys_replication_queue7, sys_request_performance, sys_rollback_blacklisted, sys_rollback_conflict, sys_rollback_incremental, sys_rollback_log, sys_rollback_log0000, sys_rollback_log0001, sys_rollback_log0002, sys_rollback_log0003, sys_rollback_log0004, sys_rollback_log0005, sys_rollback_log0006, sys_rollback_log0007, sys_rollback_run, sys_rollback_schema_change, sys_rollback_schema_conflict, sys_rollback_sequence, sys_scheduler_assignment, sys_scheduler_memory_pressure_job_log, sys_script_adapter_rule, sys_script_batch_adapter_rule, sys_search_source_filter, sys_service_authentication, sys_signing_job, sys_suggestion_reader, sys_sync_history_review, sys_trend, sys_unreferenced_preview, sys_unreferenced_record_rule, sys_upgrade_manifest, sys_upgrade_state, sys_ux_asset_cache_buster, sys_ux_lib_component_prop, sys_ux_lib_presource, sys_ux_page_action, sys_ux_page_action_binding, sysevent_queue_runtime, syslog, syslog_app_scope0000, syslog_app_scope0001, syslog_app_scope0002, syslog_app_scope0003, syslog_app_scope0004, syslog_app_scope0005, syslog_app_scope0006, syslog_app_scope0007, syslog_email0000, syslog_email0001, syslog_email0002, syslog_email0003, syslog_email0004, syslog_email0005, syslog_email0006, syslog_email0007, syslog_transaction, syslog_transaction0000, syslog_transaction0001, syslog_transaction0002, syslog_transaction0003, syslog_transaction0004, syslog_transaction0005, syslog_transaction0006, syslog_transaction0007, syslog0000, syslog0001, syslog0002, syslog0003, syslog0004, syslog0005, syslog0006, syslog0007, ts_attachment, ts_c_1_0, ts_c_1_1, ts_c_1_2, ts_c_1_3, ts_c_1_4, ts_c_1_5, ts_c_1_6, ts_c_1_7, ts_c_1_8, ts_c_1_9, ts_c_10_0, ts_c_10_1, ts_c_10_2, ts_c_10_3, ts_c_10_4, ts_c_10_5, ts_c_10_6, ts_c_10_7, ts_c_10_8, ts_c_10_9, ts_c_11_0, ts_c_11_1, ts_c_11_2, ts_c_11_3, ts_c_11_4, ts_c_11_5, ts_c_11_6, ts_c_11_7, ts_c_11_8, ts_c_11_9, ts_c_2_0, ts_c_2_1, ts_c_2_2, ts_c_2_3, ts_c_2_4, ts_c_2_5, ts_c_2_6, ts_c_2_7, ts_c_2_8, ts_c_2_9, ts_c_3_0, ts_c_3_1, ts_c_3_2, ts_c_3_3, ts_c_3_4, ts_c_3_5, ts_c_3_6, ts_c_3_7, ts_c_3_8, ts_c_3_9, ts_c_39_0, ts_c_39_1, ts_c_39_2, ts_c_39_3, ts_c_39_4, ts_c_39_5, ts_c_39_6, ts_c_39_7, ts_c_39_8, ts_c_39_9, ts_c_40_0, ts_c_40_1, ts_c_40_2, ts_c_40_3, ts_c_40_4, ts_c_40_5, ts_c_40_6, ts_c_40_7, ts_c_40_8, ts_c_40_9, ts_c_41_0, ts_c_41_1, ts_c_41_2, ts_c_41_3, ts_c_41_4, ts_c_41_5, ts_c_41_6, ts_c_41_7, ts_c_41_8, ts_c_41_9, ts_c_42_0, ts_c_42_1, ts_c_42_2, ts_c_42_3, ts_c_42_4, ts_c_42_5, ts_c_42_6, ts_c_42_7, ts_c_42_8, ts_c_42_9, ts_c_43_0, ts_c_43_1, ts_c_43_2, ts_c_43_3, ts_c_43_4, ts_c_43_5, ts_c_43_6, ts_c_43_7, ts_c_43_8, ts_c_43_9, ts_c_44_0, ts_c_44_1, ts_c_44_2, ts_c_44_3, ts_c_44_4, ts_c_44_5, ts_c_44_6, ts_c_44_7, ts_c_44_8, ts_c_44_9, ts_c_45_0, ts_c_45_1, ts_c_45_2, ts_c_45_3, ts_c_45_4, ts_c_45_5, ts_c_45_6, ts_c_45_7, ts_c_45_8, ts_c_45_9, ts_c_6_0, ts_c_6_1, ts_c_6_2, ts_c_6_3, ts_c_6_4, ts_c_6_5, ts_c_6_6, ts_c_6_7, ts_c_6_8, ts_c_6_9, ts_c_7_0, ts_c_7_1, ts_c_7_2, ts_c_7_3, ts_c_7_4, ts_c_7_5, ts_c_7_6, ts_c_7_7, ts_c_7_8, ts_c_7_9, ts_c_8_0, ts_c_8_1, ts_c_8_2, ts_c_8_3, ts_c_8_4, ts_c_8_5, ts_c_8_6, ts_c_8_7, ts_c_8_8, ts_c_8_9, ts_c_attachment, ts_chain, ts_deleted_doc, ts_document, ts_field, ts_index_stats, ts_phrase, ts_search_stats, ts_v4_attachment, ts_word, ua_app_metadata, ua_audit_stats, ua_extra_page, ua_monitor_property, ua_monitor_property_audit, ua_shared_service, ua_sn_table_inventory, ua_sp_known_bot, ua_upload_log, v_ais_result_improvement_rule_condition_builder_values, v_cluster_nodes, v_cxs_search_resource, v_db_index, v_db_trigger, v_file_load_order, v_interaction_context, v_iostats, v_mysql_proclist, v_mysql_status, v_mysql_variables, v_on_call_report_cache, v_pa_par_combined_dashboard, v_pd_activity_condition_to_run, v_pd_activity_start_rule_with_condition, v_pd_lane_condition_to_run, v_sql_debug, v_st_kb_category, v_st_kb_most_viewed, v_st_kb_recently_viewed, v_st_km_genai_mra_similar_task, v_st_popular_item, v_st_recent_item, v_st_sc_cat_item, v_st_sc_catalog, v_st_sc_category, validator_run_summary, vtb_card_history, wf_log, wf_log0000, wf_log0001, wf_log0002, wf_log0003, wf_log0004, wf_log0005, wf_log0006, wf_log0007, spotlight_criteria, pa_snapshots, pa_widget_indicators, pa_widgets, sn_cim_register, global, gsw_change_log, gsw_content, gsw_content_group, gsw_content_information, gsw_status_of_content, multi_factor_browser_fingerprint, multi_factor_criteria, pa_filters, password_policy, plan_execution, plan_mysql, plan_oracle, plan_postgres, sc_rest_api_without_access_policy, sn_actsub_activity, sn_actsub_activity_fanout, sn_actsub_activity_stream, sn_actsub_activity_type, sn_actsub_atype_attributes, sn_actsub_atype_notif_pref, sn_actsub_module, sn_actsub_notif_object, sn_actsub_subobject_stream, sn_actsub_subscribable_object, sn_actsub_subscription_notif_pref, sn_actsub_user_stream, sn_appclient_store_outbound_http_quota, sn_appcreator_app_template, sn_critical_update, sn_docker_spoke_images, sn_employee_app, sn_employee_app_access, sn_employee_app_access_criteria, sn_entitlement_genai_assist_counts, sn_entitlement_genai_creator_user_counts, sn_entitlement_genai_creator_users, sn_mif_instance, sn_mif_sync_data, sn_mif_sync_status, sn_mif_table_registration, sn_mif_trust_config, sn_vsc_best_practice_configurations, sn_vsc_best_practice_goals, sn_vsc_changed_hardening_settings, sn_vsc_changed_scan_findings, sn_vsc_check_security_area, sn_vsc_elevation_event, sn_vsc_event, sn_vsc_export_event, sn_vsc_export_setting, sn_vsc_harc_compliance_status_lookup, sn_vsc_hardening_compliance_scores, sn_vsc_impersonation_event, sn_vsc_instance_hardening_settings, sn_vsc_login_event, sn_vsc_scan_comparisons, sn_vsc_scan_summary, sn_vsc_security_check_categories, sn_vsc_security_check_configurations, sn_vsc_security_configuration_groups, sn_vsc_security_privacy_capabilities, sn_vsc_updated_settings, sn_vsc_user_comparisons, sys_app_hash_inventory, sys_coalesce_strategy_deferred, sys_flow_secure_data, sys_formula_function, sys_geocoding_request, sys_global_file_hash, sys_import_set_row, sys_index, sys_index_explain, sys_installation_schedule, sys_installation_schedule_item, sys_offline_app, sys_package, sys_package_dependency_item, sys_package_dependency_m2m, sys_plugins, sys_querystat, sys_reap_package, sys_scoped_plugin, sys_stage_storage_alias, sys_storage_alias, sys_storage_table_alias, sys_store_app, sys_table_partition, sys_upgrade_history_log, sys_user_public_credential, sys_webauthn_authentication_request, sys_webauthn_registration_request, syslog_app_scope, syslog_email, syslog_page_timing, ua_instance_state_config, v_expression_cache, v_private_cache, v_shared_cache, sys_amb_message0002, sys_amb_message0004, sys_amb_message0005, sys_metadata, v_par_unified_report_viz
```

# Configuration d’une cible d’intégration zéro ETL
<a name="zero-etl-target"></a>

Plusieurs options sont proposées AWS lors de la configuration d'une cible pour une intégration zéro ETL. La cible peut être un entrepôt de Amazon Redshift données crypté ou un catalogue Amazon SageMaker Lakehouse.

Avant de sélectionner la cible pour l’intégration zéro ETL, vous devez configurer l’une des ressources cible suivantes.

Les options de configuration pour une cible dans une intégration zéro ETL sont les suivantes :
+ Catalogue et base de données Amazon SageMaker Lakehouse configurés avec le stockage Amazon S3 standard. Consultez [Configuration d'un catalogue Amazon SageMaker Lakehouse avec un stockage S3 standard](#zero-etl-config-target-regular-s3).
+ Un catalogue Amazon SageMaker Lakehouse configuré avec le bucket Amazon S3 Tables. Consultez [Configuration de tableaux Amazon S3 en tant que cibles](#zero-etl-config-target-s3-tables).
+ Un catalogue Amazon SageMaker Lakehouse configuré avec le stockage géré par Amazon Redshift. Consultez [Configuration d'un catalogue Amazon SageMaker Lakehouse avec stockage géré Amazon Redshift](#zero-etl-config-target-redshift-managed-storage).
+ Un entrepôt de données Amazon Redshift identifié par un espace de noms Redshift. Consultez [Configuration d'une cible d'entrepôt de Amazon Redshift données](#zero-etl-config-target-redshift-data-warehouse).

**Note**  
 Vous ne pouvez pas modifier la cible d’une intégration zéro ETL après sa création. 

## Configuration d'un catalogue Amazon SageMaker Lakehouse avec un stockage S3 standard
<a name="zero-etl-config-target-regular-s3"></a>

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un compartiment Amazon S3 normal comme espace de stockage pour la cible de votre catalogue Amazon SageMaker Lakehouse dans le cadre d'une intégration zéro ETL.

### Conditions préalables à la configuration d’une intégration
<a name="zero-etl-config-target-regular-s3-prerequisites"></a>

Avant de créer une intégration zéro ETL avec un catalogue Amazon SageMaker Lakehouse à l'aide d'un stockage S3 standard, vous devez effectuer les tâches de configuration suivantes :

1. Configuration d'une AWS Glue base de données

1. Fournir une politique RBAC du catalogue

1. Créer un rôle IAM cible

Après avoir configuré le catalogue Amazon SageMaker Lakehouse avec le stockage Amazon S3 standard, vous pouvez terminer la configuration [Configuration de l’intégration avec votre cible](#zero-etl-config-target-configuring-the-integration) de l'intégration.

## Configuration de tableaux Amazon S3 en tant que cibles
<a name="zero-etl-config-target-s3-tables"></a>

Cette section décrit les conditions préalables et les étapes de configuration de tableaux Amazon S3 en tant que cibles pour votre intégration zéro ETL.

### Conditions préalables à la configuration d’une intégration
<a name="zero-etl-config-target-s3-tables-prerequisites"></a>

Avant de créer une intégration zéro ETL avec des tableaux Amazon S3 comme cibles, vous devez effectuer les tâches de configuration suivantes :

1. Configuration d’un compartiment de tableaux Amazon S3

1. Fournir une politique RBAC du catalogue

1. Créer un rôle IAM cible

### Configuration d’un compartiment de tableaux Amazon S3
<a name="zero-etl-config-target-s3-tables-bucket"></a>

1. Créez un compartiment de tableaux S3 dans votre compte en suivant les instructions de la section [Getting started with Amazon S3 Tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-getting-started.html).

1. Activez les intégrations Analytics avec votre bucket S3-Table en suivant ces instructions : [Intégration des AWS services avec Amazon S3 Tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html#table-integration-procedures).

### Fourniture d’une politique RBAC du catalogue
<a name="zero-etl-config-target-s3-tables-rbac"></a>

Les autorisations suivantes doivent être ajoutées à la politique RBAC du catalogue pour permettre les intégrations entre la source et la cible du catalogue des tableaux Amazon S3.

La politique de ressources du AWS Glue catalogue cible doit inclure les autorisations du service Glue pour AuthorizeInboundIntegration. En outre, une CreateInboundIntegration autorisation est requise soit sur le principal source qui crée l'intégration, soit dans la politique de AWS Glue ressource cible.

**Note**  
Dans le cas d'un scénario entre comptes, la politique de ressources du catalogue principal et celle du AWS Glue catalogue cible doivent inclure des CreateInboundIntegration autorisations « glue : » sur la ressource.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Principal": {
        "AWS": [
        	"arn:aws:iam::123456789012:user/Alice"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:CreateInboundIntegration"
      ],
      "Resource": [
	      "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*"
      ],
      "Condition": {
        "StringLike": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    },
    {
      "Principal": {
        "Service": [
          "glue.amazonaws.com"
        ]
      },
      "Effect": "Allow",
      "Action": [
        "glue:AuthorizeInboundIntegration"
      ],
      "Resource": [
      "arn:aws:glue:us-east-1:111122223333:catalog/<s3tablescatalog>/*"
      ],
      "Condition": {
        "StringEquals": {
        "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/<table-name>"
        }
      }
    }
  ]
}
```

------

**Note**  
Remplacez `<s3tablescatalog>` par le nom du catalogue de vos tableaux S3.

### Création d’un rôle IAM cible
<a name="zero-etl-config-target-s3-tables-iam"></a>

Créez un rôle IAM cible avec les autorisations et les relations d’approbation suivantes :

Exemple de politique IAM :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3tables:ListTableBuckets",
        "s3tables:GetTableBucket",
        "s3tables:GetTableBucketEncryption",
        "s3tables:GetNamespace",
        "s3tables:CreateNamespace",
        "s3tables:ListNamespaces",
        "s3tables:CreateTable",
        "s3tables:GetTable",
        "s3tables:GetTableEncryption",
        "s3tables:ListTables",
        "s3tables:GetTableMetadataLocation",
        "s3tables:UpdateTableMetadataLocation",
        "s3tables:GetTableData",
        "s3tables:PutTableData"
      ],
      "Resource": "arn:aws:s3tables:us-east-1:111122223333:bucket/*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "cloudwatch:namespace": "AWS/Glue/ZeroETL"
        }
      },
      "Effect": "Allow"
    },
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "*",
      "Effect": "Allow"
    }
  ]
}
```

------

Ajoutez la politique de confiance suivante dans le rôle Target IAM pour permettre au AWS Glue Service de l'assumer :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "glue.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**Note**  
Assurez-vous qu’il n’existe aucune instruction DENY explicite pour ce rôle IAM cible dans la politique de ressources du compartiment des tableaux S3. Une instruction DENY explicite remplacerait toutes les autorisations ALLOW et empêcherait l’intégration de fonctionner correctement.

## Configuration d'un catalogue Amazon SageMaker Lakehouse avec stockage géré Amazon Redshift
<a name="zero-etl-config-target-redshift-managed-storage"></a>

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un catalogue Amazon SageMaker Lakehouse avec un stockage Amazon Redshift géré (RMS) comme cible pour votre intégration zéro ETL.

### Conditions préalables à la configuration d’une intégration
<a name="zero-etl-config-target-rms-prerequisites"></a>

Avant de créer une intégration zéro ETL avec un catalogue Amazon SageMaker Lakehouse à l'aide du stockage géré Redshift, vous devez effectuer les tâches de configuration suivantes :

1. Configuration d'un Amazon Redshift cluster ou d'un groupe de travail sans serveur

1. Enregistrez l' Amazon Redshift intégration avec Lake Formation

1. Créer un catalogue géré dans Lake Formation

1. Configuration des autorisations IAM

### Configuration du stockage Amazon Redshift géré
<a name="zero-etl-config-target-rms-setup"></a>

Pour configurer le stockage Amazon Redshift géré pour votre intégration Zero-ETL :

1. Créez ou utilisez un cluster Amazon Redshift ou un groupe de travail sans serveur existant. Assurez-vous que le `enable_case_sensitive_identifier` paramètre est activé dans le Amazon Redshift groupe de travail ou le cluster cible pour que l'intégration soit réussie. Pour plus d’informations sur l’activation de la sensibilité à la casse, consultez [Activation de la sensibilité à la casse pour votre entrepôt de données](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) dans le Guide de la gestion Amazon Redshift.

1. Enregistrez une intégration de Redshift dans le catalogue dans AWS Lake Formation. Consultez la section [Enregistrement de Amazon Redshift clusters et d'espaces de noms dans le catalogue de AWS Glue données](https://docs.aws.amazon.com/redshift/latest/dg/iceberg-integration-register.html).

1. Créez un catalogue fédéré ou géré dans. AWS Lake Formation Pour en savoir plus, consultez :
   +  [Intégrer Amazon Redshift des données dans le catalogue AWS Glue de données](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-namespaces-datacatalog.html) 
   +  [Création d'un catalogue Amazon Redshift géré dans le catalogue AWS Glue de données](https://docs.aws.amazon.com/lake-formation/latest/dg/create-rms-catalog.html) 

1. Configurez les autorisations IAM pour le rôle cible. Le rôle a besoin d’autorisations pour accéder aux ressources Redshift et Lake Formation. Au minimum, le rôle doit disposer des éléments suivants :
   + Autorisations d’accès au cluster Redshift ou au groupe de travail
   + Autorisations d’accès au catalogue Lake Formation
   + Autorisations de création et de gestion de tableaux dans le catalogue
   + CloudWatch et CloudWatch enregistre les autorisations à des fins de surveillance

Après avoir configuré le catalogue Amazon SageMaker Lakehouse avec le stockage géré par Amazon Redshift, vous pouvez terminer la configuration [Configuration de l’intégration avec votre cible](#zero-etl-config-target-configuring-the-integration) de l'intégration.

## Configuration d'une cible d'entrepôt de Amazon Redshift données
<a name="zero-etl-config-target-redshift-data-warehouse"></a>

Cette section décrit les conditions préalables et les étapes de configuration pour configurer un entrepôt de Amazon Redshift données en tant que cible pour votre intégration zéro ETL.

### Conditions préalables à la configuration d’une intégration
<a name="zero-etl-config-target-redshift-prerequisites"></a>

Avant de créer une intégration zéro ETL avec une cible d'entrepôt de Amazon Redshift données, vous devez effectuer les tâches de configuration suivantes :

1. Configuration d'un Amazon Redshift cluster ou d'un groupe de travail sans serveur

1. Configurer la sensibilité à la casse

1. Configuration des autorisations IAM

### Configuration de l'entrepôt Amazon Redshift de données
<a name="zero-etl-config-target-redshift-setup"></a>

Pour configurer un entrepôt de Amazon Redshift données pour votre intégration Zero-ETL :

1. Accédez à la [console Amazon Redshift](https://console.aws.amazon.com/redshiftv2/home) et cliquez sur **Créer un cluster** ou utilisez un cluster existant. Pour Amazon Redshift sans serveur, cliquez sur **Créer un groupe de travail**.

1. Si vous créez un cluster, choisissez une taille de cluster appropriée et assurez-vous que votre cluster est chiffré. Pour le sans serveur, configurez les paramètres de groupe de travail en fonction de vos besoins.

1. Assurez-vous que le `enable_case_sensitive_identifier` paramètre est activé dans le Amazon Redshift groupe de travail ou le cluster cible pour que l'intégration soit réussie. Pour plus d’informations sur l’activation de la sensibilité à la casse, consultez [Activation de la sensibilité à la casse pour votre entrepôt de données](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-setting-up.case-sensitivity.html) dans le Guide de la gestion Amazon Redshift.

1. Configurez les autorisations IAM pour permettre à l'intégration Zero-ETL d'accéder à votre entrepôt de Amazon Redshift données. Vous devrez créer un rôle IAM avec les autorisations suivantes :
   + Autorisations d'accès au Amazon Redshift cluster ou au groupe de travail
   + Autorisations permettant de créer et de gérer des bases de données et des tables dans Amazon Redshift
   + CloudWatch et Amazon CloudWatch enregistre les autorisations à des fins de surveillance

1. Une fois la configuration du Amazon Redshift groupe de travail ou du cluster terminée, vous devez configurer votre entrepôt de données pour les intégrations sans ETL. Pour plus d’informations, reportez-vous à [Démarrer avec les intégrations zéro ETL](https://docs.aws.amazon.com/redshift/latest/mgmt/zero-etl-using.setting-up.html) dans le Guide de gestion Amazon Redshift.

**Note**  
Lorsque vous utilisez un entrepôt de Amazon Redshift données comme cible, l'intégration crée un schéma dans la base de données spécifiée pour stocker les données répliquées. Le nom du schéma provient du nom de l’intégration.

Après avoir configuré l'entrepôt de Amazon Redshift données, vous pouvez [Configuration de l’intégration avec votre cible](#zero-etl-config-target-configuring-the-integration) terminer la configuration de l'intégration.

## Configuration de l’intégration avec votre cible
<a name="zero-etl-config-target-configuring-the-integration"></a>

Après avoir configuré vos ressources cible, sélectionné votre connexion et spécifié un rôle IAM source, procédez comme suit pour terminer la configuration de l’intégration :

1. Spécifiez la cible que vous avez configurée lors des étapes précédentes.

1. Sélectionnez l'option AWS Glue **Corriger le problème pour moi**. Pour la Amazon Redshift cible, cela permettra de :
   + Appliquez un principal de service autorisé sur le Amazon Redshift cluster ou le groupe de travail sans serveur.
   + Appliquez un ARN AWS Glue source autorisé au Amazon Redshift cluster ou au groupe de travail sans serveur.
   + Associer un nouveau groupe de paramètres à `enable_case_sensitive_identifier = true`.  
![\[La capture d’écran montre la sélection d’une cible dans une intégration zéro ETL.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/zero-etl-target-selection.png)

1. Indiquez le nom de l’intégration et choisissez **Créer et lancer l’intégration**.

1. Une fois que votre intégration est active, accédez à la page des détails de l’intégration et choisissez **Créer une base de données à partir de l’intégration**.

1. Enfin, vous pouvez accéder à l’éditeur de requêtes Redshift et vous connecter à votre base de données pour valider l’instantané et les données incrémentielles.

**Note**  
Vous ne pouvez utiliser que des caractères alphanumériques minuscules et des traits de soulignement dans l’espace de noms ou le nom du catalogue. Cela est différent de ce que permet le catalogue de AWS Glue données pour créer une base de données avec n'importe quel nom (y compris les caractères spéciaux).

# Configuration d'une intégration
<a name="zero-etl-configuring-integration"></a>

Lorsque vous configurez une intégration zéro ETL, vous pouvez configurer différents paramètres pour contrôler la façon dont les données sont synchronisées entre vos systèmes source et cible. Cette section décrit les principales options de configuration qui affectent le processus d'extraction et de chargement des données.

## Configuration des instantanés à la demande
<a name="zero-etl-config-continuous-sync"></a>

Le paramètre On-Demand Snapshot vous permet de choisir de synchroniser en permanence les mises à jour des sources de données avec votre cible de données. Lorsqu'elle est désactivée (valeur par défaut), l'intégration assure une synchronisation continue au fur et à mesure que des modifications se produisent dans les systèmes source. Lorsqu'elle est activée, l'intégration effectue une réplication des données unique sans mises à jour continues.

![\[La capture d'écran montre la configuration des paramètres de capture instantanée à la demande. Lorsqu'elle est activée, l'intégration réplique les données une seule fois sans capture des données de modification, ce qui permet une réplication des données unique sans mises à jour continues. Ce paramètre ne peut pas être modifié après la création de l'intégration.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/ContinuousSync.png)


**Note**  
Le paramètre On-Demand Snapshot ne peut pas être modifié une fois l'intégration créée. Choisissez cette option avec soin en fonction de vos besoins en matière de synchronisation des données.

## RefreshInterval réglage
<a name="zero-etl-config-refresh-interval"></a>

Le `RefreshInterval` paramètre spécifie la fréquence à laquelle les extractions de capture des données de modification (CDC) ou les chargements incrémentiels seront déclenchés. Ce paramètre offre la flexibilité nécessaire pour aligner le taux CDC sur vos modèles de mise à jour des données spécifiques, les considérations relatives à la charge du système et les objectifs d'optimisation des performances. L'intervalle d'actualisation ne peut pas être modifié une fois l'intégration créée lorsque la cible est Redshift. Pour les autres cibles, l'intervalle d'actualisation peut être modifié après la création de l'intégration. Pour les sources DynamoDB dont les intervalles d'actualisation sont supérieurs ou égaux à 24 heures, [Lots quotidiens séquentiels pour les sources DynamoDB](#zero-etl-config-refresh-interval-ddb-batches) voir pour plus de détails sur le traitement par lots quotidien séquentiel.

![\[La capture d'écran montre la configuration du paramètre RefreshInterval dans les paramètres d'intégration Zero-ETL.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/refreshinterval.png)


L'incrément de temps peut être réglé de 15 minutes à 8 640 minutes (six jours), ce qui vous permet de trouver un équilibre entre la fraîcheur des données et l'utilisation des ressources du système. Actuellement, l'intervalle d'actualisation est personnalisable pour les sources DynamoDB et SaaS :
+ **Intervalle minimum :** 15 minutes
+ **Intervalle maximal :** 8640 minutes (6 jours)
+ **Valeur par défaut :** 15 minutes pour la source DynamoDB et 60 minutes pour la source SaaS

Facteurs à prendre en compte lors du choix d'un intervalle d'actualisation :
+ **Volatilité des données :** fréquence à laquelle vos données sources changent
+ **Besoins commerciaux :** dans quelle mesure vos données analytiques doivent être à jour
+ **Considérations financières :** des mises à jour plus fréquentes peuvent entraîner des coûts de traitement et de stockage plus élevés

**Note**  
RefreshInterval paramètre définit la fréquence de déclenchement du CDC. La fréquence d'actualisation réelle peut être affectée par le volume de modifications apportées à vos données source et par la capacité de traitement du système cible. Surveillez les performances de votre intégration et ajustez l'intervalle d'actualisation selon les besoins afin de l'optimiser en fonction de votre cas d'utilisation spécifique.

Pour modifier l'intervalle d'actualisation par programmation, vous pouvez utiliser l'[ModifyIntegration API](https://docs.aws.amazon.com/glue/latest/webapi/API_ModifyIntegration.html#API_ModifyIntegration_RequestSyntax) avec le IntegrationConfig paramètre.

### Lots quotidiens séquentiels pour les sources DynamoDB
<a name="zero-etl-config-refresh-interval-ddb-batches"></a>

Pour les intégrations sans ETL avec une source Amazon DynamoDB, lorsque vous configurez un intervalle d'actualisation de 1 440 minutes (24 heures) ou plus, l'intégration utilise un traitement par lots quotidien séquentiel au lieu d'une seule opération d'exportation. Ce comportement est dû à la limitation de la [fenêtre d'exportation DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ServiceQuotas.html#:~:text=Incremental%20export%3A%20DynamoDB%20Incremental%20Export%20to%20Amazon%20S3%20can%20support%20up%20to%20300%20concurrent%20export%20jobs%20or%20up%20to%20a%20total%20of%20100TB%20from%20all%20in%2Dflight%20table%20exports.%20The%20export%20period%20window%20limits%20are%2015%20minutes%20minimum%20and%2024%20hours%20maximum.), dont la durée d'exportation maximale est de 24 heures.

Lorsque l'intervalle d'actualisation dépasse 24 heures, l'intégration fonctionne comme suit :

1. Le processus CDC attend la durée complète de l'intervalle d'actualisation (par exemple, 6 jours pour un intervalle de 8 640 minutes).

1. Une fois l'intervalle d'actualisation écoulé, l'intégration effectue plusieurs exportations DynamoDB séquentielles, chacune couvrant une fenêtre de 24 heures maximum.

1. Les tâches CDC traitent chaque lot de manière séquentielle afin de capturer toutes les modifications survenues pendant la période d'intervalle d'actualisation.

Par exemple, si vous définissez un intervalle d'actualisation de 8 640 minutes (6 jours), l'intégration attendra 6 jours, puis exécutera 6 ou 7 exportations séquentielles (1 exportation finale couvrant le temps supplémentaire consacré aux opérations d'exportation) et des tâches CDC pour synchroniser toutes les modifications effectuées au cours de cette période.

# Guide de spécification des partitions et de désimbrication des schémas
<a name="zero-etl-partition-schema-unnesting"></a>

 Lorsque vous utilisez des sources de données NoSQL telles que DynamoDB et des applications SaaS, les données présentent souvent des défis uniques en matière d’analytique : 

1. Les enregistrements dans une même table peuvent avoir un schéma différent.

1. Les enregistrements imbriqués dans la même table peuvent être représentés différemment.

1. Les structures imbriquées complexes telles que les cartes et les tableaux nécessitent une transformation pour des requêtes efficaces.

1. Une organisation optimale des données est nécessaire pour garantir les performances des requêtes à grande échelle.

 AWS Les intégrations Glue Zero-ETL répondent à ces défis grâce à deux puissantes fonctionnalités : 
+  **Désimbrication de schéma :** aplatit automatiquement les structures de données imbriquées complexes dans des formats adaptés à l’analytique, avec des niveaux de désimbrication configurables pour trouver un équilibre entre la préservation de la structure des données et l’optimisation pour la simplicité des requêtes. 
+  **Partitionnement des données :** organise les données en partitions logiques en fonction de colonnes spécifiées ou de dimensions temporelles, améliorant ainsi les performances des requêtes et réduisant les coûts en permettant l’élagage des partitions lors de l’exécution des requêtes. 

 Afin d'interroger efficacement ces sources de données, AWS Glue Zero-ETL fournit des out-of-the-box schémas de gestion et de partitionnement pour les données sources répliquées dans la base de données Glue AWS cible. Vous pouvez configurer les paramètres de désimbrication et de partitionnement du schéma pour chaque table via l' CreateIntegrationTableProperty API, ce qui permet de contrôler avec précision la manière dont les données sont structurées et organisées pour les charges de travail d'analyse. 

## Comportement de désimbrication et de partitionnement par défaut
<a name="default-behavior"></a>

1. AWS Glue Zero-ETL prend par défaut la valeur FULL Unnest lorsqu'aucune option de désimbrication n'est fournie pour la table cible

1. AWS Glue Zero-ETL utilise par défaut le partitionnement par bucket lorsque aucun élément n'est fourni pour la PartitionSpec table cible

# Désimbrication du schéma
<a name="zero-etl-ddb-schema-unnesting"></a>

 Lors de l'intégration à des services d'analyse via Zero-ETL, vous pouvez choisir la manière dont les structures imbriquées sont représentées dans les tables cibles. AWS Glue Zero-ETL propose des options de désimbrication des schémas pour aplatir les structures de données complexes dans des formats plus adaptés aux analyses. 

## Options de désimbrication
<a name="unnesting-options"></a>

 Lorsque vous créez une intégration zéro ETL avec une source, vous pouvez choisir l’une des options de désimbrication suivantes. Ces options correspondent à des valeurs d'énumération spécifiques que vous utiliserez lors de l'appel de l' CreateIntegrationTableProperty API. 

Aucune désimbrication (par défaut)  
 **Valeur d’API : `NO_UNNEST`**   
 Préserve la structure imbriquée d’origine des éléments DynamoDB. Les cartes et les listes sont stockées sous forme de colonnes structurées dans la cible.   
 Idéal pour : préserver la structure exacte de vos données DynamoDB lorsque vos outils d’analytique peuvent fonctionner avec des données imbriquées. 

Désimbriquer un niveau  
 **Valeur d’API : `TOP_LEVEL`**   
 Aplatit le niveau supérieur des cartes imbriquées en colonnes individuelles. Les structures de listes restent imbriquées.   
 Idéal pour : trouver un équilibre entre la préservation de la structure des données et la simplicité des requêtes lorsque vos éléments DynamoDB ont un schéma cohérent. 

Désimbriquer tous les niveaux  
 **Valeur d’API : `FULL`**   
 Aplatit de manière récursive toutes les structures imbriquées (cartes et listes) en colonnes individuelles avec notation par points pour la dénomination.   
 Idéal pour : optimiser la simplicité des requêtes lorsque vous travaillez avec des structures profondément imbriquées et des outils d’analytique privilégiant les schémas plats.   
 Une désimbrication complète peut donner lieu à des tables très larges comportant de nombreuses colonnes si vos données DynamoDB présentent des structures variables ou profondément imbriquées. 

**Example Utilisation des options de désimbrication dans l’API**  
 Lors de la configuration de la désimbrication du schéma via l' CreateIntegrationTableProperty API, spécifiez l'option de désimbrication dans le paramètre : UnnestSpec   

```
aws glue create-integration-table-property 
  --resource-arn "arn:aws:glue:us-east-1:123456789012:integration/my-integration" 
  --table-name "my-table" 
  --cli-input-json '{
      "TargetTableConfig": {
          "UnnestSpec": "FULL",
          "TargetTableName": "my-target-table",
      }
  }'
```

## Exemples de désimbrication
<a name="unnesting-examples"></a>

 Prenons l’exemple d’un élément DynamoDB dont la structure est la suivante : 

```
{
  "ProductId": "P12345",
  "ProductDetails": {
    "Name": "Smartphone",
    "Brand": "TechCo",
    "Specifications": {
      "Color": "Black",
      "Storage": "128GB"
    }
  },
  "Reviews": [
    {
      "Rating": 5,
      "Comment": "Great product!"
    },
    {
      "Rating": 4,
      "Comment": "Good value."
    }
  ]
}
```

### Exemple d’absence de désimbrication
<a name="no-unnesting-example"></a>

 En l’absence de désimbrication, la table cible comporterait des colonnes : 
+ ProductId (chaîne)
+ ProductDetails (structure)
+ Reviews (tableau de structures)

 Les requêtes devraient utiliser des modèles d’accès aux structures et aux tableaux : 

```
SELECT 
  ProductId, 
  ProductDetails.Name, 
  ProductDetails.Specifications.Color
FROM product_table;
```

### Exemple de désimbrication d’un niveau
<a name="unnest-one-level-example"></a>

 Avec la désimbrication d’un niveau, la table cible comporterait des colonnes : 
+ ProductId (chaîne)
+ ProductDetails\$1Nom (chaîne)
+ ProductDetails\$1Brand (chaîne)
+ ProductDetails\$1Spécifications (structure)
+ Reviews (tableau de structures)

 Les requêtes seraient simplifiées pour le premier niveau : 

```
SELECT 
  ProductId, 
  ProductDetails_Name, 
  ProductDetails_Specifications.Color
FROM product_table;
```

### Exemple de désimbrication de tous les niveaux
<a name="unnest-all-levels-example"></a>

 Avec la désimbrication de tous les niveaux, la table cible comporterait des colonnes et des valeurs : 


| Nom de colonne (type) | Value | 
| --- | --- | 
| ProductId (chaîne) | P12345 | 
| ProductDetails\$1Nom (chaîne) | Smartphone | 
| ProductDetails\$1Brand (chaîne) | TechCo | 
| ProductDetails\$1Specifications\$1Color (chaîne) | Black | 
| ProductDetails\$1Specifications\$1Storage (chaîne) | 128 Go | 
| Reviews\$10\$1Rating (nombre) | 5 | 
| Reviews\$10\$1Comment (chaîne) | Excellent produit \$1 | 
| Reviews\$11\$1Rating (nombre) | 4 | 
| Reviews\$11\$1Comment (chaîne) | Bon rapport qualité/prix. | 

 Les requêtes seraient entièrement aplaties : 

```
SELECT 
  ProductId, 
  ProductDetails_Name, 
  ProductDetails_Specifications_Color
FROM product_table;
```

# Partitionnement de données
<a name="zero-etl-data-partitioning"></a>

## Qu’est-ce que le partitionnement des données ?
<a name="partitioning-overview"></a>

 Le partitionnement des données est une technique qui divise les grands jeux de données en segments plus petits et plus faciles à gérer, appelés partitions. Dans le contexte des intégrations de AWS Glue Zero-ETL, le partitionnement organise vos données dans l'emplacement cible en fonction de valeurs de colonne spécifiques ou de transformations de ces valeurs. 

### Avantages du partitionnement des données
<a name="partitioning-benefits"></a>

 Un partitionnement efficace des données présente plusieurs avantages essentiels pour les charges de travail analytiques : 
+  **Performances de requêtes améliorées :** les requêtes peuvent ignorer les partitions non pertinentes (élagage des partitions), réduisant ainsi la quantité de données à analyser. 
+  **Coûts réduits :** en scannant moins de données, vous pouvez réduire le calcul et I/O les coûts liés à vos requêtes d'analyse. 
+  **Meilleure capacité de mise à l’échelle :** le partitionnement permet le traitement parallèle des segments de données, et donc une mise à l’échelle plus efficace des charges de travail analytiques. 
+  **Gestion simplifiée du cycle de vie des données :** vous pouvez gérer les politiques de conservation au niveau de la partition, ce qui facilite l’archivage ou la suppression des données plus anciennes. 

### Concepts clés du partitionnement
<a name="partitioning-concepts"></a>

Colonnes de partition  
 Colonnes dans vos données utilisées pour déterminer la manière dont les enregistrements sont organisés en partitions. Des colonnes de partition efficaces doivent s’aligner sur les modèles de requêtes courants et disposer d’une cardinalité appropriée. 

Fonctions de partition  
 Transformations appliquées aux valeurs des colonnes de partition pour créer les limites réelles de la partition. Les exemples incluent l’identité (en utilisant la valeur brute) et les fonctions basées sur le temps (année, mois, jour, heure). 

Élagage des partitions  
 Processus par lequel le moteur de requête identifie et ignore les partitions qui ne contiennent pas de données pertinentes pour une requête, ce qui améliore considérablement les performances. 

Granularité de partition  
 Niveau de détail selon lequel les données sont partitionnées. Une granularité plus fine (davantage de partitions) peut améliorer les performances des requêtes, mais peut augmenter la surcharge de métadonnées. Une granularité plus grossière (moins de partitions) réduit la surcharge de métadonnées, mais peut entraîner l’analyse d’un plus grand nombre de données que nécessaire. 

### Partitionnement dans les intégrations AWS Glue Zero-ETL
<a name="partitioning-in-zero-etl"></a>

 AWS Les intégrations Glue Zero-ETL utilisent le format de table Apache Iceberg, qui fournit des fonctionnalités de partitionnement avancées. Lorsque vous créez une intégration zéro ETL, vous pouvez effectuer les actions suivantes : 
+ Utiliser des stratégies de partitionnement par défaut optimisées pour votre source de données
+ Définir des spécifications de partitionnement personnalisées adaptées à vos modèles de requêtes
+ Appliquer des transformations aux colonnes de partition (ce qui est particulièrement utile pour le partitionnement basé sur l’horodatage)
+ Combiner plusieurs stratégies de partition pour un partitionnement à plusieurs niveaux

 Les configurations de partitionnement sont spécifiées via l’API `CreateIntegrationTableProperty` lors de la configuration de votre intégration zéro ETL. Une fois configuré, AWS Glue applique automatiquement ces stratégies de partitionnement pour organiser vos données dans l'emplacement cible. 

## Référence d’API de spécification de partition
<a name="partition-api-reference"></a>

Utilisez les paramètres suivants dans l' CreateIntegrationTableProperties API pour configurer le partitionnement :

PartitionSpec  
Tableau de spécifications de partition qui définit la manière dont les données sont partitionnées dans l’emplacement cible.  

```
{
  "partitionSpec": [
    {
      "fieldName": "timestamp_col",
      "functionSpec": "month",
      "conversionSpec": "epoch_milli"
    },
    {
      "fieldName": "category",
      "functionSpec": "identity"
    }
  ]
}
```

FieldName  
Chaîne UTF-8 (1 à 128 octets) spécifiant le nom de colonne à utiliser pour le partitionnement.

FunctionSpec  
Spécifie la fonction de partitionnement. Valeurs valides :  
+ `identity` : utilise les valeurs source directement sans transformation
+ `year` : extrait l’année à partir des valeurs d’horodatage (par exemple, 2023)
+ `month` : extrait le mois à partir des valeurs d’horodatage (par exemple, 2023-01)
+ `day` : extrait le jour à partir des valeurs d’horodatage (par exemple, 2023-01-15)
+ `hour` : extrait l’heure à partir des valeurs d’horodatage (par exemple, 2023-01-15-14)
 Les fonctions basées sur le temps (`year`, `month`, `day`, `hour`) ont besoin du paramètre `ConversionSpec` pour spécifier le format d’horodatage source. 

ConversionSpec  
 Chaîne UTF-8 qui spécifie le format d’horodatage des données source. Les valeurs valides sont :   
+ `epoch_sec` : horodatage d’époque Unix en secondes
+ `epoch_milli` : horodatage de l’époque Unix en millisecondes
+ `iso` : horodatage au format ISO 8601

## Stratégies de partitionnement
<a name="partitioning-strategies"></a>

### Partitionnement par défaut
<a name="default-partitioning"></a>

 Lorsqu'aucune colonne de partition n'est spécifiée, AWS Glue Zero-ETL applique des stratégies de partitionnement par défaut optimisées pour votre source de données : 
+  **Partitionnement basé sur les clés primaires :** pour les sources dotées de clés primaires (telles que les tables DynamoDB), l’intégration zéro ETL AWS Glue partitionne automatiquement les données à l’aide de la clé primaire avec des compartiments afin d’éviter l’explosion des partitions. 

 Le partitionnement par défaut est conçu pour fonctionner correctement pour les modèles de requêtes courants sans nécessiter de configuration manuelle. Toutefois, pour des modèles de requêtes ou des exigences de performances spécifiques, vous souhaiterez peut-être définir des stratégies de partitionnement personnalisées. 

### Stratégies de partitionnement définies par l’utilisateur
<a name="user-defined-partitioning"></a>

 AWS Glue Zero-ETL vous permet de définir des stratégies de partitionnement personnalisées à l'aide du `PartitionSpec` paramètre. Vous pouvez spécifier une ou plusieurs colonnes de partition et appliquer différentes fonctions de partitionnement à chaque colonne. 

 Le **partitionnement d’identité** utilise les valeurs brutes d’une colonne pour créer des partitions. Cette stratégie est utile pour les colonnes dont la cardinalité est faible à moyenne, telles que les champs de catégorie, de région ou d’état. 

**Example Exemple de partitionnement d’identité**  

```
{
  "partitionSpec": [
    {
      "fieldName": "category",
      "functionSpec": "identity"
    }
  ]
}
```
 Cette fonction crée des partitions distinctes pour chaque valeur unique dans la colonne « category ». 

**Avertissement**  
 Évitez d’utiliser le partitionnement d’identité avec des colonnes à cardinalité élevée (comme clés primaires ou horodatages), car cela peut entraîner une explosion des partitions, ce qui dégrade les performances et augmente la surcharge de métadonnées. 

 Le **partitionnement basé sur le temps** organise les données en fonction des valeurs d’horodatage et selon différents niveaux de granularités (année, mois, jour ou heure). Cette stratégie est idéale pour les données de séries temporelles et permet d’effectuer des requêtes temporelles efficaces. 

 Lors de l'utilisation du partitionnement basé sur le temps, AWS Glue Zero-ETL peut convertir automatiquement différents formats d'horodatage en un format standardisé avant d'appliquer la fonction de partition. Cette conversion est spécifiée à l’aide du paramètre `ConversionSpec`. 

**Example Exemple de partitionnement basé sur le temps**  

```
{
  "partitionSpec": [
    {
      "fieldName": "created_at",
      "functionSpec": "month",
      "conversionSpec": "epoch_milli"
    }
  ]
}
```
 Cela partitionne les données par mois en fonction de la colonne « created\$1at », qui contient les horodatages d’époque Unix en millisecondes. 

 AWS Glue Zero-ETL prend en charge les fonctions de partition temporelles suivantes : 
+  **year :** partitionne les données par année (par exemple, 2023, 2024) 
+  **month :** partitionne les données par mois (par exemple, 2023-01, 2023-02) 
+  **day :** partitionne les données par jour (par exemple, 2023-01-01, 2023-01-02) 
+  **hour :** partitionne les données par heure (par exemple, 2023-01-01-01, 2023-01-01-02) 

 AWS Glue Zero-ETL prend en charge les formats d'horodatage suivants via le paramètre : `ConversionSpec` 
+  **epoch\$1sec :** horodatages d’époque Unix en secondes 
+  **epoch\$1milli :** horodatages d’époque Unix en millisecondes 
+  **iso :** horodatages au format ISO 8601 

**Note**  
 Les valeurs de colonne d'origine restent inchangées dans vos données source. AWS Glue transforme uniquement les valeurs des colonnes de partition en type Timestamp dans la table de base de données cible. Les transformations s’appliquent uniquement au processus de partitionnement. 

 Le **partitionnement à plusieurs niveaux** combine plusieurs stratégies de partition pour créer un schéma de partitionnement hiérarchique. Cela est utile pour optimiser différents types de requêtes sur un même jeu de données. 

**Example Exemple de partitionnement à plusieurs niveaux**  

```
{
  "partitionSpec": [
    {
      "fieldName": "created_at",
      "functionSpec": "month",
      "conversionSpec": "iso"
    },
    {
      "fieldName": "region",
      "functionSpec": "identity"
    }
  ]
}
```
 Cela crée un schéma de partitionnement à deux niveaux : d’abord par mois (à partir de la colonne « created\$1at »), puis par région. Cela permet des requêtes efficaces qui filtrent par plages de dates, régions spécifiques ou une combinaison de ces dimensions. 

 Lorsque vous concevez des schémas de partitionnement à plusieurs niveaux, tenez compte des points suivants : 
+  Placement des colonnes à haute sélectivité en premier dans la hiérarchie des partitions 
+  Équilibrage de la granularité des partitions avec le nombre de partitions 
+  Alignement du schéma de partitionnement sur vos modèles de requêtes les plus courants 

## Bonnes pratiques
<a name="best-practices"></a>

### Sélection de la colonne de partition
<a name="best-practices-partition-column-selection"></a>
+  N’utilisez pas de colonnes à cardinalité élevée avec la fonction de partition `identity`. L’utilisation de colonnes à haute cardinalité avec partitionnement des identités crée de nombreuses petites partitions, ce qui peut considérablement dégrader les performances d’ingestion. Les colonnes à haute cardinalité peuvent inclure : 
  + Clés primaires
  + Champs d’horodatage (tels que `LastModifiedTimestamp` et `CreatedDate`)
  + Horodatages générés par le système
+  Ne sélectionnez pas plusieurs partitions d’horodatage sur la même colonne. Par exemple : 

  ```
  "partitionSpec": [
        {"fieldName": "col1", "functionSpec": "year", "conversionSpec" : "epoch_milli"},
        {"fieldName": "col1", "functionSpec": "month", "conversionSpec" : "epoch_milli"},
        {"fieldName": "col1", "functionSpec": "day", "conversionSpec" : "epoch_milli"},
        {"fieldName": "col1", "functionSpec": "hour", "conversionSpec" : "epoch_milli"}
  ]
  ```

### FunctionSpec/ConversionSpec Sélection de partitions
<a name="best-practices-partition-functionspec-conversionspec-selection"></a>
+  Spécifiez le format correct ConversionSpec (epoch\$1sec \$1 epoch\$1milli \$1 iso) qui représente le format des valeurs de colonne choisies pour le partitionnement basé sur l'horodatage lors de l'utilisation de fonctions de partition basées sur l'horodatage. AWS Glue Zero-ETL utilise ce paramètre pour transformer correctement les données source au format d'horodatage avant le partitionnement. 
+  Utilisez la granularité appropriée (year/month/day/hour) en fonction du volume de données. 
+  Tenez compte des implications du fuseau horaire lorsque vous utilisez des horodatages ISO. AWS Glue Zero-ETL remplit toutes les valeurs d'enregistrement de la colonne d'horodatage choisie avec le fuseau horaire UTC. 

## Gestion des erreurs
<a name="error-handling"></a>

### État NEEDS\$1ATTENTION
<a name="needs-attention-state"></a>

 Une intégration passe à l’état NEEDS\$1ATTENTION dans les cas suivants : 
+ Les colonnes de partition spécifiées n’existent pas dans la source.
+ La conversion d’horodatage échoue pour les colonnes de partition.

# Limitations
<a name="limitations"></a>

## Restrictions du partitionnement
<a name="partitioning-limitations"></a>
+  Les spécifications de partition ne peuvent pas être modifiées une fois qu’une intégration a été créée. Pour pouvoir utiliser une stratégie de partitionnement différente, vous devez créer une intégration. 
+  Le nombre maximum de colonnes de partition est limité à 10. 

## Restrictions de l’intégration entre comptes
<a name="cross-account-limitations"></a>
+  Lors de la création d'intégrations entre comptes, AWS la console Glue est limitée par le fait qu'elle n'invoque pas d' CreateIntegrationTableProperty API pour configurer UnnestSpec et PartitionSpec pour cibler les tables AWS Glue hébergées sur le compte où l'intégration n'existe pas. 

   **Solution :** L' CreateIntegrationTableProperty API doit être invoquée par CX depuis le compte sur lequel se trouve la base de données cible. 

## Restrictions des intégrations multiples
<a name="multiple-integrations-limitations"></a>
+  Si vous devez répliquer la même source avec des unnest/partition configurations de schéma différentes, il est nécessaire de créer une nouvelle base de données AWS Glue séparément pour chaque intégration. Invoquez ensuite CreateIntegrationTableProperty pour chaque table à partir de AWS la base de données Glue individuelle avec les configurations de dénidification et de partitionnement du schéma souhaitées. 

# Tâches d’intégration courantes
<a name="zero-etl-common-integration-tasks"></a>



## Création d’une intégration
<a name="zero-etl-creating"></a>

Cette section décrit les étapes générales permettant de créer une intégration. Cet exemple utilise Amazon DynamoDB en tant que source.

1. Sur la page d'accueil de la AWS Glue console, sélectionnez **Zero-ETL integrations**.

1. Vous pouvez consulter toutes vos intégrations sur la page d’accueil de l’intégration zéro ETL. Pour créer une intégration, sélectionnez **Créer une intégration zéro ETL**.   
![\[La capture d’écran montre la page principale de l’intégration zéro ETL.\]](http://docs.aws.amazon.com/fr_fr/glue/latest/dg/images/zero-etl-main.png)

1. Vous êtes invité à sélectionner un **type de source**. Sélectionnez votre source et cliquez sur **Suivant**. Reportez-vous aux sections de configuration des sources pour les sources d’intégration SaaS.

1. Sur la page **Configurer la source et la cible**, sélectionnez les tables ou les entités à répliquer. Pour Amazon DynamoDB, assurez-vous que la politique PITR et RBAC est configurée.

1. Spécifiez votre cible d’intégration :
   + Pour une cible de catalogue de AWS Glue données, sélectionnez la AWS Glue base de données dans laquelle vous souhaitez répliquer les données.
   + Pour une cible d’entrepôt de données Amazon Redshift, sélectionnez l’espace de noms du cluster Redshift ou l’espace de noms du groupe de travail Redshift sans serveur.

   Pour de plus amples informations, veuillez consulter [Configuration de l’intégration avec votre cible](zero-etl-target.md#zero-etl-config-target-configuring-the-integration).

1. Indiquez le **rôle IAM cible** que vous avez créé dans les conditions préalables.

1. Si vous souhaitez configurer une **clé KMS cible** facultative pour les données stockées dans la cible, indiquez une clé KMS activée. De même, si vous souhaitez configurer une connexion réseau cible, sélectionnez-en une AWS Glue .

1. Le bouton **Corriger la cible** configure certaines des étapes de la section Prérequis de cette documentation. À savoir, 1) il fournira une politique RBAC du catalogue et 2) si aucun URI Amazon S3 n’est fourni, il en générera un pour vous, sinon il utilisera l’URI fourni.

1. Pour les intégrations avec une cible d’entrepôt de données Redshift :

1. Dans la section **Paramètre de sortie** de la page **Configurer la source et la cible**, sélectionnez l’option de désimbrication du schéma que vous souhaitez pour vos données dans la cible. Si vous souhaitez utiliser des clés de partition client pour vos données, sélectionnez **Spécifier des clés de partition personnalisées** et fournissez jusqu’à 10 clés. Sinon, vous pouvez simplement utiliser les clés de partition attribuées à votre table DynamoDB en cours de réplication.

1. Dans la section **Sécurité et chiffrement des données**, vous pouvez fournir une clé KMS qui sera utilisée dans le processus intermédiaire de réplication de vos données vers la cible. Dans le cas contraire, une clé KMS AWS gérée sera utilisée. Actuellement, nous ne prenons en charge qu’un paramètre de réplication de 15 minutes. Saisissez un nom pour l’intégration zéro ETL dans **Détails de l’intégration**.

1. Vérifiez et assurez-vous que tous les détails fournis sont corrects. Cliquez sur **Créer et lancer l’intégration** une fois que tout a été confirmé. 

1. Sur la page d’accueil de zéro ETL, vous pouvez sélectionner l’intégration que vous avez créée et les détails de vos intégrations apparaîtront. « État » indique l’état de votre intégration.

## Modification d’une intégration
<a name="zero-etl-modifying"></a>

Vous pouvez modifier une intégration existante.

1. Choisissez **Modifier** dans le coin supérieur droit de la page des détails de l’intégration.

1. Sur la page **Modifier la source et la cible**, vous pouvez modifier le rôle IAM Cible et la connexion réseau Cible. Les autres champs ne sont pas modifiables après la création de l’intégration. Cliquez sur **Suivant**. 

1. Vous pouvez également modifier le nom et la description de l’intégration sur la page **Modifier l’intégration et la configuration**. Cliquez sur **Suivant**.

1. Vérifiez vos modifications et une fois confirmées, cliquez sur **Mettre à jour l’intégration**. 

## Suppression d’une intégration
<a name="zero-etl-deleting"></a>

La suppression est un état terminal d’une intégration. Une fois supprimée, l’intégration ne peut pas être rétablie. La suppression d’une intégration efface toutes les métadonnées internes et toutes les données stockées intermédiaires.

Au cours de ce processus, toutes les tâches en cours d'exécution qui écrivent des données dans une table cible sont interrompues. AWS Glue ne supprimera ni ne nettoiera la AWS Glue base de données cible (dans le catalogue de données) ni les données associées dans le compartiment Amazon S3 de votre compte. Vous devez les supprimer explicitement si nécessaire.

Pour supprimer une intégration :

1. Sur la page des détails de l’intégration, cliquez sur **Supprimer**.

1. Saisissez « Supprimer » et cliquez sur **Supprimer**. Remarque : Cette action est irréversible.

1. Sur la page des détails de l’intégration, l’état indique « Suppression ». Une fois l’intégration supprimée, elle n’apparaîtra plus sur la page d’accueil de l’intégration zéro ETL.

# Création d'intégrations à l'aide du APIs
<a name="zero-etl-using-apis"></a>

Vous pouvez utiliser ce qui suit APIs pour créer et gérer des intégrations sans ETL dans : AWS Glue
+ CreateIntegration
+ CreateIntegrationTableProperties
+ CreateIntegrationResourceProperty
+ UpdateIntegrationTableProperties
+ UpdateIntegrationResourceProperty
+ ModifyingIntegration
+ DeleteIntegration
+ DeleteIntegrationTableProperties
+ DescribeIntegrations
+ DescribeInboundIntegrations
+ GetIntegrationTableProperties
+ GetIntegrationResourceProperty

Pour de plus amples informations, veuillez consulter [Intégration APIs dans AWS Glue](aws-glue-api-integrations.md).

# Surveillance d’une intégration
<a name="zero-etl-monitoring"></a>



## États d’intégration
<a name="zero-etl-integration-states"></a>

Les états d’intégration suivants décrivent l’intégration :
+ `Creating` : l’intégration est en cours de création.
+ `Active` : l’intégration envoie des données transactionnelles à la cible.
+ `Modifying` : l’intégration est en cours de modification.
+ `Syncing` : l’intégration a rencontré une erreur récupérable et réensemence les données. 
+ `Needs attention` : l’intégration a rencontré un événement ou une erreur nécessitant une intervention manuelle pour être résolu. Pour corriger le problème, suivez les instructions du message d’erreur dans les détails relatifs à l’intégration.
+ `Failed` : l’intégration a rencontré un événement ou une erreur irrécupérable. Vous devez supprimer et recréer l’intégration.
+ `Deleting` : l’intégration est en cours de suppression.

## Consulter CloudWatch les journaux Amazon pour une intégration
<a name="zero-etl-cloudwatch-logs"></a>

AWS Glue Les intégrations sans ETL génèrent des CloudWatch journaux Amazon pour avoir une meilleure visibilité sur le mouvement de vos données. Les événements du journal relatifs à chaque ingestion réussie ou à tout échec dû à des enregistrements de données problématiques au niveau de la source, ou à des erreurs d’écriture de données dues à des modifications de schéma ou à des autorisations insuffisantes sont transmis à un groupe de journaux par défaut créé dans un compte client.

Pour chaque intégration créée, les événements du journal correspondant à cette intégration seront collectés sous `/aws-glue/zeroETL-integrations/logs/` dans Amazon Cloudwatch. Au sein du groupe de journaux, les messages du journal seront divisés en flux de journaux. Chaque intégration créée possède un flux de journal dédié dans lequel sont écrits tous les journaux pour cette intégration. Par exemple, les journaux d'une intégration avec se trouvent sous /aws- IntegrationArn `arn:aws:glue:us-east-1:123456789012:integration:03cabe77-79e7-4b7a-b3da-8c160bea6bbf` /03cabe77-79e7-4b7a-b3da-8c160bea6bbf. glue/zeroETL-integrations/logs \$1IntegrationId\$1 peut être référencé à partir du \$1integrationArn\$1 généré lors de la création d'une intégration.

**Note**  
Dans un scénario entre comptes, les journaux de traitement source sont émis dans le compte source où existe l’intégration et les journaux de traitement cible sont émis dans le compte cible où se trouve la base de données cible.

### Autorisations IAM requises pour activer la journalisation
<a name="zero-etl-cloudwatch-logs-iam"></a>

Lors de la création de votre intégration, les rôles source et cible ont besoin des autorisations IAM suivantes pour activer la CloudWatch journalisation d'une intégration. AWS Glue Les intégrations Zero-ETL utilisent ces autorisations fournies dans les rôles source et cible pour émettre des CloudWatch journaux sur les comptes clients.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Messages de journaux
<a name="zero-etl-cloudwatch-logs-messages"></a>

Format de journal : les intégrations zéro ETL émettent quatre types de messages de journal :

```
// Ingestion started
{
"integrationArn": "arn:aws:glue:us-east-2:123456789012:integration/1a012bba-123a-1bba-ab1c-173de3b12345",
...
    "messageType": "IngestionStarted",
    "details": {
        "tableName": "testDDBTable",
        "message": "Ingestion Job started"
    }
}
// Data processing stats on successful table ingestion
{
...
    "messageType": "IngestionProcessingStats",
    "details": {
        "tableName": "testDDBTable",
        "insert_count": 100,
        "update_count": 10,
        "delete_count": 10   
    }
}
// Ingestion failure logs for failed table-processing
{
...
    "messageType": "IngestionFailed",
    "details": {
        "tableName": "testDDBTable",
        "errorMessage": "Failed to ingest data with error: Target Glue database not found.",
        "error_code" : "client_error"
    }
}
// Ingestion completed notification with lastSyncedTimestamp
{
...
    "messageType": "IngestionCompleted",
    "details": {
        "tableName": "testDDBTable",
        "message": "Ingestion Job completed"
        "lastSyncedTimestamp": "1132344255745"
    }
}
```

## Afficher CloudWatch les statistiques Amazon pour une intégration
<a name="zero-etl-cloudwatch-metrics"></a>

Une fois l'intégration terminée, vous pouvez voir les statistiques Amazon Cloudwatch générées dans votre compte pour chaque AWS Glue tâche exécutée :

CloudWatch espace de noms des métriques : "AWS/glue/ZeroEtl »

Dimensions des métriques :
+ `integrationArn`
+ `loadType`
+ `tableName`

Noms des métriques :
+ `InsertCount` : nombre d’enregistrements insérés dans la table Iceberg cible.
+ `UpdateCount` : nombre d’enregistrements mis à jour dans la table Iceberg cible.
+ `DeleteCount` : nombre d’enregistrements supprimés de la table Iceberg cible.
+ `IngestionSucceeded` : compte 1, si l’ingestion a réussi pour l’intégration.
+ `IngestionFailed` : compte 1, si l’ingestion a échoué pour l’intégration.
+ `LastSyncTimestamp` : horodatage jusqu’à la source qui a été synchronisée avec la cible.

## Gérer les notifications d'événements avec Amazon EventBridge
<a name="zero-etl-eventbridge-notifications-setup"></a>

Les intégrations Zero-ETL utilisent Amazon EventBridge pour gérer les notifications d'événements afin de vous tenir au courant up-to-date des modifications apportées à vos intégrations. Amazon EventBridge est un service de bus d'événements sans serveur que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources. Dans ce cas, la source de l’événement est AWS Glue. Les événements, qui sont des modifications surveillées dans un environnement, sont EventBridge envoyés AWS Glue automatiquement vers Les événements sont diffusés en temps quasi réel.

EventBridge fournit un environnement dans lequel vous pouvez écrire des règles d'événements, qui peuvent spécifier les actions à entreprendre pour des événements spécifiques. Vous pouvez également définir des cibles, c'est-à-dire des ressources auxquelles un événement EventBridge peut être envoyé. Une cible peut inclure une destination d'API, un groupe de CloudWatch journaux Amazon, etc. Pour plus d'informations sur les règles, consultez les [ EventBridge règles d'Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html). Pour plus d'informations sur les cibles, consultez la section [Amazon EventBridge Targets](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html).

Pour capturer toutes les notifications zéro ETL, créez une règle EventBridge correspondant aux critères suivants :

```
{
  "source": [{
    "prefix": "aws.glue-zero-etl“
  }],
  "detail-type": [{
    "prefix": "Glue Zero ETL“
  }]
}
```

Le tableau suivant inclut des événements d’intégration zéro ETL, avec des métadonnées supplémentaires :


| Type de détail destiné au client | Explication | 
| --- | --- | 
| AWS Glue Aucune ingestion d'ETL terminée | L’exécution individuelle d’une entité s’est achevée avec succès. | 
| AWS Glue Aucune ingestion d'ETL n'a échoué | L’exécution individuelle d’une entité a échoué (en raison d’une erreur du client ou du système). | 
| AWS Glue Aucune intégration ETL resynchronisée | L’intégration a été RESYNCHRONISÉE.  | 
| AWS Glue Aucune intégration ETL n'a échoué | L’état de l’intégration est passé à FAILED en raison d’une erreur. | 
| AWS Glue Aucune intégration ETL n'a besoin d'attention | L’état de l’intégration est passé à NEEDS\$1ATTENTION en raison d’une erreur. | 
| AWS Glue Aucune ingestion d'ETL en cours | L’exécution individuelle d’une entité a partiellement progressé vers son achèvement. | 

# Limitations
<a name="zero-etl-limitations"></a>

Les restrictions ou considérations générales concernant les intégrations zéro ETL sont les suivantes :
+  Les propriétés des ressources ont une one-to-one relation avec la ressource correspondante. Par conséquent, toutes les intégrations créées à l’aide de cette ressource doivent respecter la propriété de ressource unique. La modification d’une propriété de ressource aura donc un impact sur toutes les intégrations associées à cette ressource. 
+  Les propriétés de table ont une one-to-one relation avec la table ou l'objet correspondant au sein d'une ressource. Par conséquent, toutes les intégrations qui traitent la même table vers ou depuis la même ressource doivent respecter la propriété de table unique. 
+ Vous ne pouvez pas renommer une colonne au niveau de la source. Si une colonne est renommée, il n'y a aucune garantie que la détection du schéma sera effectuée avec précision AWS Glue et les répercussions sur l'intégration ne sont pas définies.
+ La considération suivante s'applique au fonctionnement de l'intégration avec les tables AWS Lake Formation gérées : Par défaut, vous utilisez la AWS Glue politique IAM/ pour gérer votre table et vos bases de données.
+ Si vous souhaitez utiliser AWS Lake Formation pour gérer la création de tables dans cette base de données, vous devez vous assurer que le rôle dispose des autorisations Lake Formation suffisantes pour créer, modifier et supprimer la table et la base de données.
+ La page récapitulative zéro ETL ne contient aucune métrique pour le moment.

Les restrictions suivantes sont spécifiques à la source pour les intégrations zéro ETL :
+  Les intégrations sans ETL avec une OData source SAP prennent en charge les entités commençant par. `EntityOf` La possibilité de remplacer la clé primaire n'est actuellement prise en charge que pour les SAPOData `EntityOf` objets. Une fois cette propriété définie, elle ne peut pas être modifiée. 
+ Les intégrations sans ETL entre Amazon DynamoDB et SageMaker Amazon Lakehouse (via S3) prennent en charge une taille de table DynamoDB maximale de 50 To.
+ La table DynamoDB source doit être chiffrée à l'aide d'une clé KMS appartenant à Amazon ou gérée par le client. AWS Le chiffrement géré par Amazon n’est pas pris en charge pour la table DynamoDB source.
+ SAP OData utilise un jeton delta, où la combinaison d'un OAuth client et d'une entité, ou d'une authentification de base associée à une entité, ne peut avoir qu'un seul jeton delta. Évitez d’utiliser la même entité dans deux intégrations différentes avec le même client.
+ Les entités ou champs Salesforce suivants ne sont pas pris en charge pour une utilisation dans le cadre d’une intégration zéro ETL avec une source Salesforce.

  ```
  AccountChangeEvent, AccountContactRoleChangeEvent, AccountHistory, AccountShare, ActiveFeatureLicenseMetric, ActivePermSetLicenseMetric, ActiveProfileMetric, ActivityFieldHistory, amzsec__asi_Telemetry_Data_Store__ChangeEvent, amzsec__asi_Telemetry_Data_Store__History, amzsec__asi_Telemetry_Data_Store__Share, amzsec__asi_Telemetry_Job_Log__ChangeEvent, amzsec__asi_Telemetry_Job_Log__History, amzsec__asi_Telemetry_Job_Log__Share, amzsec__asi_Telemetry_Requirement__ChangeEvent, amzsec__asi_Telemetry_Requirement__History, amzsec__asi_Telemetry_Requirement__Share, ApexClass, ApexComponent, ApexLog, ApexPage, ApexTestQueueItem, ApexTestResult, ApexTrigger, AssetChangeEvent, AssetHistory, AssetRelationshipHistory, AssetShare, AssignmentRule, AssociatedLocationHistory, AsyncApexJob, AuditTrailFileExportShare, AuthorizationFormConsentChangeEvent, AuthorizationFormConsentHistory, AuthorizationFormConsentShare, AuthorizationFormDataUseHistory, AuthorizationFormDataUseShare, AuthorizationFormHistory, AuthorizationFormShare, AuthorizationFormTextHistory, AuthProvider, AuthSession, BatchJobHistory, BatchJobPartFailedRecordHistory, BatchJobPartHistory, BatchJobShare, BrandTemplate, BriefcaseAssignmentChangeEvent, BriefcaseDefinitionChangeEvent, BusinessBrandShare, BusinessHours, BusinessProcess, CalcMatrixColumnRangeHistory, CalcProcStepRelationshipHistory, CalculationMatrixColumnHistory, CalculationMatrixHistory, CalculationMatrixRowHistory, CalculationMatrixShare, CalculationMatrixVersionHistory, CalculationProcedureHistory, CalculationProcedureShare, CalculationProcedureStepHistory, CalculationProcedureVariableHistory, CalculationProcedureVersionHistory, Calendar, CalendarViewShare, CallCenter, CallCoachConfigModifyEvent, CampaignChangeEvent, CampaignHistory, CampaignMemberChangeEvent, CampaignMemberStatusChangeEvent, CampaignShare, CaseChangeEvent, CaseHistory, CaseHistory2 CaseHistory2ChangeEvent, CaseRelatedIssueChangeEvent, CaseRelatedIssueHistory, CaseShare, CaseStatus, CaseTeamMember, CaseTeamRole, CaseTeamTemplate, CaseTeamTemplateMember, CaseTeamTemplateRecord, CategoryNode, ChangeRequestChangeEvent, ChangeRequestHistory, ChangeRequestRelatedIssueChangeEvent, ChangeRequestRelatedIssueHistory, ChangeRequestRelatedItemChangeEvent, ChangeRequestRelatedItemHistory, ChangeRequestShare, ChatRetirementRdyMetrics, ChatterActivity, ClientBrowser, CollaborationGroup, CollaborationGroupMember, CollaborationGroupMemberRequest, CollaborationInvitation, CommSubscriptionChannelTypeHistory, CommSubscriptionChannelTypeShare, CommSubscriptionConsentChangeEvent, CommSubscriptionConsentHistory, CommSubscriptionConsentShare, CommSubscriptionHistory, CommSubscriptionShare, CommSubscriptionTimingHistory, Community, ConnectedApplication, ContactChangeEvent, ContactHistory, ContactPointAddressChangeEvent, ContactPointAddressHistory, ContactPointAddressShare, ContactPointConsentChangeEvent, ContactPointConsentHistory, ContactPointConsentShare, ContactPointEmailChangeEvent, ContactPointEmailHistory, ContactPointEmailShare, ContactPointPhoneChangeEvent, ContactPointPhoneHistory, ContactPointPhoneShare, ContactPointTypeConsentChangeEvent, ContactPointTypeConsentHistory, ContactPointTypeConsentShare, ContactRequestShare, ContactShare, ContentDocumentChangeEvent, ContentDocumentHistory, ContentDocumentLink, ContentDocumentLinkChangeEvent, ContentDocumentSubscription, ContentFolderItem, ContentFolderLink, ContentFolderMember, ContentNote, ContentNotification, ContentTagSubscription, ContentUserSubscription, ContentVersionChangeEvent, ContentVersionComment, ContentVersionHistory, ContentVersionRating, ContentWorkspace, ContentWorkspaceMember, ContentWorkspacePermission, ContentWorkspaceSubscription, ContractChangeEvent, ContractHistory, ContractLineItemChangeEvent, ContractLineItemHistory, ContractStatus, Conversation, ConversationParticipant, CronJobDetail, CronTrigger, CustomBrand, CustomBrandAsset, CustomerShare, CustomHttpHeader, DashboardComponent, DataUseLegalBasisHistory, DataUseLegalBasisShare, DataUsePurposeHistory, DataUsePurposeShare, DecisionTableRecordset, DeleteEvent, DocumentAttachmentMap, Domain, DomainSite, DTRecordsetReplicaShare, EmailBounceEvent, EmailMessageChangeEvent, EmailServicesAddress, EmailServicesFunction, EmailTemplate, EmailTemplateChangeEvent, EngagementAttendeeChangeEvent, EngagementAttendeeHistory, EngagementChannelTypeHistory, EngagementChannelTypeShare, EngagementInteractionChangeEvent, EngagementInteractionHistory, EngagementInteractionShare, EngagementInterface, EngagementTopicChangeEvent, EngagementTopicHistory, EntitlementChangeEvent, EntitlementHistory, EntitlementTemplate, EntityMilestoneHistory, EntitySubscription, EventChangeEvent, EventRelationChangeEvent, EventRelayConfigChangeEvent, ExpressionSetHistory, ExpressionSetShare, ExpressionSetVersionHistory, ExternalEventMappingShare, FeedAttachment, FeedLike, FeedPollChoice, FeedPollVote, FeedSignal, FieldPermissions, FieldSecurityClassification, FiscalYearSettings, FlowInterviewLogShare, FlowInterviewShare, FlowOrchestrationEvent, FlowOrchestrationInstanceShare, FlowOrchestrationStageInstanceShare, FlowOrchestrationStepInstanceShare, FlowOrchestrationWorkItemShare, FlowRecordShare, FlowRecordVersionChangeEvent, FlowTestResultShare, Folder, Group, GroupMember, Holiday, IdeaComment, IdpEventLog, ImageHistory, ImageShare, IncidentChangeEvent, IncidentHistory, IncidentRelatedItemChangeEvent, IncidentRelatedItemHistory, IncidentShare, IndividualChangeEvent, IndividualHistory, IndividualShare, KnowledgeableUser, LeadChangeEvent, LeadHistory, LeadShare, LeadStatus, LightningExitByPageMetrics, LightningToggleMetrics, LightningUsageByAppTypeMetrics, LightningUsageByBrowserMetrics, LightningUsageByFlexiPageMetrics, LightningUsageByPageMetrics, ListEmailChangeEvent, ListEmailShare, ListView, LocationChangeEvent, LocationHistory, LocationShare, LocationTrustMeasureShare, LoginHistory, LoginIp, MacroChangeEvent, MacroHistory, MacroInstructionChangeEvent, MacroShare, MacroUsageShare, ManagedContentVariantChangeEvent, MessagingEndUserHistory, MessagingEndUserShare, MessagingSessionHistory, MessagingSessionShare, MilestoneType, MLEngagementEvent, ObjectPermissions, OpportunityChangeEvent, OpportunityContactRoleChangeEvent, OpportunityFieldHistory, OpportunityLineItemChangeEvent, OpportunityShare, OpportunityStage, OrderChangeEvent, OrderHistory, OrderItemChangeEvent, OrderItemHistory, OrderShare, OrderStatus, Organization, OrgEmailAddressSecurity, OrgWideEmailAddress, OutgoingEmail, OutgoingEmailRelation, PackageLicense, PartnerRole, PartyConsentChangeEvent, PartyConsentHistory, PartyConsentShare, Period, PermissionSet, PermissionSetAssignment, PermissionSetTabSetting, Pricebook2ChangeEvent, Pricebook2History, PricebookEntryChangeEvent, PricebookEntryHistory, PrivacyJobSessionShare, PrivacyObjectSessionShare, PrivacyRTBFRequestHistory, PrivacyRTBFRequestShare, PrivacySessionRecordFailureShare, ProblemChangeEvent, ProblemHistory, ProblemIncidentChangeEvent, ProblemIncidentHistory, ProblemRelatedItemChangeEvent, ProblemRelatedItemHistory, ProblemShare, ProcessDefinition, ProcessExceptionEvent, ProcessExceptionShare, ProcessInstanceChangeEvent, ProcessInstanceStep, ProcessInstanceStepChangeEvent, ProcessNode, Product2ChangeEvent, Product2History, ProductEntitlementTemplate, Profile, ProfileSkillEndorsementHistory, ProfileSkillHistory, ProfileSkillShare, ProfileSkillUserHistory, PromptActionShare, PromptErrorShare, QueueSobject, QuickTextChangeEvent, QuickTextHistory, QuickTextShare, QuickTextUsageShare, RecentlyViewed, RecommendationChangeEvent, RecordActionHistory, RecordAlertHistory, RecordAlertShare, RecordType, ScorecardShare, SellerHistory, SellerShare, ServiceContractChangeEvent, ServiceContractHistory, ServiceContractShare, SetupAuditTrail, SetupEntityAccess, SharingRecordCollectionShare, Site, SiteHistory, SiteRedirectMapping, SocialPersonaHistory, SocialPostChangeEvent, SocialPostHistory, SocialPostShare, SolutionHistory, SolutionStatus, StaticResource, StreamingChannelShare, TableauHostMappingShare, TaskChangeEvent, TaskPriority, TaskStatus, ThreatDetectionFeedback, TimelineObjectDefinitionChangeEvent, TodayGoalShare, Topic, TopicUserEvent, Translation, User, UserAppMenuCustomizationShare, UserChangeEvent, UserDefinedLabelAssignmentShare, UserDefinedLabelShare, UserEmailPreferredPersonShare, UserLicense, UserLogin, UserPackageLicense, UserPreference, UserPrioritizedRecordShare, UserProvisioningRequestShare, UserRole, UserShare, VideoCallChangeEvent, VideoCallParticipantChangeEvent, VideoCallRecordingChangeEvent, VideoCallShare, VisualforceAccessMetrics, VoiceCallChangeEvent, VoiceCallRecordingChangeEvent, VoiceCallShare, Vote, WebLink, WorkAccessShare, WorkBadgeDefinitionHistory, WorkBadgeDefinitionShare, WorkOrderChangeEvent, WorkOrderHistory, WorkOrderLineItemChangeEvent, WorkOrderLineItemHistory, WorkOrderLineItemStatus, WorkOrderShare, WorkOrderStatus, WorkPlanChangeEvent, WorkPlanHistory, WorkPlanShare, WorkPlanTemplateChangeEvent, WorkPlanTemplateEntryChangeEvent, WorkPlanTemplateEntryHistory, WorkPlanTemplateHistory, WorkPlanTemplateShare, WorkStepChangeEvent, WorkStepHistory, WorkStepStatus, WorkStepTemplateChangeEvent, WorkStepTemplateHistory, WorkStepTemplateShare, WorkThanksShare
  ```
+ Les ServiceNow entités ou champs suivants ne sont pas pris en charge pour une utilisation dans le cadre d'une intégration zéro ETL avec une ServiceNow source.

  ```
  ais_acl_overrides, ais_async_genius_result, ais_async_request, ais_connection, ais_genius_result_configuration_parameters, ais_partition_health, ais_partition_health_response, ais_publish_history, ais_relevancy_training_execution, ais_relevancy_training_staging, ais_search_profile_relevancy_model, catalog_draft_entities, clone_log, clone_log0000, clone_log0001, clone_log0002, clone_log0003, clone_log0004, clone_log0005, clone_log0006, clone_log0007, cmdb_ie_context, cmdb_ie_log, cmdb_ie_run, cmdb_ire_partial_payloads_index, cmdb_qb_result_base$par1, cmdb$par1, discovery_log, discovery_log0000, discovery_log0001, discovery_log0002, discovery_log0003, discovery_log0004, discovery_log0005, discovery_log0006, discovery_log0007, ecc_agent_log, entitlement_data, entl_subscription_map, gs_entitlement_plugin_mapping, ih_transaction_exclusion, import_log, import_log0000, import_log0001, import_log0002, import_log0003, import_log0004, import_log0005, import_log0006, import_log0007, jrobin_archive, jrobin_database, jrobin_datasource, jrobin_definition, jrobin_graph, jrobin_graph_line, jrobin_graph_set, jrobin_graph_set_member, jrobin_shard, jrobin_shard_location, license_role_discovery_run, logger_configuration_validation, m2m_analytics_event_logger, m2m_user_consent_info, ml_artifact_object_store, np$sys_gen_ai_filter_sample, np$sys_ui_element, np$sys_ui_list_element, one_api_service_plan_feature_invocation, one_api_service_plan_invocation, open_nlu_predict_log, open_nlu_predict_log0000, open_nlu_predict_log0001, open_nlu_predict_log0002, open_nlu_predict_log0003, open_nlu_predict_log0004, open_nlu_predict_log0005, open_nlu_predict_log0006, open_nlu_predict_log0007, pa_diagnostic_log, pa_diagnostic_log0000, pa_diagnostic_log0001, pa_diagnostic_log0002, pa_diagnostic_log0003, pa_diagnostic_log0004, pa_diagnostic_log0005, pa_diagnostic_log0006, pa_diagnostic_log0007, pa_favorites, pa_job_log_rows, pa_job_log_rows0000, pa_job_log_rows0001, pa_job_log_rows0002, pa_job_log_rows0003, pa_job_log_rows0004, pa_job_log_rows0005, pa_job_log_rows0006, pa_job_log_rows0007, pa_migration_ignored_scores, pa_scores_l1, pa_scores_l2, pa_scores_migration_groups, par_dashboard_conversion_backup, promin_log, promin_log0000, promin_log0001, promin_log0002, promin_log0003, promin_log0004, promin_log0005, promin_log0006, promin_log0007, promin_request_object, proposed_change_verification_log, proposed_change_verification_log0000, proposed_change_verification_log0001, proposed_change_verification_log0002, proposed_change_verification_log0003, proposed_change_verification_log0004, proposed_change_verification_log0005, proposed_change_verification_log0006, proposed_change_verification_log0007, protected_table_log, protected_table_log0000, protected_table_log0001, protected_table_log0002, protected_table_log0003, protected_table_log0004, protected_table_log0005, protected_table_log0006, protected_table_log0007, pwd_history, qb_query_results, scan_log, scan_log0000, scan_log0001, scan_log0002, scan_log0003, scan_log0004, scan_log0005, scan_log0006, scan_log0007, schema_validator_error, sla_repair_log_entry, sla_repair_log_entry0000, sla_repair_log_entry0001, sla_repair_log_entry0002, sla_repair_log_entry0003, sla_repair_log_entry0004, sla_repair_log_entry0005, sla_repair_log_entry0006, sla_repair_log_entry0007, sla_repair_log_message, sla_repair_log_message0000, sla_repair_log_message0001, sla_repair_log_message0002, sla_repair_log_message0003, sla_repair_log_message0004, sla_repair_log_message0005, sla_repair_log_message0006, sla_repair_log_message0007, sn_bm_client_activity, sn_ci_analytics_st_actionable_notifs, sn_ci_analytics_st_conv_completion_by_cat, sn_ci_analytics_st_conv_dynamic_property, sn_ci_analytics_st_conversation, sn_ci_analytics_st_count_by_date, sn_ci_analytics_st_event_occurrence, sn_ci_analytics_st_event_property_value_trend, sn_ci_analytics_st_issue_auto_resolution, sn_ci_analytics_st_no_clicks, sn_ci_analytics_st_no_results, sn_ci_analytics_st_property_summary_by_event, sn_ci_analytics_st_session_count_per_locale, sn_ci_analytics_st_session_duration, sn_ci_analytics_st_spokes_usage, sn_ci_analytics_st_topic_execution_stats, sn_ci_analytics_st_topic_occurrence, sn_ci_analytics_st_trending_content, sn_ci_analytics_st_trending_queries, sn_ci_analytics_st_users, sn_cs_plugin_signatures, sn_cs_telemetry_log, sn_dfc_application, sn_dfc_product, sn_employee_position, sn_entitlement_st_subscription_application_family, sn_entitlement_st_subscription_application_users, sn_hr_sp_st_relevant_for_you, sn_instance_clone_log, sn_instance_clone_log0000, sn_instance_clone_log0001, sn_instance_clone_log0002, sn_instance_clone_log0003, sn_instance_clone_log0004, sn_instance_clone_log0005, sn_instance_clone_log0006, sn_instance_clone_log0007, sn_km_mr_st_kb_knowledge, sn_me_st_topic, sn_rf_conditional_definition, sn_rf_evaluation_type, sn_rf_evaluation_type_input, sn_rf_recommendation_action, sn_rf_recommendation_experience, sn_rf_recommendation_history, sn_rf_recommendation_rule, sn_rf_record_display_configuration, sn_rf_trend_definition, sn_sub_man_st_account_level_entitlement, sn_sub_man_st_gen_ai_metadata, sn_sub_man_st_instance_used_assist_count, sn_sub_man_st_now_assist_creator_instances, sn_sub_man_st_now_assists_aggregate, sn_sub_man_st_subscribed_groups, sn_sub_man_st_subscription_insights, sn_sub_man_st_subscription_license_detail_metric, sn_sub_man_st_unallocated_group_recommendation, sn_sub_man_st_unconfirmed_user_group, sn_wn_user_app_activity, sn_wn_user_content_activity, snc_monitorable_item, snpar_sched_export_v_scheduled_export_visualization, spotlight, spotlight_audit, spotlight_copy_log_row, spotlight_copy_log_row0000, spotlight_copy_log_row0001, spotlight_copy_log_row0002, spotlight_copy_log_row0003, spotlight_copy_log_row0004, spotlight_copy_log_row0005, spotlight_copy_log_row0006, spotlight_copy_log_row0007, spotlight_job_log_row, spotlight_job_log_row0000, spotlight_job_log_row0001, spotlight_job_log_row0002, spotlight_job_log_row0003, spotlight_job_log_row0004, spotlight_job_log_row0005, spotlight_job_log_row0006, spotlight_job_log_row0007, st_dfc_performance_metric, st_license_detail_metric, st_on_call_hour, st_sc_wizard_question, st_sys_catalog_items_and_variable_sets, st_sys_design_system_icon, subscription_instance_stats, svc_container_config, svc_environment_config, svc_layer_config, svc_model_assoc_ci, svc_model_checkpoint_attr, svc_model_obj_cluster, svc_model_obj_constraint, svc_model_obj_deployable, svc_model_obj_element, svc_model_obj_impact, svc_model_obj_impactrule, svc_model_obj_package, svc_model_obj_path, svc_model_obj_relation, svc_model_obj_service, sys_administrative_script_transaction, sys_amb_message, sys_amb_processor, sys_analytics_batch_state, sys_analytics_config, sys_analytics_data_points_error, sys_analytics_event, sys_analytics_logger, sys_analytics_logger_field, sys_app_payload_loader_rule, sys_app_payload_unloader_rule, sys_app_scan_payload, sys_app_scan_variable, sys_app_scan_variable_type, sys_archive_destroy_log, sys_archive_destroy_run, sys_archive_log, sys_archive_run, sys_atf_transaction_log, sys_attachment_doc, sys_attachment_doc_v2, sys_attachment_soft_deleted, sys_audit, sys_audit_relation, sys_auth_policy_api_allowed, sys_aw_registered_scripting_modal, sys_cache_flush, sys_data_egress_source, sys_dm_delete_count, sys_export_set_log, sys_export_set_log0000, sys_export_set_log0001, sys_export_set_log0002, sys_export_set_log0003, sys_export_set_log0004, sys_export_set_log0005, sys_export_set_log0006, sys_export_set_log0007, sys_flow_compiled_flow, sys_flow_compiled_flow_chunk, sys_flow_context_chunk, sys_flow_context_chunk_archive, sys_flow_context_inputs_chunk, sys_flow_execution_history, sys_flow_log, sys_flow_log0000, sys_flow_log0001, sys_flow_log0002, sys_flow_log0003, sys_flow_plan_context_binding, sys_flow_report_doc, sys_flow_report_doc_chunk, sys_flow_report_doc_chunk_archive, sys_flow_runtime_state_chunk, sys_flow_runtime_value_chunk, sys_flow_subflow_plan_chunk, sys_flow_trigger_plan_chunk, sys_flow_val_listener, sys_flow_value, sys_flow_value_chunk, sys_gen_ai_config_example, sys_gen_ai_feature_mapping, sys_gen_ai_strategy_mapping, sys_gen_ai_usage_log, sys_generative_ai_capability_definition, sys_generative_ai_log, sys_generative_ai_response_validator, sys_generative_ai_validator, sys_geo_routing, sys_geo_routing_config, sys_hop_token, sys_hub_action_plan_chunk, sys_hub_snapshot_chunk, sys_journal_field, sys_journal_field_edit, sys_json_chunk, sys_kaa_policy, sys_kaa_subidentity_assertion, sys_kaa_user_policy_mapping, sys_mapplication, sys_mass_encryption_job, sys_notification_execution_log, sys_notification_execution_log0000, sys_notification_execution_log0001, sys_notification_execution_log0002, sys_notification_execution_log0003, sys_notification_execution_log0004, sys_notification_execution_log0005, sys_notification_execution_log0006, sys_notification_execution_log0007, sys_nowmq_message, sys_nowmq_provider_param_definition, sys_orchestrator_action, sys_pd_asset_configuration, sys_pd_context_chunk, sys_pd_context_log, sys_pd_snapshot_chunk, sys_pd_trigger_license, sys_processing_framework_job, sys_query_index_hint, sys_query_rewrite, sys_query_string_log, sys_replication_queue, sys_replication_queue0, sys_replication_queue1, sys_replication_queue2, sys_replication_queue3, sys_replication_queue4, sys_replication_queue5, sys_replication_queue6, sys_replication_queue7, sys_request_performance, sys_rollback_blacklisted, sys_rollback_conflict, sys_rollback_incremental, sys_rollback_log, sys_rollback_log0000, sys_rollback_log0001, sys_rollback_log0002, sys_rollback_log0003, sys_rollback_log0004, sys_rollback_log0005, sys_rollback_log0006, sys_rollback_log0007, sys_rollback_run, sys_rollback_schema_change, sys_rollback_schema_conflict, sys_rollback_sequence, sys_scheduler_assignment, sys_scheduler_memory_pressure_job_log, sys_script_adapter_rule, sys_script_batch_adapter_rule, sys_search_source_filter, sys_service_authentication, sys_signing_job, sys_suggestion_reader, sys_sync_history_review, sys_trend, sys_unreferenced_preview, sys_unreferenced_record_rule, sys_upgrade_manifest, sys_upgrade_state, sys_ux_asset_cache_buster, sys_ux_lib_component_prop, sys_ux_lib_presource, sys_ux_page_action, sys_ux_page_action_binding, sysevent_queue_runtime, syslog, syslog_app_scope0000, syslog_app_scope0001, syslog_app_scope0002, syslog_app_scope0003, syslog_app_scope0004, syslog_app_scope0005, syslog_app_scope0006, syslog_app_scope0007, syslog_email0000, syslog_email0001, syslog_email0002, syslog_email0003, syslog_email0004, syslog_email0005, syslog_email0006, syslog_email0007, syslog_transaction, syslog_transaction0000, syslog_transaction0001, syslog_transaction0002, syslog_transaction0003, syslog_transaction0004, syslog_transaction0005, syslog_transaction0006, syslog_transaction0007, syslog0000, syslog0001, syslog0002, syslog0003, syslog0004, syslog0005, syslog0006, syslog0007, ts_attachment, ts_c_1_0, ts_c_1_1, ts_c_1_2, ts_c_1_3, ts_c_1_4, ts_c_1_5, ts_c_1_6, ts_c_1_7, ts_c_1_8, ts_c_1_9, ts_c_10_0, ts_c_10_1, ts_c_10_2, ts_c_10_3, ts_c_10_4, ts_c_10_5, ts_c_10_6, ts_c_10_7, ts_c_10_8, ts_c_10_9, ts_c_11_0, ts_c_11_1, ts_c_11_2, ts_c_11_3, ts_c_11_4, ts_c_11_5, ts_c_11_6, ts_c_11_7, ts_c_11_8, ts_c_11_9, ts_c_2_0, ts_c_2_1, ts_c_2_2, ts_c_2_3, ts_c_2_4, ts_c_2_5, ts_c_2_6, ts_c_2_7, ts_c_2_8, ts_c_2_9, ts_c_3_0, ts_c_3_1, ts_c_3_2, ts_c_3_3, ts_c_3_4, ts_c_3_5, ts_c_3_6, ts_c_3_7, ts_c_3_8, ts_c_3_9, ts_c_39_0, ts_c_39_1, ts_c_39_2, ts_c_39_3, ts_c_39_4, ts_c_39_5, ts_c_39_6, ts_c_39_7, ts_c_39_8, ts_c_39_9, ts_c_40_0, ts_c_40_1, ts_c_40_2, ts_c_40_3, ts_c_40_4, ts_c_40_5, ts_c_40_6, ts_c_40_7, ts_c_40_8, ts_c_40_9, ts_c_41_0, ts_c_41_1, ts_c_41_2, ts_c_41_3, ts_c_41_4, ts_c_41_5, ts_c_41_6, ts_c_41_7, ts_c_41_8, ts_c_41_9, ts_c_42_0, ts_c_42_1, ts_c_42_2, ts_c_42_3, ts_c_42_4, ts_c_42_5, ts_c_42_6, ts_c_42_7, ts_c_42_8, ts_c_42_9, ts_c_43_0, ts_c_43_1, ts_c_43_2, ts_c_43_3, ts_c_43_4, ts_c_43_5, ts_c_43_6, ts_c_43_7, ts_c_43_8, ts_c_43_9, ts_c_44_0, ts_c_44_1, ts_c_44_2, ts_c_44_3, ts_c_44_4, ts_c_44_5, ts_c_44_6, ts_c_44_7, ts_c_44_8, ts_c_44_9, ts_c_45_0, ts_c_45_1, ts_c_45_2, ts_c_45_3, ts_c_45_4, ts_c_45_5, ts_c_45_6, ts_c_45_7, ts_c_45_8, ts_c_45_9, ts_c_6_0, ts_c_6_1, ts_c_6_2, ts_c_6_3, ts_c_6_4, ts_c_6_5, ts_c_6_6, ts_c_6_7, ts_c_6_8, ts_c_6_9, ts_c_7_0, ts_c_7_1, ts_c_7_2, ts_c_7_3, ts_c_7_4, ts_c_7_5, ts_c_7_6, ts_c_7_7, ts_c_7_8, ts_c_7_9, ts_c_8_0, ts_c_8_1, ts_c_8_2, ts_c_8_3, ts_c_8_4, ts_c_8_5, ts_c_8_6, ts_c_8_7, ts_c_8_8, ts_c_8_9, ts_c_attachment, ts_chain, ts_deleted_doc, ts_document, ts_field, ts_index_stats, ts_phrase, ts_search_stats, ts_v4_attachment, ts_word, ua_app_metadata, ua_audit_stats, ua_extra_page, ua_monitor_property, ua_monitor_property_audit, ua_shared_service, ua_sn_table_inventory, ua_sp_known_bot, ua_upload_log, v_ais_result_improvement_rule_condition_builder_values, v_cluster_nodes, v_cxs_search_resource, v_db_index, v_db_trigger, v_file_load_order, v_interaction_context, v_iostats, v_mysql_proclist, v_mysql_status, v_mysql_variables, v_on_call_report_cache, v_pa_par_combined_dashboard, v_pd_activity_condition_to_run, v_pd_activity_start_rule_with_condition, v_pd_lane_condition_to_run, v_sql_debug, v_st_kb_category, v_st_kb_most_viewed, v_st_kb_recently_viewed, v_st_km_genai_mra_similar_task, v_st_popular_item, v_st_recent_item, v_st_sc_cat_item, v_st_sc_catalog, v_st_sc_category, validator_run_summary, vtb_card_history, wf_log, wf_log0000, wf_log0001, wf_log0002, wf_log0003, wf_log0004, wf_log0005, wf_log0006, wf_log0007, spotlight_criteria, pa_snapshots, pa_widget_indicators, pa_widgets, sn_cim_register, global, gsw_change_log, gsw_content, gsw_content_group, gsw_content_information, gsw_status_of_content, multi_factor_browser_fingerprint, multi_factor_criteria, pa_filters, password_policy, plan_execution, plan_mysql, plan_oracle, plan_postgres, sc_rest_api_without_access_policy, sn_actsub_activity, sn_actsub_activity_fanout, sn_actsub_activity_stream, sn_actsub_activity_type, sn_actsub_atype_attributes, sn_actsub_atype_notif_pref, sn_actsub_module, sn_actsub_notif_object, sn_actsub_subobject_stream, sn_actsub_subscribable_object, sn_actsub_subscription_notif_pref, sn_actsub_user_stream, sn_appclient_store_outbound_http_quota, sn_appcreator_app_template, sn_critical_update, sn_docker_spoke_images, sn_employee_app, sn_employee_app_access, sn_employee_app_access_criteria, sn_entitlement_genai_assist_counts, sn_entitlement_genai_creator_user_counts, sn_entitlement_genai_creator_users, sn_mif_instance, sn_mif_sync_data, sn_mif_sync_status, sn_mif_table_registration, sn_mif_trust_config, sn_vsc_best_practice_configurations, sn_vsc_best_practice_goals, sn_vsc_changed_hardening_settings, sn_vsc_changed_scan_findings, sn_vsc_check_security_area, sn_vsc_elevation_event, sn_vsc_event, sn_vsc_export_event, sn_vsc_export_setting, sn_vsc_harc_compliance_status_lookup, sn_vsc_hardening_compliance_scores, sn_vsc_impersonation_event, sn_vsc_instance_hardening_settings, sn_vsc_login_event, sn_vsc_scan_comparisons, sn_vsc_scan_summary, sn_vsc_security_check_categories, sn_vsc_security_check_configurations, sn_vsc_security_configuration_groups, sn_vsc_security_privacy_capabilities, sn_vsc_updated_settings, sn_vsc_user_comparisons, sys_app_hash_inventory, sys_coalesce_strategy_deferred, sys_flow_secure_data, sys_formula_function, sys_geocoding_request, sys_global_file_hash, sys_import_set_row, sys_index, sys_index_explain, sys_installation_schedule, sys_installation_schedule_item, sys_offline_app, sys_package, sys_package_dependency_item, sys_package_dependency_m2m, sys_plugins, sys_querystat, sys_reap_package, sys_scoped_plugin, sys_stage_storage_alias, sys_storage_alias, sys_storage_table_alias, sys_store_app, sys_table_partition, sys_upgrade_history_log, sys_user_public_credential, sys_webauthn_authentication_request, sys_webauthn_registration_request, syslog_app_scope, syslog_email, syslog_page_timing, ua_instance_state_config, v_expression_cache, v_private_cache, v_shared_cache, sys_amb_message0002, sys_amb_message0004, sys_amb_message0005, sys_metadata, v_par_unified_report_viz
  ```