View a markdown version of this page

La entrega de las exportaciones - Exportaciones de datos de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

La entrega de las exportaciones

En las siguientes secciones, encontrará información sobre la entrega de las exportaciones.

  • Estructura del directorio principal de S3 para la exportación: cómo se estructuran los datos de exportación en el directorio de S3 al que se envía la exportación.

  • Actualización de las exportaciones: con qué frecuencia se actualiza la exportación en el directorio de S3.

  • Sobrescritura de la exportación y creación de una nueva: cómo cambia el envío de exportación al sobrescribirlo y cómo se crean nuevas preferencias de envío.

  • Nombres y fragmentos de los archivos de datos de exportación: cómo se nombran los archivos de exportación (gzip/csv o Parquet).

Estructura del directorio principal de S3 para la exportación

Cada exportación envía los datos de la consulta a S3 (como uno o más gzip/csv archivos o archivos Parquet) y a un archivo de Manifest.json metadatos que contiene información sobre la definición de exportación en el momento en que se ejecutó la exportación.

Datos

Los datos resultantes de la consulta de exportación se almacenan en la siguiente ruta de archivo S3:

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

La partición corresponde a la tabla que se está consultando. En el caso de CUR 2.0, la partición corresponde al “período de facturación” de una exportación de CUR 2.0 determinada.

prefix: el prefijo del archivo S3 que se asigna a la exportación.

export-name: el nombre que usted le asigna a la exportación.

partition: la partición describe cómo se divide una sola tabla en tablas independientes para la entrega. Para CUR 2.0, la partición corresponde al “período de facturación” en el formato BILLING_PERIOD=YYYY-MM. Por ejemplo, la partición de noviembre de 2023 es 2023-11.

A continuación, se muestra un ejemplo de una ruta de archivo S3:

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

Metadatos

El archivo de metadatos Manifest.json de la consulta se almacena en la siguiente ruta de archivo S3:

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

El archivo Manifest.json se actualiza cada vez que se actualiza la exportación. Se crea un nuevo archivo Manifest.json para cada nueva partición creada por la exportación. En el caso de CUR 2.0, esto significa que se genera un nuevo archivo Manifest.json cuando comienza un nuevo periodo de facturación.

Los archivos de manifiesto contienen la siguiente información:

  • Todas las columnas que se incluyen en la exportación.

  • Una lista de los archivos de exportación y su ruta de acceso. Le recomendamos que lea esta lista de forma programática para identificar qué archivos se van a ingerir.

  • El periodo de tiempo cubierto por la exportación.

  • Una sección llamada así additionalOutputFiles enumera los archivos adicionales que se entregan si tiene la integración de Athena o Amazon Redshift.

El Manifest.json solo se entrega una vez que todos los archivos de datos de exportación se hayan entregado a S3.

Actualización de las exportaciones

Exportación de datos actualiza las exportaciones cada vez que se actualizan los datos de origen. En el caso de CUR 2.0, esto ocurre al menos una vez al día. El período de facturación actual (partición) se actualiza hasta que finalice el período de facturación, momento en el que comienzan las entregas del siguiente período de facturación. Las entregas del siguiente período de facturación solo contienen los cargos y los datos de facturación de ese período de facturación. Una vez finalizado el período de facturación, AWS puede actualizar la entrega de exportación del período de facturación anterior dentro de las dos primeras semanas posteriores a su finalización.

Sobrescritura de la exportación y creación de una nueva

Al crear una exportación, puede elegir entre crear nuevos archivos de exportación o sobrescribir los archivos de exportación existentes con cada actualización.

Crear nueva

La creación de nuevos archivos de exportación consume más espacio de almacenamiento en S3 porque se conservan todas las actualizaciones de exportación. Al sobrescribir los archivos de exportación anteriores, se utiliza menos espacio de almacenamiento en S3, ya que solo se conserva la última versión de cada actualización del período de facturación.

En el modo “crear nueva”, los archivos de exportación se envían a la siguiente ruta de S3:

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

timestamp es la fecha y la hora en que se ejecutó la exportación. execution-id es el ID único asignado a la ejecución.

En el caso de “crear nueva”, se entregan dos archivos Manifest.json con cada ejecución de exportación. Uno se guarda en el directorio metadata/<partition>/<timestamp>-<execution-id> y el otro se sobrescribe en el directorio metadata/<partition>. El manifiesto del directorio metadata/<partition> siempre representa la actualización más reciente, y sus datos se utilizan para identificar la ubicación de los archivos de exportación actualizados más recientemente.

Sobrescribir.

