Enregistrement de données d'un cluster de base de données Amazon Aurora MySQL dans des fichiers texte stockés dans un compartiment Amazon S3 - Amazon Aurora

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.

Enregistrement de données d'un cluster de base de données Amazon Aurora MySQL dans des fichiers texte stockés dans un compartiment Amazon S3

Vous pouvez utiliser SELECT INTO OUTFILE S3 cette instruction pour interroger les données d'un cluster de bases de données Amazon Aurora MySQL et les enregistrer dans des fichiers texte stockés dans un compartiment Amazon S3. Dans Aurora MySQL, les fichiers sont d'abord stockés sur le disque local, puis exportés vers S3. Une fois les exportations terminées, les fichiers locaux sont supprimés.

Vous pouvez chiffrer le compartiment Amazon S3 à l'aide d'une clé gérée par Amazon S3 (SSE-S3) ou AWS KMS key (SSE-KMS : Clé gérée par AWS ou clé gérée par le client).

L'LOAD DATA FROM S3instruction peut utiliser des fichiers créés par l'SELECT INTO OUTFILE S3instruction pour charger des données dans un cluster de base de données Aurora. Pour plus d’informations, consultez Chargement de données dans un cluster de base de données Amazon Aurora MySQL à partir de fichiers texte stockés dans un compartiment Amazon S3.

Note

Cette fonction n'est pas prise en charge pour les clusters de bases de données Aurora Serverless v1. Elle est prise en charge pour les clusters de bases de données Aurora Serverless v2.

Vous pouvez également enregistrer les données du cluster de base de données et les données de capture d'écran du cluster de bases de données sur Amazon S3 à l'aide de l'API AWS Management Console AWS CLI, ou Amazon RDS. Pour plus d’informations, consultez Exportation des données du cluster de bases de données vers Amazon S3 et Exportation de données d'instantanés de cluster de bases de données vers Amazon S3.

Octroi à Aurora MySQL d'un accès à Amazon S3

Pour pouvoir enregistrer des données dans un compartiment Amazon S3, vous devez d'abord octroyer à votre cluster de base de données Aurora MySQL une autorisation d'accès à Amazon S3.

Pour octroyer à Aurora MySQL un accès à Amazon S3
  1. Créez une politique AWS Identity and Access Management (IAM) qui fournit les autorisations de compartiment et d'objet permettant à votre cluster de base de données Aurora MySQL d'accéder à Amazon S3. Pour obtenir des instructions, veuillez consulter Création d'une stratégie IAM pour accéder aux ressources Amazon S3.

    Note

    Dans Aurora MySQL version 3.05 et versions ultérieures, vous pouvez chiffrer des objets à l'aide de clés gérées par AWS KMS le client. Pour ce faire, incluez l'autorisation kms:GenerateDataKey dans votre politique IAM. Pour plus d’informations, consultez Création d'une stratégie IAM pour accéder aux ressources AWS KMS.

    Vous n'avez pas besoin de cette autorisation pour chiffrer des objets à l'aide Clés gérées par AWS de clés gérées par Amazon S3 (SSE-S3).

  2. Créez un rôle IAM et attachez la politique IAM que vous avez créée dans Création d'une stratégie IAM pour accéder aux ressources Amazon S3 au nouveau rôle IAM. Pour obtenir des instructions, consultez Création d'un rôle IAM pour autoriser Amazon Aurora à accéder aux services AWS.

  3. Pour Aurora MySQL version 2, définissez le paramètre de cluster de base de données aurora_select_into_s3_role ou aws_default_s3_role en spécifiant l'Amazon Resource Name (ARN) du nouveau rôle IAM. Si un rôle IAM n'est pas spécifié pour aurora_select_into_s3_role, Aurora utilise le rôle IAM spécifié dans aws_default_s3_role.

    Pour Aurora MySQL version 3, utilisez aws_default_s3_role.

    Si le cluster fait partie d'une base de données globale Aurora, définissez ce paramètre pour chaque cluster Aurora de cette base de données.

    Pour plus d'informations sur les paramètres de cluster de base de données, consultez Paramètres de cluster de base de données et d'instance de base de données Amazon Aurora.

  4. Pour autoriser les utilisateurs de base de données d'un cluster de base de données Aurora MySQL à accéder à Amazon S3, associez le rôle que vous avez créé dans Création d'un rôle IAM pour autoriser Amazon Aurora à accéder aux services AWS au cluster de base de données.

    Pour une base de données globale Aurora, associez le rôle à chaque cluster Aurora de cette base de données.

    Pour plus d'informations sur l'association d'un rôle IAM à un cluster de base de données, consultez Association d'un rôle IAM à un cluster de bases de données Amazon Aurora MySQL.

  5. Configurez votre cluster de base de données Aurora MySQL de façon à autoriser les connexions sortantes vers Amazon S3. Pour obtenir des instructions, consultez Activation de la communication réseau entre Amazon Aurora MySQL et d'autres services AWS.

    Pour une base de données globale Aurora, activez les connexions sortantes pour chaque cluster Aurora de cette base de données.

