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.jsonmé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.jsonLe
Manifest.jsonfichier est mis à jour chaque fois que l'export est actualisé. Un nouveauManifest.jsonfichier est créé pour chaque nouvelle partition créée par l'export. Pour CUR 2.0, cela signifie qu'un nouveauManifest.jsonfichier 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 «
additionalOutputFilesCela » 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.jsonfichiers sont fournis à chaque exécution d'exportation. L'un est stocké dans lemetadata/<partition>/<timestamp>-<execution-id>répertoire et l'autre est remplacé dans lemetadata/<partition>répertoire. Le manifeste dumetadata/<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.jsonfichier est fourni à chaque exécution d'exportation. Il est stocké dans lemetadata/<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
-
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.
-
Connectez-vous à la console AWS de gestion et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Accédez à l'emplacement Amazon S3 où vous stockez votre exportation de AWS données.
-
Téléchargez le
RedshiftCommands.sqlfichier 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 -
Dans la
copycommande, 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. -
<S3_BUCKET_REGION>Remplacez-le par la région dans laquelle se trouve votre compartiment Amazon S3. Par exemple,us-east-1. -
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.
-
Copiez les commandes SQL depuis le fichier
RedshiftCommands.sqldans votre client SQL, dans l'ordre suivant :-
créer une table — Crée une table Amazon Redshift avec un schéma personnalisé pour correspondre à votre rapport.
-
copier — Utilise le rôle IAM fourni pour télécharger les fichiers d'exportation de AWS données de S3 vers Amazon Redshift.
-
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.
-
insert — Insère les balises définies par l'utilisateur dans le tableau des balises.
-
-
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
-
Accédez au
crawler-cfn.ymlfichier dans votre compartiment S3 et sélectionnez le bouton Copier à côté de l'URL de l'objet. -
Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/
. -
Si vous ne l'avez jamais utilisé CloudFormation auparavant, choisissez Create New Stack. Sinon, cliquez sur Create Stack (Créer une pile).
-
Sous Préparer le modèle, sélectionnez Choisir un modèle existant.
-
Sous Spécifier le modèle, dans le champ Source du modèle, choisissez l'URL Amazon S3.
-
Collez l'URL de l'objet S3 dans le champ URL Amazon S3.
-
Choisissez Suivant.
-
Pour Nom de la pile, saisissez un nom pour votre modèle, puis choisissez Suivant.
-
Au bas de la page, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM.
-
Choisissez Suivant, puis Soumettre.
Pour mettre à jour le modèle Athena CloudFormation existant
-
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Dans la liste des compartiments, choisissez le compartiment dans lequel vous avez choisi de recevoir votre exportation de AWS données.
-
Choisissez le préfixe du chemin de votre rapport (
your-report-path-prefix/), puis le nom de votre rapport (your-report-name/). -
Choisissez le fichier
.ymlmodèle et cliquez sur le bouton Copier à côté de l'URL de l'objet. -
Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/
. -
Sélectionnez la pile créée précédemment, puis choisissez Mettre à jour la pile > Effectuer une mise à jour directe.
-
Sous Préparer le modèle, choisissez Remplacer le modèle existant.
-
Sous Source du modèle, choisissez l'URL Amazon S3.
-
Collez l'URL de l'objet S3 dans le champ URL Amazon S3.
-
Choisissez Suivant.
-
Sur la page Spécifier les détails de la pile, modifiez tous les détails, puis choisissez Suivant.
-
Au bas de la page, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM.
-
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
-
Le
create-table.sqlfichier pour votre exportation se trouve à l'adresse suivante :<bucket>/<prefix>/<export-name>/metadata/BILLING_PERIOD=YYYY-MM/<export-name>-create-table.sql -
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. -
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.parquetgzip/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.parquetgzip/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
timestampetexecution-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).