

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
<a name="dataexports-export-delivery"></a>

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
<a name="export-s3-parent-directory-structure"></a>

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 format`BILLING_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.json`est livré que lorsque tous les fichiers de données d'exportation ont été livrés à S3.

## Actualisation des exportations
<a name="export-refreshing"></a>

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
<a name="export-overwriting-create-new"></a>

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>`  
`timestamp`Il s'agit de la date et de l'heure auxquelles l'exportation a été exécutée. `execution-id`Il 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
<a name="export-data-file-names"></a>

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
<a name="dataexports-redshift-specifications"></a>

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](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster) dans le *guide de gestion Amazon Redshift*.

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

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

1. 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`

1. 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.

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

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](https://docs.aws.amazon.com/redshift/latest/mgmt/using-rs-tools.html) dans le guide de gestion *Amazon Redshift*.

1. 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.

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

   1. **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.

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

1. 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](https://docs.aws.amazon.com/redshift/latest/dg/c_redshift-sql.html) dans le manuel Amazon *Redshift Database Developer Guide*.

## Intégration avec Amazon Athena
<a name="dataexports-athena-specifications"></a>

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
<a name="dataexports-athena-cfn"></a>

**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.

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

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

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

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

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

1. Choisissez **Suivant**.

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

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

1. 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/](https://console.aws.amazon.com/s3/).

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

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

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

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation/](https://console.aws.amazon.com/cloudformation/).

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

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

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

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

1. Choisissez **Suivant**.

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

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

1. Choisissez **Suivant**, puis **Soumettre**.

### Configuration manuelle d'Athena
<a name="dataexports-athena-manual"></a>

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`

1. 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.

1. 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](https://docs.aws.amazon.com/cur/latest/userguide/cur-query-athena.html).

## Résumé
<a name="export-summary"></a>

**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.json`accéder à deux sites.  
Le premier emplacement se trouve dans un dossier représentant une exécution spécifique d'une exportation (nommé par `timestamp` et`execution-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).