La sobrescritura solo se aplica a las actualizaciones de la misma partición (es decir, el periodo de facturación). Una vez que comienza un nuevo período de facturación, la exportación crea un nuevo directorio S3 con un nombre basado en la última partición o período de facturación y comienza a entregar allí la nueva partición de exportación. La exportación de la partición anterior no se sobrescribe a menos que se actualicen los datos de esa partición específica.

En el modo “sobrescribir”, los archivos de exportación se envían a la siguiente ruta de S3:

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

Los archivos de exportación de este directorio de archivos se sobrescriben con cada entrega de la misma partición (es decir, período de facturación).

Los archivos de exportación se entregan en varios «fragmentos» (archivos separados gzip/csv o archivos tipo Parquet) cuando la exportación es lo suficientemente grande. Si el tamaño de la exportación disminuye alguna vez durante el mes (debido a un cambio en la consulta o a una corrección de los datos), es posible que se necesiten menos fragmentos para entregar la actualización de la exportación. En este caso, Exportación de datos sobrescribe los fragmentos adicionales de la última actualización con datos vacíos.

Para la sobrescritura, se entrega un archivo Manifest.json con cada ejecución de exportación. Se almacena en el directorio metadata/<partition> y se sobrescribe con cada actualización.

Nombres y fragmentos de archivos de datos de exportación

Las exportaciones muestran los resultados de una ejecución en un solo archivo (gzip/csv o Parquet) o en varios «fragmentos» (archivos separados gzip/csv o archivos Parquet) cuando la exportación es lo suficientemente grande.

Las exportaciones se denominan de la siguiente manera según el formato de gzip/csv archivo:

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

Las exportaciones reciben el siguiente nombre para el formato de archivo Parquet:

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

Los números fragmentados siempre tienen cinco dígitos. Los números fragmentados se enumeran empezando por 00001.

nota

Si eligió la opción de integración de informes de Athena o Redshift al crear CUR 2.0, la siguiente sección sobre las integraciones de Redshift y Athena podría serle relevante.

Integración con Amazon Redshift

Si ha elegido la opción de integración con Amazon Redshift, AWS también crea y entrega un archivo con los comandos SQL que necesita para cargar el informe en Amazon Redshift. Para cargar una exportación de datos a Amazon Redshift, siga estos pasos.

Para cargar una exportación de datos a Amazon Redshift
  1. Cree un clúster de Amazon Redshift. Para obtener más información, consulte Creación de un clúster en la Guía de administración de Amazon Redshift.

  2. Inicie sesión en la consola AWS de administración y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  3. Navegue hasta la ubicación de Amazon S3 en la que almacena su exportación AWS de datos.

  4. Descarga el RedshiftCommands.sql archivo que está almacenado junto con el archivo de manifiesto en S3 y el archivo auxiliar de Redshift en:

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

  5. En el copy comando, <AWS_ROLE> sustitúyalo por el ARN de un rol de IAM que tenga permisos para acceder al bucket de Amazon S3 en el que almacenas tus AWS datos de exportación.

  6. <S3_BUCKET_REGION>Sustitúyalo por la región en la que se encuentra su bucket de Amazon S3. Por ejemplo, us-east-1.

  7. Utilice un cliente SQL para conectarlo al clúster. Para obtener más información, consulte Acceso a clústeres y bases de datos de Amazon Redshift en la Guía de administración de Amazon Redshift.

  8. Copie los comandos SQL desde el archivo RedshiftCommands.sql a su cliente SQL en el siguiente orden:

    1. create table: crea una tabla de Amazon Redshift con un esquema personalizado para que coincida con su informe.

    2. copy: utiliza la función de IAM proporcionada para cargar los archivos de exportación de AWS datos de S3 a Amazon Redshift.

    3. crear tabla de etiquetas: crea una tabla que le permite asignar etiquetas definidas a las etiquetas AWS definidas por el usuario.

    4. insertar: inserta las etiquetas definidas por el usuario en la tabla de etiquetas.

  9. Una vez copiados todos los datos de la exportación de AWS datos a Amazon Redshift, puede consultarlos mediante SQL. Para obtener más información, consulte Amazon Redshift SQL en la Guía para desarrolladores de bases de datos de Amazon Redshift.

Integración de Amazon Athena

Si ha elegido la opción de integración con Amazon Athena, AWS también crea y entrega varios archivos para ayudarle a configurar todos los recursos que necesita. AWS proporciona una CloudFormation plantilla, un archivo SQL para crear la tabla de Athena manualmente y una carpeta de estado para comprobar el estado de actualización de la exportación. Estos archivos utilizan las siguientes convenciones de nomenclatura.

