En outre, l'importation de données d'un tableau particulier vers un seau S3 vous permet de traiter des requêtes complexes et d'effectuer des analyses sur vos données en utilisant AWS Glue, Lake Formation et Athena. La fonction d'exportation de la table DynamoDB est une solution entièrement gérée, fiable et rapide. Encore plus, l'exportation d'une table ne consomme pas la capacité de lecture du tableau et n'affecte pas ses performances et sa disponibilité.
Cet article traite de tout ce que vous devez savoir sur l'exportation des tables DynamoDB vers Amazon S3. Vous apprendrez à exporter des tables DynamoDB vers S3 à l'aide de Boto3.
Comment exporter les données de DynamoDB à Amazon S3
Pour exporter des données d'Amazon DynamoDB à Amazon S3, vous pouvez utiliser le service AWS Data Pipeline et les configurer pour exporter périodiquement les données de votre table DynamoDB vers un seau S3. Il est également possible d'utiliser le service AWS Glue pour exporter les données de DynamoDB à S3 en créant un robot de colle qui pointe vers votre table DynamoDB et un travail de colle qui exporte les données vers S3.
Une autre approche serait d'utiliser les SDK AWS pour écrire un script qui exporte des données de votre table DynamoDB à S3. Le script utiliserait l'API DynamoDB pour scanner ou interroger la table, puis l'API S3 pour écrire les données dans un seau.
Voici les étapes impliquées lors de l'exportation d'une table DynamoDB vers Amazon S3:
Étape 1: Installez la bibliothèque Boto3
Vous pouvez utiliser le pip install boto3 Commande pour installer la bibliothèque Boto3, qui est le SDK Amazon Web Services (AWS) pour Python. Notamment, la bibliothèque permet aux développeurs de Python d'écrire un logiciel qui utilise des services comme Amazon S3 et Amazon EC2.
Le code d'installation est comme indiqué ci-dessous:
pip install boto3
Étape 2: Importez les bibliothèques requises
Le importer boto3 et Importer JSON Les services publics importent les bibliothèques nécessaires pour votre script. Boto3 est utile pour interagir avec les services AWS, tandis que JSON est utilisé pour lire et écrire des données JSON.
Votre ligne de commande devrait ressembler à ceci:
importer boto3
Importer JSON
Étape 3: Créez des clients pour DynamoDB et S3
Vous utiliserez des clients pour interracter avec S3 et DynamoDB. Pour y parvenir, vous devrez utiliser dynamoDB = boto3.client ('dynamoDB') et s3 = boto3.client («S3») Commandes pour créer des clients pour DynamoDB et Amazon S3, respectivement.
Vous pouvez utiliser la ligne de commande ci-dessous:
dynamoDB = boto3.client ('dynamoDB')
s3 = boto3.client («S3»)
Étape 4: Spécifiez le nom de votre table et le nom du seau S3
Définissez vos noms de table et S3 à l'aide des codes ci-dessous:
table_name = 'mytablename'
bucket_name = 'mybucketname'
Étape 5: Utilisez l'opération de scan pour récupérer les éléments
Vous pouvez utiliser les opérations de numérisation ou de requête pour récupérer tous les éléments de votre table. Dans cette illustration, nous utiliserons l'opération de balayage pour la récupération des éléments comme indiqué:
résultat = dynamodb.scan (tableName = table_name)
Étape 6: Écrivez des éléments dans un fichier
Utilisez le système de fichiers local pour écrire des éléments dans un fichier. Le fichier prendra automatiquement le nom des données.JSON 'dans le système de fichiers local. Cet utilitaire devrait aider:
avec Open ('Données.JSON ',' W ') comme data_file:
fichier de données.Écrire (JSON.Dumps (résultat ['items']))
Étape 7: Téléchargez le nouveau fichier sur Amazon S3
Vous pouvez maintenant télécharger votre fichier sur votre seau S3 spécifié en utilisant la ligne de commande ci-dessous:
S3.upload_file ('Données.JSON ', Bucket_name,' Données.JSON ')
Étape 8: valider les données
Cette étape est facultative mais idéale si vous souhaitez valider vos données. Vous pouvez effectuer la procédure de validation en téléchargeant le fichier depuis Amazon S3 avant de le lire.
Conclusion
Il est essentiel de noter que le script est un exemple de base et peut convenir que pour certains ensembles de données. Pour les grands ensembles de données, envisagez d'utiliser le boto3.dynamodb.les types.Typesérialiseur pour sérialiser ou formater les éléments et paginer à travers les résultats en utilisant le dynamodb.analyse() méthode. Le Limite et EXCLUSIVESTARTKEY Les paramètres seront utiles pendant la pagination.