Accord de privilèges permettant d'enregistrer des données dans Aurora MySQL

L'utilisateur de base de données qui émet l'instruction SELECT INTO OUTFILE S3 doit avoir un rôle ou un privilège spécifique. Dans Aurora MySQL version 3, vous accordez le rôle AWS_SELECT_S3_ACCESS. Dans Aurora MySQL version 2, vous accordez le privilège SELECT INTO S3. L'utilisateur administratif d'un cluster de base de données reçoit le rôle ou le privilège approprié par défaut. Vous pouvez accorder le privilège à un autre utilisateur à l'aide des instructions suivantes.

Utilisez l'instruction suivante pour Aurora MySQL version 3 :

GRANT AWS_SELECT_S3_ACCESS TO 'user'@'domain-or-ip-address'
Astuce

Lorsque vous utilisez la technique de rôle dans Aurora MySQL version 3, vous pouvez également activer le rôle en utilisant l'instruction SET ROLE role_name ou SET ROLE ALL. Si vous n'êtes pas familier avec le système de rôles MySQL 8.0, vous pouvez en apprendre davantage dans Modèle de privilège basé sur les rôles. Pour plus de détails, consultez la section Utilisation des rôles dans le manuel de référence MySQL.

Cela s'applique uniquement à la session active en cours. Lorsque vous vous reconnectez, vous devez exécuter à nouveau l'SET ROLEinstruction pour accorder des privilèges. Pour plus d'informations, consultez SET ROLE statement dans le manuel MySQL Reference Manual.

Vous pouvez utiliser le paramètre activate_all_roles_on_login de cluster de base de données pour activer automatiquement tous les rôles lorsqu'un utilisateur se connecte à une instance de base de données. Lorsque ce paramètre est défini, il n'est généralement pas nécessaire d'appeler explicitement l'SET ROLEinstruction pour activer un rôle. Pour plus d'informations, consultez activate_all_roles_on_login dans le manuel MySQL Reference Manual.

Toutefois, vous devez appeler SET ROLE ALL explicitement au début d'une procédure stockée pour activer le rôle, lorsque la procédure stockée est appelée par un autre utilisateur.

Utilisez l'instruction suivante pour Aurora MySQL version 2 :

GRANT SELECT INTO S3 ON *.* TO 'user'@'domain-or-ip-address'

Le rôle AWS_SELECT_S3_ACCESS et le privilège SELECT INTO S3 sont propres à Amazon Aurora MySQL et ne sont pas disponibles pour les bases de données MySQL ou les instances de bases de données RDS pour MySQL. Si vous avez configuré la réplication entre un cluster de base de données Aurora MySQL faisant office de maître de réplication et une base de données MySQL faisant office de client de réplication, l'instruction GRANT pour le rôle ou le privilège entraîne l'arrêt de la réplication avec une erreur. Vous pouvez ignorer sans risque l'erreur afin de reprendre la réplication. Pour ignorer l'erreur sur une instance de base de données RDS pour MySQL, utilisez la procédure mysql_rds_skip_repl_error. Pour ignorer l'erreur sur une base de données MySQL externe, utilisez la variable système slave_skip_errors (Aurora MySQL version 2) ou la variable système replica_skip_errors (Aurora MySQL version 3).

Spécification d'un chemin d'accès à un compartiment Amazon S3

