View a markdown version of this page

Comprendre la livraison à l'exportation - Exportations de données AWS

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.

Comprendre la livraison à l'exportation

Dans les sections suivantes, vous trouverez des informations sur votre livraison à l'exportation.

  • Exporter la structure du répertoire parent S3 : comment les données d'exportation sont structurées dans le répertoire S3 vers lequel votre exportation est livrée.

  • Actualisation des exportations : fréquence à laquelle vos exportations sont mises à jour dans votre répertoire S3.

  • Réécriture des exportations et création de nouvelles options : comment votre livraison d'exportation change en cas de réécriture et crée de nouvelles préférences de livraison.

  • Noms et fragments de fichiers de données d'exportation : nom des fichiers d'exportation (gzip/csv ou Parquet).

Exporter la structure du répertoire parent S3

Chaque exportation fournit les données de la requête à S3 (sous forme d'un ou de plusieurs fichiers gzip/csv ou fichiers Parquet) ainsi qu'un fichier de Manifest.json métadonnées contenant des informations sur la définition de l'exportation au moment où l'exportation a été exécutée.

Données

Les données résultant de la requête d'exportation sont stockées dans le chemin de fichier S3 suivant :

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/

La partition correspond à la table interrogée. Pour CUR 2.0, la partition correspond à la « période de facturation » d'une exportation CUR 2.0 donnée.

prefix: le préfixe du fichier S3 que vous attribuez à l'exportation.

export-name: nom que vous attribuez à l'exportation.

partition: La partition décrit comment une seule table est partitionnée en tables distinctes pour la livraison. Pour CUR 2.0, la partition correspond à la « période de facturation » au formatBILLING_PERIOD=YYYY-MM. Par exemple, la partition pour novembre 2023 est 2023-11.

Voici un exemple de chemin de fichier S3 :

s3://my-data-export-s3-bucket/my-cur-files/business_group_a_cur/data/BILLING_PERIOD=2023-11

Metadonnées

Le fichier de Manifest.json métadonnées de la requête est stocké dans le chemin de fichier S3 suivant :

s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<export-name>-Manifest.json

Le Manifest.json fichier est mis à jour chaque fois que l'export est actualisé. Un nouveau Manifest.json fichier est créé pour chaque nouvelle partition créée par l'export. Pour CUR 2.0, cela signifie qu'un nouveau Manifest.json fichier est généré au début d'une nouvelle période de facturation.

Les fichiers manifestes contiennent les informations suivantes :

  • Toutes les colonnes incluses dans l'export.

  • Liste des fichiers d'exportation et de leur chemin d'accès. Nous vous recommandons d'identifier les fichiers à ingérer en lisant cette liste par programmation.

  • Période couverte par l'exportation.

  • Une section intitulée « additionalOutputFiles Cela » répertorie les fichiers supplémentaires fournis si vous avez intégré Athena ou Amazon Redshift.

Le n'Manifest.jsonest livré que lorsque tous les fichiers de données d'exportation ont été livrés à S3.

Actualisation des exportations

Data Exports actualise vos exportations chaque fois que les données source sont mises à jour. Pour CUR 2.0, cela se produit au moins une fois par jour. La période de facturation en cours (partition) est actualisée jusqu'à la fin de la période de facturation, date à laquelle les livraisons de la période de facturation suivante commencent. Les livraisons de la période de facturation suivante ne contiennent que les frais et les données de facturation pour cette période de facturation. Après la fin de la période de facturation, AWS vous pouvez mettre à jour la livraison à l'exportation pour la période de facturation précédente dans les deux premières semaines suivant la fin de celle-ci.

Exportez le remplacement et créez un nouveau

Lorsque vous créez une exportation, vous pouvez choisir de créer de nouveaux fichiers d'exportation ou de remplacer les fichiers d'exportation existants à chaque actualisation.

Créer un nouveau

La création de nouveaux fichiers d'exportation utilise davantage de stockage S3 car toutes les actualisations d'exportation sont conservées. Le remplacement des fichiers d'exportation précédents utilise moins d'espace de stockage S3, car seule la dernière version de chaque actualisation de la période de facturation est conservée.

En mode « créer un nouveau », les fichiers d'exportation sont livrés au chemin S3 suivant :

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>

timestampIl s'agit de la date et de l'heure auxquelles l'exportation a été exécutée. execution-idIl s'agit de l'identifiant unique attribué à l'exécution.

Pour « créer un nouveau », deux Manifest.json fichiers sont fournis à chaque exécution d'exportation. L'un est stocké dans le metadata/<partition>/<timestamp>-<execution-id> répertoire et l'autre est remplacé dans le metadata/<partition> répertoire. Le manifeste du metadata/<partition> répertoire représente toujours l'actualisation la plus récente et ses données sont utilisées pour identifier l'emplacement des derniers fichiers d'exportation actualisés.

Remplacer

Le remplacement ne s'applique qu'aux actualisations de la même partition (c'est-à-dire à la période de facturation). Une fois qu'une nouvelle période de facturation commence, l'exportation crée un nouveau répertoire S3 dont le nom est basé sur la dernière partition ou période de facturation, et commence à y livrer la nouvelle partition d'exportation. L'exportation de la partition précédente n'est pas remplacée, sauf si les données de cette partition spécifique sont mises à jour.

En mode « réécriture », les fichiers d'exportation sont envoyés vers le chemin S3 suivant :

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/

Les fichiers d'exportation de ce répertoire de fichiers sont remplacés à chaque livraison de la même partition (c'est-à-dire pendant la période de facturation).

Les fichiers d'exportation sont fournis sous forme de plusieurs « morceaux » (fichiers séparés gzip/csv ou fichiers Parquet) lorsque l'exportation devient suffisamment importante. Si la taille de l'exportation diminue au cours du mois (en raison d'une modification de la requête ou d'une correction des données), il se peut que moins de segments soient nécessaires pour actualiser l'exportation. Dans ce cas, les exportations de données remplacent tous les fragments supplémentaires provenant de la dernière actualisation par des données vides.

Pour le remplacement, un Manifest.json fichier est fourni à chaque exécution d'exportation. Il est stocké dans le metadata/<partition> répertoire et est remplacé à chaque actualisation.

Exporter les noms et les fragments de fichiers de données

Les exportations fournissent les résultats d'une exécution sous la forme d'un seul fichier (gzip/csv ou Parquet) ou en plusieurs « morceaux » (fichiers séparés gzip/csv ou fichiers Parquet) lorsque l'exportation devient suffisamment importante.

Les exportations sont nommées comme suit pour le format de gzip/csv fichier :

<export-name>-<chunk-number>.csv.gz

Les exportations sont nommées comme suit pour le format Parquet :

<export-name>-<chunk-number>.snappy.parquet

Les numéros partiels comportent toujours cinq chiffres. Les numéros de blocs sont énumérés à partir de. 00001

Note

Si vous avez choisi l'option Athena ou Redshift Report Integration lors de la création de CUR 2.0, la section ci-dessous concernant les intégrations de Redshift et d'Athena peut vous intéresser.

Intégration avec Amazon Redshift

Si vous avez choisi l'option d'intégration avec Amazon Redshift, vous créez et distribuez AWS également un fichier contenant les commandes SQL dont vous avez besoin pour télécharger votre rapport dans Amazon Redshift. Pour télécharger une exportation de données vers Amazon Redshift, procédez comme suit.

Pour télécharger une exportation de données vers Amazon Redshift
  1. Créez un cluster Amazon Redshift. Pour plus d'informations, consultez la section Création d'un cluster dans le guide de gestion Amazon Redshift.

  2. Connectez-vous à la console AWS de gestion et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  3. Accédez à l'emplacement Amazon S3 où vous stockez votre exportation de AWS données.

  4. Téléchargez le RedshiftCommands.sql fichier qui est stocké à côté de votre fichier manifeste dans S3, ainsi que le fichier d'assistance Redshift à l'adresse suivante :

    <bucket>/<prefix>/<export-name>/metadata/<partition>/<export-name>-RedshiftCommands.sql

  5. Dans la copy commande, remplacez <AWS_ROLE> par l'ARN d'un rôle IAM autorisé à accéder au compartiment Amazon S3 dans lequel vous stockez votre exportation de AWS données.

  6. <S3_BUCKET_REGION>Remplacez-le par la région dans laquelle se trouve votre compartiment Amazon S3. Par exemple, us-east-1.

  7. Utilisez un client SQL à connecter au cluster. Pour plus d'informations, consultez la section Accès aux clusters et aux bases de données Amazon Redshift dans le guide de gestion Amazon Redshift.

  8. Copiez les commandes SQL depuis le fichier RedshiftCommands.sql dans votre client SQL, dans l'ordre suivant :

    1. créer une table — Crée une table Amazon Redshift avec un schéma personnalisé pour correspondre à votre rapport.

    2. copier — Utilise le rôle IAM fourni pour télécharger les fichiers d'exportation de AWS données de S3 vers Amazon Redshift.

    3. créer une table de balises — Crée une table qui vous permet de mapper des balises AWS définies à vos balises définies par l'utilisateur.

    4. insert — Insère les balises définies par l'utilisateur dans le tableau des balises.

  9. Après avoir copié toutes les données de votre exportation de AWS données dans Amazon Redshift, vous pouvez les interroger à l'aide de SQL. Pour plus d'informations, consultez Amazon Redshift SQL dans le manuel Amazon Redshift Database Developer Guide.

Intégration avec Amazon Athena

Si vous avez choisi l'option d'intégration avec Amazon Athena, vous pouvez AWS également créer et distribuer plusieurs fichiers pour vous aider à configurer toutes les ressources dont vous avez besoin. AWS fournit un CloudFormation modèle, un fichier SQL pour créer manuellement votre table Athena et un dossier d'état pour vérifier l'état d'actualisation de votre exportation. Ces fichiers utilisent les conventions de dénomination suivantes.

CloudFormation modèle pour configurer les ressources Athena :

<prefix>/<export-name>/crawler-cfn.yml

Fichier SQL pour créer votre table Athena manuellement :

<prefix>/<export-name>/metadata/<partition>/<export-name>-create-table.sql

Exporter le dossier d'état d'actualisation :

<prefix>/<export-name>/execution_status/

Configuration d'Athena à l'aide de modèles CloudFormation

Pour utiliser le modèle Athena CloudFormation
  1. Accédez au crawler-cfn.yml fichier dans votre compartiment S3 et sélectionnez le bouton Copier à côté de l'URL de l'objet.

  2. Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/.

  3. Si vous ne l'avez jamais utilisé CloudFormation auparavant, choisissez Create New Stack. Sinon, cliquez sur Create Stack (Créer une pile).

  4. Sous Préparer le modèle, sélectionnez Choisir un modèle existant.

  5. Sous Spécifier le modèle, dans le champ Source du modèle, choisissez l'URL Amazon S3.

  6. Collez l'URL de l'objet S3 dans le champ URL Amazon S3.

  7. Choisissez Suivant.

  8. Pour Nom de la pile, saisissez un nom pour votre modèle, puis choisissez Suivant.

  9. Au bas de la page, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM.

  10. Choisissez Suivant, puis Soumettre.

Pour mettre à jour le modèle Athena CloudFormation existant
  1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste des compartiments, choisissez le compartiment dans lequel vous avez choisi de recevoir votre exportation de AWS données.

  3. Choisissez le préfixe du chemin de votre rapport (your-report-path-prefix/), puis le nom de votre rapport (your-report-name/).

  4. Choisissez le fichier .yml modèle et cliquez sur le bouton Copier à côté de l'URL de l'objet.

  5. Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/.

  6. Sélectionnez la pile créée précédemment, puis choisissez Mettre à jour la pile > Effectuer une mise à jour directe.

  7. Sous Préparer le modèle, choisissez Remplacer le modèle existant.

  8. Sous Source du modèle, choisissez l'URL Amazon S3.

  9. Collez l'URL de l'objet S3 dans le champ URL Amazon S3.

  10. Choisissez Suivant.

  11. Sur la page Spécifier les détails de la pile, modifiez tous les détails, puis choisissez Suivant.

  12. Au bas de la page, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM.

  13. Choisissez Suivant, puis Soumettre.

Configuration manuelle d'Athena

Si vous ne souhaitez pas utiliser le CloudFormation modèle, vous pouvez créer votre table Athena manuellement à l'aide du fichier SQL fourni.

Pour créer manuellement une table Athena
  1. Le create-table.sql fichier pour votre exportation se trouve à l'adresse suivante :

    <bucket>/<prefix>/<export-name>/metadata/BILLING_PERIOD=YYYY-MM/<export-name>-create-table.sql

  2. Dans le volet de requête Nouvelle requête 1, collez le code SQL depuis le fichier. Pour<database name>.<table name>, utilisez le nom de la base de données et de la table figurant sur la première ligne du code SQL.

  3. Exécutez la commande suivante pour créer la base de données :

    CREATE DATABASE <database name>

Pour charger une nouvelle partition de rapport, exécutez le code SQL suivant :

ALTER TABLE `<database name>`.<table name> ADD PARTITION (billing_period='YYYY-MM') LOCATION 's3://<bucket>/<prefix>/<export-name>/data/BILLING_PERIOD=YYYY-MM/';où YYYY-MM est la période de facturation exprimée en année à 4 chiffres et mois à 2 chiffres. Par exemple 2026-05.

Pour plus d'informations, consultez la section Interrogation des rapports de coûts et d'utilisation à l'aide d'Amazon Athena.

Résumé

Exportez les noms de fichiers de données avec le répertoire pour en créer un nouveau

Parquet :

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>/<export-name>-<chunk-number>.snappy.parquet

gzip/csv:

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<timestamp>-<execution-id>/<export-name>-<chunk-number>.csv.gz

Exporter les noms des fichiers de données avec le répertoire pour les remplacer

Parquet :

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<export-name>-<chunk-number>.snappy.parquet

gzip/csv:

s3://<bucket-name>/<prefix>/<export-name>/data/<partition>/<export-name>-<chunk-number>.csv.gz

Noms de fichiers manifestes avec répertoire pour créer un nouveau

Le mode « créer un nouveau » permet d'Manifest.jsonaccéder à deux sites.

Le premier emplacement se trouve dans un dossier représentant une exécution spécifique d'une exportation (nommé par timestamp etexecution-id). Ce manifeste correspond à cette exécution spécifique. Le chemin du fichier est le suivant :

s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/<timestamp>-<execution-id>

Le second emplacement se trouve dans un dossier de partition contenant toutes les exécutions. Ce manifeste est le même fichier que celui de la dernière exécution de l'exportation. Vous pouvez lire ce manifeste pour identifier les chemins exacts de tous les fichiers d'exportation récents. Le chemin du fichier est le suivant :

s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>/Manifest.json

Noms de fichiers manifestes avec répertoire à remplacer

Le mode « overwrite » livre Manifest.json à un seul endroit.

s3://<bucket-name>/<prefix>/<export-name>/metadata/<partition>

Le manifeste de ce répertoire est remplacé à chaque actualisation d'une partition donnée (période de facturation).