CloudFormation plantilla para configurar los recursos de Athena:

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

Archivo SQL para crear la tabla de Athena manualmente:

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

Exporte la carpeta de estado de actualización:

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

Configuración de Athena mediante plantillas CloudFormation

Para usar la plantilla Athena CloudFormation
  1. Navegue hasta el crawler-cfn.yml archivo de su bucket de S3 y seleccione el botón Copiar situado junto a la URL del objeto.

  2. Abra la CloudFormation consola en https://console.aws.amazon.com/cloudformation/.

  3. Si nunca la ha usado CloudFormation antes, elija Crear nueva pila. De lo contrario, seleccione Crear pila.

  4. En Preparar plantilla, selecciona Elegir una plantilla existente.

  5. En Especificar plantilla, en Fuente de plantilla, elija URL de Amazon S3.

  6. Pegue la URL del objeto S3 en el cuadro URL de Amazon S3.

  7. Elija Siguiente.

  8. En Nombre de pila, escriba un nombre para la plantilla y elija Siguiente.

  9. En la parte inferior de la página, seleccione I acknowledge that AWS CloudFormation might create IAM resources.

  10. Seleccione Siguiente y, a continuación, seleccione Enviar.

Para actualizar la plantilla Athena CloudFormation existente
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista de depósitos, elija el depósito en el que desee recibir la exportación de AWS datos.

  3. Elija el prefijo de la ruta del informe (your-report-path-prefix/) y, a continuación, elija el nombre del informe ()your-report-name/.

  4. Elija el archivo .yml de plantilla y pulse el botón Copiar situado junto a la URL del objeto.

  5. Abra la CloudFormation consola en https://console.aws.amazon.com/cloudformation/.

  6. Selecciona la pila que se creó anteriormente y, a continuación, selecciona Actualizar pila > Realizar una actualización directa.

  7. En Preparar plantilla, selecciona Reemplazar plantilla existente.

  8. En Fuente de la plantilla, selecciona URL de Amazon S3.

  9. Pegue la URL del objeto S3 en el cuadro URL de Amazon S3.

  10. Elija Siguiente.

  11. En la página Especificar los detalles de la pila, modifique los detalles y, a continuación, seleccione Siguiente.

  12. En la parte inferior de la página, seleccione I acknowledge that AWS CloudFormation might create IAM resources.

  13. Seleccione Siguiente y, a continuación, seleccione Enviar.

Configuración manual de Athena

Si no quieres usar la CloudFormation plantilla, puedes crear tu tabla de Athena manualmente con el archivo SQL proporcionado.

Para crear una tabla Athena manualmente
  1. El create-table.sql archivo para su exportación se encuentra en:

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

  2. En el panel de consulta Nueva consulta 1, pegue el código SQL del archivo. Para <database name>.<table name> ello, utilice el nombre de la base de datos y la tabla de la primera línea del SQL.

  3. Ejecute lo siguiente para crear la base de datos:

    CREATE DATABASE <database name>

Para cargar una nueva partición de informe, ejecute el siguiente código SQL:

ALTER TABLE `<database name>`.<table name> ADD PARTITION (billing_period='YYYY-MM') LOCATION 's3://<bucket>/<prefix>/<export-name>/data/BILLING_PERIOD=YYYY-MM/';donde el período de facturación YYYY-MM se expresa en un año de 4 dígitos y un mes de 2 dígitos. Por ejemplo, 2026-05.

Para obtener más información, consulte Consulta de informes de costos y uso con Amazon Athena.

Resumen

Exportar los nombres de archivos de datos con el directorio para crear una nueva exportación

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

Exportar los nombres de archivos de datos con el directorio para sobrescribir

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

Nombres de archivos de manifiesto con el directorio para crear una nueva exportación

El modo “crear nueva” entrega Manifest.json en dos ubicaciones.

La primera ubicación se encuentra en una carpeta que representa una ejecución específica de una exportación (cuyo nombre está determinado por timestamp y execution-id). Este manifiesto corresponde a esa ejecución específica. La ruta del archivo es la siguiente:

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

La segunda ubicación está en una carpeta de particiones que contiene todas las ejecuciones. Este manifiesto es el mismo archivo de la última ejecución de la exportación. Puede leer este manifiesto para identificar las rutas exactas de todos los archivos de exportación recientes. La ruta del archivo es la siguiente:

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

Nombres de archivos de manifiesto con el directorio para sobrescribir

El modo “sobrescribir” entrega Manifest.json a una ubicación.

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

El manifiesto de este directorio se sobrescribe con cada actualización de una partición determinada (es decir, el período de facturación).