

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.

# Étape 1 : Bootstrap de l'infrastructure et AWS Glue jobs
<a name="S3-tutorial-step1"></a>

Au cours de cette étape, vous utilisez l'`keyspaces-bulk-cli`interface de ligne de commande pour créer et configurer toutes les AWS ressources requises pour l'exportation automatique des données d'une table Amazon Keyspaces vers un compartiment Amazon S3 à l'aide AWS Glue de. La `bootstrap` commande exécute toutes les tâches de configuration en une seule étape.

La `bootstrap` commande automatise les tâches suivantes.

1. Crée un compartiment ** Amazon S3 ** et un rôle de service ** IAM à ** l'aide CloudFormation de.

1. Télécharge le connecteur [ Apache Spark Cassandra](https://repo1.maven.org/maven2/com/datastax/spark/), le plug-in d'authentification [ Sigv4 et ](https://repo1.maven.org/maven2/software/aws/mcs/aws-sigv4-auth-cassandra-java-driver-plugin/) les extensions [ Apache Spark. ](https://repo1.maven.org/maven2/uk/co/gresearch/spark/)

1. Télécharge et crée l'assistant [ Keyspaces Retry Policy à l'](https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers)aide de Maven.

1. Télécharge tous les fichiers JAR et le fichier `keyspaces-application.conf` de configuration dans le compartiment Amazon S3.

1. Déploie trois AWS Glue tâches : exporter (exporter un tableau vers Amazon S3), importer (importer des données depuis Amazon S3 dans un tableau) et compter (compter les lignes d'un tableau).

1. Enregistre la configuration de la pile dans un `.keyspaces-bulk-cli.json` fichier local pour être utilisée par les commandes suivantes.

**Pour démarrer l'infrastructure et AWS Glue jobs**

1. Clonez les fichiers du [ référentiel ](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/scala/datastax-v4/aws-glue) aws-glue sur votre GitHub machine locale.

   ```
   $ git clone https://github.com/aws-samples/amazon-keyspaces-examples.git
   $ cd amazon-keyspaces-examples/scala/datastax-v4/aws-glue
   ```

1. Exécutez la commande `bootstrap`. L'exemple suivant utilise le nom de pile par défaut `aksglue` et spécifie l'espace de touches et la table comme valeurs par défaut pour les tâches déployées. Vous pouvez modifier ces valeurs lorsque vous exécutez des commandes individuelles telles que `export``import`, ou`count`.

   ```
   $ ./keyspaces-bulk-cli bootstrap --stack {{aksglue}} --keyspace {{catalog}} --table {{book_awards}}
   ```

   Le tableau suivant décrit les paramètres facultatifs que vous pouvez transmettre pour personnaliser le bootstrap.


<table>
<thead>
  <tr><th>Option</th><th>Par défaut</th><th>Description</th></tr>
</thead>
<tbody>
  <tr><td><code>--stack</code></td><td><code>aksglue</code></td><td>CloudFormation préfixe du nom de la pile</td></tr>
  <tr><td><code>--bucket</code></td><td>Auto-generated à partir de la pile et du compte</td><td>Compartiment Amazon S3 pour les artefacts</td></tr>
  <tr><td><code>--role-name</code></td><td>Auto-generated depuis stack</td><td>Nom du rôle de service IAM</td></tr>
  <tr><td><code>--keyspace</code></td><td><code>mykeyspace</code></td><td>Espace de touches par défaut pour les tâches déployées</td></tr>
  <tr><td><code>--table</code></td><td><code>mytable</code></td><td>Tableau par défaut pour les tâches déployées</td></tr>
  <tr><td><code>--s3-uri</code></td><td><code>s3://{bucket}/export</code></td><td>Chemin Amazon S3 par défaut pour les données exportées</td></tr>
  <tr><td><code>--format</code></td><td><code>parquet</code></td><td>Format de données par défaut</td></tr>
  <tr><td><code>--region</code></td><td>À partir de la AWS configuration</td><td>Région AWS</td></tr>
  <tr><td><code>--profile</code></td><td>À partir de la AWS configuration</td><td>AWS profil nommé</td></tr>
</tbody>
</table>


   Pour vérifier que le compartiment Amazon S3 créé par bootstrap existe, vous pouvez utiliser la AWS CLI commande suivante. {{YOURACCOUNTID}}Remplacez-le par votre identifiant de AWS compte.

   ```
   $ aws s3 ls s3://amazon-keyspaces-bulk-cli-{{aksglue}}-{{YOURACCOUNTID}}
   ```

   Le résultat de la commande ressemble à ce qui suit :

   ```
                              PRE conf/
                              PRE jars/
                              PRE scripts/
   ```

   Pour confirmer que la tâche AWS Glue d'exportation a été déployée, vous pouvez utiliser la commande suivante.

   ```
   $ aws glue list-jobs
   ```

   La sortie répertorie les tâches déployées :

   ```
   {
       "JobNames": [
           "AmazonKeyspacesExportToS3-aksglue",
           "AmazonKeyspacesImportFromS3-aksglue",
           "AmazonKeyspacesCount-aksglue"
       ]
   }
   ```

Si le processus de CloudFormation pile échoue, vous pouvez consulter les informations d'erreur détaillées concernant la pile défaillante dans la CloudFormation console. Pour réessayer, supprimez la pile qui a échoué`aws cloudformation delete-stack --stack-name {{aksglue}}`, corrigez le problème sous-jacent et exécutez à nouveau la commande bootstrap. La commande bootstrap est idempotente et ignore les ressources qui existent déjà.

Une fois le bootstrap terminé et toutes les ressources créées, passez à[Étape 2 : Exécuter la tâche d'exportation](S3-tutorial-step2.md).