La syntaxe permettant de spécifier le chemin de l'emplacement de stockage des données et des fichiers manifeste dans un compartiment Amazon S3 est similaire à celle utilisée dans l'instruction LOAD DATA FROM S3 PREFIX, comme indiqué ci-dessous.

s3-region://bucket-name/file-prefix

Le chemin d'accès inclut les valeurs suivantes :

  • region(facultatif) — AWS Région qui contient le compartiment Amazon S3 dans lequel enregistrer les données. Cette valeur est facultative. Si vous ne spécifiez pas de valeur region, Aurora enregistre vos fichiers dans Amazon S3, dans la même région que votre cluster de base de données.

  • bucket-name – Nom du compartiment Amazon S3 où enregistrer les données. Les préfixes d'objet qui identifient un chemin d'accès du dossier virtuel sont pris en charge.

  • file-prefix – Préfixe d'objet Amazon S3 qui identifie les fichiers à enregistrer dans Amazon S3.

Les fichiers de données créés par l'instruction SELECT INTO OUTFILE S3 utilisent le chemin suivant, dans lequel 00000 représente un nombre entier de base zéro à 5 chiffres.

s3-region://bucket-name/file-prefix.part_00000

Par exemple, supposez qu'une instruction SELECT INTO OUTFILE S3 spécifie s3-us-west-2://bucket/prefix comme chemin d'accès dans lequel stocker les fichiers de données et crée trois fichiers de données. Le compartiment Amazon S3 spécifié contient les fichiers de données suivants.

  • s3-us-west-2://bucket/prefix.part_00000

  • s3-us-west-2://bucket/prefix.part_00001

  • s3-us-west-2://bucket/prefix.part_00002

Création d'un manifeste pour répertorier les fichiers de données

Vous pouvez utiliser l'instruction SELECT INTO OUTFILE S3 avec l'option MANIFEST ON pour créer un fichier manifeste au format JSON qui répertorie les fichiers texte créés par l'instruction. L'instruction LOAD DATA FROM S3 peut utiliser le fichier manifeste pour recharger les fichiers de données dans un cluster de base de données Aurora MySQL. Pour plus d'informations sur l'utilisation d'un manifeste pour charger des fichiers de données dans un cluster de base de données Aurora MySQL à partir d'Amazon S3, consultez Utilisation d'un manifeste pour spécifier les fichiers de données à charger.

Les fichiers de données inclus dans le manifeste créé par l'instruction SELECT INTO OUTFILE S3 sont répertoriés dans l'ordre dans lequel ils sont créés par l'instruction. Par exemple, supposez qu'une instruction SELECT INTO OUTFILE S3 spécifie s3-us-west-2://bucket/prefix comme chemin d'accès dans lequel stocker les fichiers de données, et crée trois fichiers de données et un fichier manifeste. Le compartiment Amazon S3 spécifié contient un fichier manifeste nommé s3-us-west-2://bucket/prefix.manifest, qui contient les informations suivantes.

{ "entries": [ { "url":"s3-us-west-2://bucket/prefix.part_00000" }, { "url":"s3-us-west-2://bucket/prefix.part_00001" }, { "url":"s3-us-west-2://bucket/prefix.part_00002" } ] }

SELECT INTO OUTFILE S3

Vous pouvez utiliser l'instruction SELECT INTO OUTFILE S3 pour interroger les données d'un cluster de base de données et les enregistrer directement dans des fichiers texte délimités stockés dans un compartiment Amazon S3.

Les fichiers compressés ne sont pas pris en charge. Les fichiers chiffrés sont pris en charge à partir d'Aurora MySQL version 2.09.0.

Syntaxe

SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr [, select_expr ...] [FROM table_references [PARTITION partition_list] [WHERE where_condition] [GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]] [HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}] INTO OUTFILE S3 's3_uri' [CHARACTER SET charset_name] [export_options] [MANIFEST {ON | OFF}] [OVERWRITE {ON | OFF}] [ENCRYPTION {ON | OFF | SSE_S3 | SSE_KMS ['cmk_id']}] export_options: [FORMAT {CSV|TEXT} [HEADER]] [{FIELDS | COLUMNS} [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char'] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ]

Paramètres

L'instruction SELECT INTO OUTFILE S3 utilise les paramètres obligatoires et facultatifs suivants, spécifiques à Aurora.

s3-uri

Spécifie l'URI d'un préfixe Amazon S3 à utiliser. Utilisez la syntaxe décrite dans Spécification d'un chemin d'accès à un compartiment Amazon S3.

FORMAT {CSV|TEXT} [HEADER]

Enregistre éventuellement les données au format CSV.

L'option TEXT est la valeur par défaut et produit le format d'exportation MySQL existant.

L'option CSV produit des valeurs de données séparées par des virgules. Le format CSV suit la spécification du RFC-4180. Si vous spécifiez le mot-clé facultatif HEADER, le fichier de sortie contient une ligne d'en-tête. Les étiquettes de la ligne d'en-tête correspondent aux noms de colonnes de l'instruction SELECT. Vous pouvez utiliser les fichiers CSV pour former des modèles de données destinés à être utilisés avec les services AWS ML. Pour plus d'informations sur l'utilisation des données Aurora exportées avec les services AWS ML, consultezExportation de données vers Amazon S3 pour l'entraînement des SageMaker modèles (niveau avancé).

MANIFEST {ON | OFF}

Indique si un fichier manifeste est créé dans Amazon S3. Le fichier manifeste est un fichier JSON ( JavaScript Object Notation) qui peut être utilisé pour charger des données dans un cluster de base de données Aurora avec l'LOAD DATA FROM S3 MANIFESTinstruction. Pour plus d'informations sur LOAD DATA FROM S3 MANIFEST, consultez Chargement de données dans un cluster de base de données Amazon Aurora MySQL à partir de fichiers texte stockés dans un compartiment Amazon S3.

Si MANIFEST ON est spécifié dans la requête, le fichier manifeste est créé dans Amazon S3 une fois que tous les fichiers de données ont été créés et chargés. Le fichier manifeste est créé à l'aide du chemin suivant :

s3-region://bucket-name/file-prefix.manifest

Pour plus d'informations sur le format du contenu du fichier manifeste, consultez Création d'un manifeste pour répertorier les fichiers de données.

OVERWRITE {ON | OFF}

Indique si les fichiers existants du compartiment Amazon S3 spécifié sont remplacés. Si OVERWRITE ON est spécifié, les fichiers existants qui correspondent au préfixe de fichier dans l'URI spécifié dans s3-uri sont remplacés. Dans le cas contraire, une erreur se produit.

ENCRYPTION {ON | OFF | SSE_S3 | SSE_KMS ['cmk_id']}

Indique s'il faut utiliser le chiffrement côté serveur avec les clés gérées par Amazon S3 (SSE-S3) ou AWS KMS keys (SSE-KMS, y compris Clés gérées par AWS les clés gérées par le client). Les paramètres SSE_S3 et SSE_KMS sont disponibles dans Aurora MySQL 3.05 et versions ultérieures.

Vous pouvez également utiliser la variable de session aurora_select_into_s3_encryption_default à la place de la clause ENCRYPTION, comme indiqué dans l'exemple suivant. Utilisez la clause SQL ou la variable de session, mais pas les deux.

set session set session aurora_select_into_s3_encryption_default={ON | OFF | SSE_S3 | SSE_KMS};

Les paramètres SSE_S3 et SSE_KMS sont disponibles dans Aurora MySQL 3.05 et versions ultérieures.

Lorsque vous définissez aurora_select_into_s3_encryption_default sur la valeur suivante :

  • OFF : la politique de chiffrement par défaut du compartiment S3 est respectée. La valeur par défaut de aurora_select_into_s3_encryption_default est OFF.

  • ON ou SSE_S3 : l'objet S3 est chiffré à l'aide de clés gérées par Amazon S3 (SSE-S3).

  • SSE_KMS— L'objet S3 est chiffré à l'aide d'un AWS KMS key.

    Dans ce cas, vous incluez également la variable de session aurora_s3_default_cmk_id, par exemple :

    set session aurora_select_into_s3_encryption_default={SSE_KMS}; set session aurora_s3_default_cmk_id={NULL | 'cmk_id'};
    • Lorsque la valeur de aurora_s3_default_cmk_id est NULL, l'objet S3 est chiffré à l'aide d'une Clé gérée par AWS.

    • Lorsque aurora_s3_default_cmk_id est une chaîne cmk_id non vide, l'objet S3 est chiffré à l'aide d'une clé gérée par le client.

      La valeur de cmk_id ne peut pas être une chaîne vide.

Lorsque vous utilisez la commande SELECT INTO OUTFILE S3, Aurora détermine le chiffrement comme suit :

  • Si la clause ENCRYPTION est présente dans la commande SQL, Aurora s'appuie uniquement sur la valeur de ENCRYPTION et n'utilise pas de variable de session.

  • Si la clause ENCRYPTION n'est pas présente, Aurora s'appuie sur la valeur de la variable de session.

Pour plus d'informations, consultez les sections Utilisation du chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3) et Utilisation du chiffrement côté serveur avec des AWS KMS clés (SSE-KMS) dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Pour plus d'informations sur les autres paramètres, consultez Instruction SELECT et Instruction LOAD DATA, dans la documentation sur MySQL.

Considérations

Le nombre de fichiers écrits dans le compartiment Amazon S3 dépend de la quantité de données sélectionnées par l'instruction SELECT INTO OUTFILE S3 et du seuil de taille de fichier défini pour Aurora MySQL. Le seuil de taille de fichier par défaut est de 6 giga-octets (Go). Si les données sélectionnées par l'instruction sont inférieures au seuil de taille de fichier, un fichier unique est créé. Dans le cas contraire, plusieurs fichiers sont créés. Autres considérations relatives aux fichiers créés par cette instruction :

  • Aurora MySQL garantit que les lignes des fichiers de données ne sont pas fractionnées à la limite de taille des fichiers. Pour plusieurs fichiers, la taille de chaque fichier de données à l'exception du dernier est en général proche du seuil de taille de fichier. Toutefois, le fait de rester sous le seuil de taille de fichier peut entraîner à l'occasion le fractionnement d'une ligne sur deux fichiers de données. Dans ce cas, Aurora MySQL crée un fichier de données qui conserve la ligne intacte, mais dont la taille peut être supérieure au seuil de taille de fichier.

  • Sachant que chaque instruction SELECT dans Aurora MySQL s'exécute comme une transaction atomique, l'exécution d'une instruction SELECT INTO OUTFILE S3 qui sélectionne un ensemble de données volumineux peut prendre un certain temps. Si l'instruction échoue pour une raison quelconque, vous pouvez avoir besoin de recommencer et de réémettre l'instruction. Cependant, si l'instruction échoue, les fichiers déjà chargés dans Amazon S3 restent dans le compartiment Amazon S3 spécifié. Vous pouvez utiliser une autre instruction pour charger les données restantes au lieu de reprendre du début.

  • Si la quantité de données à sélectionner est importante (plus de 25 Go), nous vous recommandons d'utiliser plusieurs instructions SELECT INTO OUTFILE S3 pour enregistrer les données dans Amazon S3. Chaque instruction doit sélectionner une partie différente des données à enregistrer et doit également spécifier un file_prefix différent dans le paramètre s3-uri à utiliser lors de l'enregistrement des fichiers de données. Le partitionnement des données à sélectionner avec plusieurs instructions facilite la récupération d'une erreur dans une instruction. Si une erreur se produit pour une instruction, seule une partie des données doit être resélectionnée et téléchargée vers Amazon S3. L'utilisation de plusieurs instructions aide également à éviter une transaction unique de longue durée, ce qui peut améliorer les performances.

  • Si plusieurs instructions SELECT INTO OUTFILE S3 utilisant le même file_prefix dans le paramètre s3-uri s'exécutent en parallèle pour sélectionner des données dans Amazon S3, le comportement est indéfini.

  • Certaines métadonnées, comme les métadonnées de fichier ou de schéma de table, ne sont pas chargées par Aurora MySQL dans Amazon S3.

  • Dans certains cas, vous pouvez réexécuter une requête SELECT INTO OUTFILE S3, par exemple pour récupérer à partir d'une défaillance. Dans ce cas, vous devez soit supprimer tous les fichiers de données existants du compartiment Amazon S3 qui présentent le préfixe de fichier spécifié dans s3-uri, soit inclure OVERWRITE ON dans la requête SELECT INTO OUTFILE S3.

L'instruction SELECT INTO OUTFILE S3 retourne une réponse et un numéro d'erreur MySQL standard en cas de réussite ou d'échec. Si vous n'avez pas accès à la réponse et au numéro d'erreur MySQL, la façon la plus simple d'être informé de la conclusion de l'opération consiste à spécifier MANIFEST ON dans l'instruction. Le fichier manifeste est le dernier fichier écrit par l'instruction. En d'autres termes, si vous disposez d'un fichier manifeste, cela signifie que l'instruction est terminée.

Actuellement, il n'existe aucun moyen de surveiller directement la progression de l'instruction SELECT INTO OUTFILE S3 pendant son exécution. Toutefois, supposons que vous écrivez une grande quantité de données d'Aurora MySQL vers Amazon S3 à l'aide de cette instruction et que vous connaissez la taille des données sélectionnées par l'instruction. Dans ce cas, vous pouvez estimer la progression en surveillant la création des fichiers de données dans Amazon S3.

Pour ce faire, vous pouvez utiliser le fait qu'un fichier de données est créé dans le compartiment Amazon S3 spécifié pour environ 6 Go de données sélectionnées par l'instruction. Divisez la taille des données sélectionnées par 6 Go pour obtenir une estimation du nombre de fichiers de données à créer. Vous pouvez alors estimer la progression de l'instruction en surveillant le nombre de fichiers chargés vers Amazon S3 pendant son exécution.

Exemples

L'instruction ci-dessous sélectionne toutes les données de la table employees et les enregistre dans un compartiment Amazon S3 situé dans une région différente de celle du cluster de base de données Aurora MySQL. L'instruction crée des fichiers de données dans lesquels chaque champ se termine par une virgule (,) et chaque ligne par un caractère de saut de ligne (\n). L'instruction renvoie une erreur si des fichiers correspondant au préfixe de fichier sample_employee_data existent dans le compartiment Amazon S3 spécifié.

SELECT * FROM employees INTO OUTFILE S3 's3-us-west-2://aurora-select-into-s3-pdx/sample_employee_data' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n';

L'instruction suivante sélectionne toutes les données de la table employees et les enregistre dans un compartiment Amazon S3 situé dans la même région que le cluster de base de données Aurora MySQL. L'instruction crée des fichiers de données dans lesquels chaque champ se termine par une virgule (,) et chaque ligne par un caractère de saut de ligne (\n), et crée également un fichier manifeste. L'instruction renvoie une erreur si des fichiers correspondant au préfixe de fichier sample_employee_data existent dans le compartiment Amazon S3 spécifié.

SELECT * FROM employees INTO OUTFILE S3 's3://aurora-select-into-s3-pdx/sample_employee_data' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' MANIFEST ON;

L'instruction ci-dessous sélectionne toutes les données de la table employees et les enregistre dans un compartiment Amazon S3 situé dans une région différente de celle du cluster de base de données Aurora. L'instruction crée des fichiers de données dans lesquels chaque champ se termine par une virgule (,) et chaque ligne par un caractère de saut de ligne (\n). L'instruction remplace tout fichier existant correspondant au préfixe de fichier sample_employee_data dans le compartiment Amazon S3 spécifié.

SELECT * FROM employees INTO OUTFILE S3 's3-us-west-2://aurora-select-into-s3-pdx/sample_employee_data' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' OVERWRITE ON;

L'instruction suivante sélectionne toutes les données de la table employees et les enregistre dans un compartiment Amazon S3 situé dans la même région que le cluster de base de données Aurora MySQL. L'instruction crée des fichiers de données dans lesquels chaque champ se termine par une virgule (,) et chaque ligne par un caractère de saut de ligne (\n), et crée également un fichier manifeste. L'instruction remplace tout fichier existant correspondant au préfixe de fichier sample_employee_data dans le compartiment Amazon S3 spécifié.

SELECT * FROM employees INTO OUTFILE S3 's3://aurora-select-into-s3-pdx/sample_employee_data' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' MANIFEST ON OVERWRITE ON;