Speichern von Daten aus einem Amazon Aurora MySQL-DB-Cluster in Textdateien in einem Amazon S3-Bucket - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Speichern von Daten aus einem Amazon Aurora MySQL-DB-Cluster in Textdateien in einem Amazon S3-Bucket

Sie können die Anweisung SELECT INTO OUTFILE S3 verwenden, um Daten aus dem Amazon Aurora MySQL-DB-Cluster abzufragen und sie direkt in Textdateien in einem Amazon S3-Bucket zu speichern. Sie können diese Funktionalität verwenden, um zunächst die Migration der Daten in den Client und anschließendes Kopieren aus dem Client nach Amazon S3 zu überspringen. Die Anweisung LOAD DATA FROM S3 kann die von dieser Anweisung erstellten Dateien verwenden, um Daten in einen Aurora-DB-Cluster zu laden. Weitere Informationen finden Sie unter Laden von Daten in einen Amazon Aurora MySQL-DB-Cluster aus Textdateien in einem Amazon S3-Bucket.

Sie können den Amazon-S3-Bucket mit einem von Amazon S3 verwalteten Schlüssel (SSE-S3) oder einem AWS KMS key (SSE-KMS: Von AWS verwalteter Schlüssel oder vom Kunden verwalteter Schlüssel) verschlüsseln.

Diese Funktion wird für DB-Cluster von Aurora Serverless v1 nicht unterstützt. Sie wird für DB-Cluster von Aurora Serverless v2 unterstützt.

Anmerkung

Sie können DB-Cluster-Snapshot-Daten unter Verwendung der AWS Management Console, AWS CLI oder Amazon-RDS-API in Amazon S3 speichern. Weitere Informationen finden Sie unter Exportieren von DB-Cluster-Snapshot-Daten nach Amazon S3.

Gewähren von Zugriff auf Amazon S3 für Aurora MySQL

Bevor Sie Daten in einem Amazon S3-Bucket speichern können, müssen Sie Ihrem Aurora MySQL-DB-Cluster die Berechtigung für den Zugriff auf Amazon S3 erteilen.

So gewähren Sie Aurora MySQL Zugriff auf Amazon S3:
  1. Erstellen Sie eine AWS Identity and Access Management-(IAM)-Richtlinie, die die Bucket- und Objektberechtigungen bereitstellt, die Ihrem Aurora-MySQL-DB-Cluster gestatten, auf Amazon S3 zuzugreifen. Detaillierte Anweisungen finden Sie unter Erstellen einer IAM-Zugriffsrichtlinie für Amazon S3-Ressourcen.

    Anmerkung

    In Aurora MySQL Version 3.05 und höher können Sie Objekte mit vom Kunden verwalteten AWS KMS-Schlüsseln verschlüsseln. Nehmen Sie dazu die Berechtigung kms:GenerateDataKey in Ihre IAM-Richtlinie auf. Weitere Informationen finden Sie unter Erstellen einer IAM-Zugriffsrichtlinie für AWS KMS-Ressourcen.

    Zum Verschlüsseln von Objekten mit Von AWS verwaltete Schlüssel oder von Amazon S3 verwalteten Schlüsseln (SSE-S3) benötigen Sie diese Berechtigung nicht.

  2. Erstellen Sie eine IAM-Rolle und fügen Sie der neuen IAM-Rolle die IAM-Richtlinie hinzu, die Sie in Erstellen einer IAM-Zugriffsrichtlinie für Amazon S3-Ressourcen erstellt haben. Detaillierte Anweisungen finden Sie unter Erstellen einer IAM-Rolle, um Amazon Aurora den Zugriff auf AWS-Services zu erlauben.

  3. Legen Sie in Aurora MySQL Version 2 einen der DB-Cluster-Parameter aurora_select_into_s3_role oder aws_default_s3_role auf den Amazon-Ressourcennamen (ARN) der neuen IAM-Rolle fest. Wenn für aurora_select_into_s3_role keine IAM-Rolle angegeben wird, verwendet Aurora die unter aws_default_s3_role angegebene IAM-Rolle.

    Verwenden Sie aws_default_s3_role in Aurora MySQL Version 3.

    Wenn das Cluster Teil einer globalen Aurora-Datenbank ist, legen Sie diesen Parameter für jedes Aurora-Cluster in der globalen Datenbank fest.

    Weitere Informationen zu DB-Cluster-Parametern finden Sie unter Amazon Aurora-DB-Cluster und DB-Instance-Parameter.

  4. Weisen Sie die Rolle, die Sie in Erstellen einer IAM-Rolle, um Amazon Aurora den Zugriff auf AWS-Services zu erlauben erstellt haben, diesem DB-Cluster zu, um Datenbankbenutzern in einem Aurora MySQL DB-Cluster den Zugriff auf Amazon S3 zu erlauben.

    Bei einer globalen Aurora-Datenbank verknüpfen Sie die Rolle mit jedem Aurora-Cluster in der globalen Datenbank.

    Weitere Informationen zum Zuordnen einer IAM-Rolle zu einem DB-Cluster finden Sie unter Zuweisen einer IAM-Rolle zu einem Amazon-Aurora-MySQL-DB-Cluster.

  5. Konfigurieren Sie Ihren Aurora MySQL-DB-Cluster so, dass er ausgehende Verbindungen zu Amazon S3 zulässt. Detaillierte Anweisungen finden Sie unter Aktivieren der Netzwerkkommunikation von Amazon Aurora MySQL zu anderen AWS-Services.

    Bei einer globalen Aurora-Datenbank aktivieren Sie ausgehende Verbindungen für jeden Aurora-Cluster in der globalen Datenbank.

Gewähren von Rechten für das Speichern von Daten in Aurora MySQL

Der Datenbankbenutzer, der die SELECT INTO OUTFILE S3-Anweisung ausgibt, muss über eine bestimmte Rolle oder Berechtigung verfügen. In Aurora MySQL Version 3 gewähren Sie die Rolle AWS_SELECT_S3_ACCESS. In Aurora MySQL Version 2 gewähren Sie die Berechtigung SELECT INTO S3. Dem Administratorbenutzer für ein DB-Cluster wird die entsprechende Rolle oder -Berechtigung standardmäßig gewährt. Sie können die Berechtigung einem anderen Benutzer erteilen, indem Sie eine der folgenden Anweisungen verwenden.

Verwenden Sie die folgende Anweisung für Aurora MySQL Version 3:

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

Wenn Sie die Rollentechnik in Aurora MySQL Version 3 verwenden, können Sie die Rolle auch mit der Anweisung SET ROLE role_name oder SET ROLE ALL aktivieren. Wenn Sie mit dem MySQL 8.0-Rollensystem nicht vertraut sind, finden Sie in Rollenbasiertes Berechtigungsmodell weitere Informationen. Weitere Informationen finden Sie unter Using roles im MySQL-Referenzhandbuch.

Dies gilt nur für die aktuelle aktive Sitzung. Wenn Sie sich wieder verbinden, müssen Sie die SET ROLE-Anweisung noch einmal ausführen, um Berechtigungen zu gewähren. Weitere Informationen finden Sie unter SET ROLE-Anweisung im MySQL-Referenzhandbuch.

Sie können den DB-Cluster-Parameter activate_all_roles_on_login zum automatischen Aktivieren aller Rollen verwenden, wenn ein Benutzer eine Verbindung mit einer DB-Instance herstellt. Wenn dieser Parameter festgelegt ist, müssen Sie die SET ROLE-Anweisung nicht explizit aufrufen, um eine Rolle zu aktivieren. Weitere Informationen finden Sie unter activate_all_roles_on_login im MySQL-Referenzhandbuch.

Verwenden Sie die folgende Anweisung für Aurora MySQL Version 2:

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

Die Rolle AWS_SELECT_S3_ACCESS und Berechtigung SELECT INTO S3 gelten speziell für Amazon Aurora MySQL und sind nicht für MySQL-Datenbanken oder RDS für MySQL-DB-Instances verfügbar. Wenn Sie die Replikation zwischen einem Aurora MySQL DB-Cluster als Haupt-Replikation und einer MySQL-Datenbank als Replikations-Client eingerichtet haben, führt die Anweisung GRANT für die Rolle oder Berechtigung dazu, dass die Replikation mit einem Fehler beendet wird. Sie können diese Fehlermeldung ignorieren und mit der Replikation fortfahren. Verwenden Sie das Verfahren mysql_rds_skip_repl_error, um die Fehlermeldung für eine RDS für MySQL-DB-Instance zu überspringen. Um den Fehler in einer externen MySQL-Datenbank zu überspringen, verwenden Sie die Systemvariable slave_skip_errors (Aurora MySQL Version 2) oder die Systemvariable replica_skip_errors (Aurora MySQL Version 3).

Angeben eines Pfades zu einem Amazon S3-Bucket

Die Syntax für das Bestimmen eines Pfades zu einem Speicherort für Daten und Manifestdateien in einem Amazon S3-Bucket ist ähnlich der in der Anweisung LOAD DATA FROM S3 PREFIX, wie im Folgenden zu sehen ist.

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

Der Pfad enthält die folgenden Werte:

  • region (optional) – Die AWS-Region mit dem Amazon-S3-Bucket, in dem die Daten gespeichert werden sollen. Dieser Wert ist optional. Wenn Sie keinen region-Wert festlegen, speichert Aurora Ihre Datei in Amazon S3, das sich in derselben Region befindet wie Ihr DB-Cluster.

  • bucket-name – Der Name des Amazon S3-Buckets, in dem die Daten gespeichert werden sollen. Objekt-Präfixe, die einen virtuellen Ordnerpfad identifizieren, werden unterstützt.

  • file-prefix – Das Amazon S3-Objektpräfix, das die Dateien identifiziert, die in Amazon S3 gespeichert werden sollen.

Die Dateien, die durch die Anweisung SELECT INTO OUTFILE S3 erstellt wurden, verwenden den folgenden Pfad, in welchem 00000 eine fünfstellige, nullbasierte Ganzzahl ist.

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

Nehmen wir beispielsweise an, dass ein Statement SELECT INTO OUTFILE S3 s3-us-west-2://bucket/prefix als den Pfad festlegt, in dem Dateien gespeichert und drei Datendateien erstellt werden sollen. Das festgelegte Amazon S3-Bucket beinhaltet die folgenden Dateien.

  • s3-us-west-2://bucket/prefix.part 00000

  • s3-us-west-2://bucket/prefix.part 00001

  • s3-us-west-2://bucket/prefix.part 00002

Erstellen eines Manifests für das Auflisten von Dateien

Sie können das Statement SELECT INTO OUTFILE S3 mit der Option MANIFEST ON verwenden, um eine Manifestdatei im JSON-Format zu erstellen, die die mithilfe des Statements erstellten Textdateien auflistet. Die Anweisung LOAD DATA FROM S3 kann die Manifestdatei verwenden, um Dateien zurück in ein Aurora MySQL-DB-Cluster zu laden. Weitere Informationen über die Verwendung eines Manifests für das Laden von Dateien aus Amazon S3 in einen Aurora MySQL-DB-Cluster finden Sie unter Verwenden eines Manifests für zu ladende Dateien.

Die im Manifest beinhalteten Dateien, die mithilfe des Statements SELECT INTO OUTFILE S3 erstellt wurden, werden in der Reihenfolge gelistet, in der sie mit dem Statement erstellt wurden. Nehmen wir beispielsweise an, dass ein Statement SELECT INTO OUTFILE S3 s3-us-west-2://bucket/prefix als den Pfad angegeben hat, in dem Dateien gespeichert und drei Dateien und eine Manifestdatei erstellt werden sollen. Der angegebene Amazon S3-Bucket beinhaltet eine Manifestdatei mit dem Namen s3-us-west-2://bucket/prefix.manifest, die die folgenden Informationen beinhaltet.

{ "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

Sie können die Anweisung SELECT INTO OUTFILE S3 verwenden, um Daten aus einem DB-Cluster abzufragen und diese direkt in separierten Textdateien in einem Amazon S3-Bucket zu speichern.

Komprimierte Dateien werden nicht unterstützt. Verschlüsselte Dateien werden ab Aurora MySQL Version 2.09.0 unterstützt.

Syntax

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'] ]

Parameter

Die Anweisung SELECT INTO OUTFILE S3 verwendet die folgenden erforderlichen und optionalen Parameter, die für Aurora spezifisch sind.

s3-uri

Gibt den URI für ein zu verwendendes Amazon-S3-Präfix an. Verwenden Sie die unter Angeben eines Pfades zu einem Amazon S3-Bucket beschriebene Syntax.

FORMAT {CSV|TEXT} [HEADER]

Speichert die Daten optional im CSV-Format.

Die Option TEXT ist die Standardeinstellung und erzeugt das vorhandene MySQL-Exportformat.

Die Option CSV erzeugt kommagetrennte Datenwerte. Das CSV-Format entspricht der Spezifikation in RFC-4180. Wenn Sie das optionale Schlüsselwort HEADER angeben, enthält die Ausgabedatei eine Kopfzeile. Die Beschriftungen in der Kopfzeile entsprechen den Spaltennamen aus der SELECT-Anweisung. Sie können die CSV-Dateien für Trainingsdatenmodelle zur Verwendung mit AWS ML-Services verwenden. Weitere Hinweise zur Verwendung von exportierten Aurora-Daten mit AWS-ML-Services finden Sie unter Exportieren von Daten nach Amazon S3 für SageMaker Modelltraining (Fortgeschritten).

MANIFEST {ON | OFF}

Gibt an, ob eine Manifestdatei in Amazon S3 erstellt wird. Die Manifestdatei ist eine JavaScript-Objekt-Notation (JSON)-Datei, die verwendet werden kann, um Daten in einen Aurora-DB-Cluster mithilfe der Anweisung LOAD DATA FROM S3 MANIFEST zu laden. Mehr über LOAD DATA FROM S3 MANIFEST erfahren Sie unter Laden von Daten in einen Amazon Aurora MySQL-DB-Cluster aus Textdateien in einem Amazon S3-Bucket.

Wenn MANIFEST ON in der Abfrage angegeben ist, wird die Manifestdatei in Amazon S3 erstellt, nachdem alle Dateien erstellt und hochgeladen wurden. Die Manifestdatei wird unter Verwendung des folgenden Pfads erstellt:

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

Weitere Informationen über das Format der Inhalte der Manifestdatei finden Sie unter Erstellen eines Manifests für das Auflisten von Dateien.

OVERWRITE {ON | OFF}

Gibt an, ob bestehende Dateien im angegebenen Amazon-S3-Bucket überschrieben werden. Wenn OVERWRITE ON festgelegt ist, werden bestehende Dateien, die mit dem Präfix des im s3-uri-URI angegebenen Präfixes übereinstimmen, überschrieben. Andernfalls tritt ein Fehler auf.

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

Gibt an, ob eine serverseitige Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) oder AWS KMS keys (SSE-KMS, darunter auch Von AWS verwaltete Schlüssel und vom Kunden verwaltete Schlüssel) verwendet werden soll. Die Einstellungen SSE_S3 und SSE_KMS sind in Aurora MySQL Version 3.05 und höher verfügbar.

Sie können auch die Sitzungsvariable aurora_select_into_s3_encryption_default anstelle der Klausel ENCRYPTION verwenden, wie im folgenden Beispiel gezeigt. Verwenden Sie entweder die SQL-Klausel oder die Sitzungsvariable, aber nicht beide.

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

Die Einstellungen SSE_S3 und SSE_KMS sind in Aurora MySQL Version 3.05 und höher verfügbar.

Wenn Sie aurora_select_into_s3_encryption_default auf folgende Werte einstellen, gilt:

  • OFF: Es wird die Standardverschlüsselungsrichtlinie des S3-Buckets befolgt. Der Standardwert von aurora_select_into_s3_encryption_default ist OFF.

  • ON oder SSE_S3: Das S3-Objekt wird mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt.

  • SSE_KMS: Das S3-Objekt wird mit einem AWS KMS key verschlüsselt.

    In diesem Fall fügen Sie auch die Sitzungsvariable aurora_s3_default_cmk_id hinzu, beispielsweise:

    set session aurora_select_into_s3_encryption_default={SSE_KMS}; set session aurora_s3_default_cmk_id={NULL | 'cmk_id'};
    • Wenn aurora_s3_default_cmk_id NULL ist, wird das S3-Objekt mit einem Von AWS verwalteter Schlüssel verschlüsselt.

    • Wenn es sich bei aurora_s3_default_cmk_id um eine nicht leere Zeichenfolge cmk_id handelt, wird das S3-Objekt mit einem vom Kunden verwalteten Schlüssel verschlüsselt.

      Der Wert von cmk_id kann keine leere Zeichenfolge sein.

Wenn Sie den Befehl SELECT INTO OUTFILE S3 verwenden, bestimmt Aurora die Verschlüsselung wie folgt:

  • Wenn die Klausel ENCRYPTION im SQL-Befehl vorhanden ist, stützt sich Aurora nur auf den Wert für ENCRYPTION und verwendet keine Sitzungsvariable.

  • Wenn die Klausel ENCRYPTION nicht vorhanden ist, stützt sich Aurora auf den Wert der Sitzungsvariablen.

Weitere Informationen finden Sie unter Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) und Verwenden serverseitiger Verschlüsselung mit AWS KMS-Schlüsseln (SSE-KMS) im Benutzerhandbuch für Amazon Simple Storage Service.

Weitere Details zu anderen Parametern finden Sie unter SELECT-Anweisung und LOAD DATA-Anweisung in der MySQL-Dokumentation.

Überlegungen

Die Anzahl der im Amazon S3-Bucket geschriebenen Dateien hängt von der Datenmenge, die von der Anweisung SELECT INTO OUTFILE S3 ausgewählt wurde, und dem Schwellenwert der Dateigröße für Aurora MySQL ab. Der Standard-Schwellenwert für die Dateigröße liegt bei 6 GB. Wenn die vom Statement ausgewählte Datei kleiner ist als der Schwellenwert für die Dateigröße, wird eine einzelne Datei erstellt, andernfalls werden mehrere Dateien erstellt. Außerdem sollte Folgendes für Dateien, die von diesem Statement erstellt wurden, beachtet werden:

  • Aurora MySQL garantiert, dass Zeilen in Dateien nicht über Dateigrenzen aufgeteilt werden. Bei mehreren Dateien liegt die Dateigröße jeder Datei, außer der Letzten, normalerweise sehr dicht am Schwellenwert. Jedoch kann es gelegentlich vorkommen, dass die Zeilen von Dateien, deren Größe unter dem Schwellenwert liegt, zwischen zwei Dateien aufgeteilt werden. In diesem Fall erstellt Aurora MySQL eine Datei, die die Zeile intakt hält, aber dadurch größer als der Schwellenwert ist.

  • Da jede SELECT-Anweisung in Aurora MySQL als eine atomare Transaktion ausgeführt wird, kann eine SELECT INTO OUTFILE S3-Anweisung, die einen großen Datensatz auswählt, einige Zeit in Anspruch nehmen. Wenn die Anweisung aus irgendeinem Grund fehlschlägt, müssen Sie möglicherweise erneut starten und die Anweisung nochmals ausstellen. Wenn die Anweisung fehlschlägt, bleiben Dateien, die bereits in Amazon S3 hochgeladen wurden, im angegebenen Amazon S3-Bucket bestehen. Sie können ein anderes Statement verwenden, um die übrigen Daten hochzuladen, anstatt von Neuem zu starten.

  • Wenn die auszuwählende Datenmenge groß ist (mehr als 25 GB), empfehlen wir Ihnen, mehrere SELECT INTO OUTFILE S3-Anweisungen zu verwenden, um die Daten in Amazon S3 zu speichern. Jedes Statement sollte eine andere Partition für die zu speichernden Daten auswählen und auch ein anderes file_prefix im s3-uri-Parameter angeben, wenn die Daten gespeichert werden. Die Partitionierung der zu selektierenden Daten mit mehreren Anweisungen erleichtert die Behebung eines Fehlers in einer Anweisung. Wenn bei einer Aussage ein Fehler auftritt, muss nur ein Teil der Daten neu ausgewählt und in Amazon S3 hochgeladen werden. Die Verwendung von mehreren Statements hilft auch eine lange dauernde Einzeltransaktion zu vermeiden, was die Leistung verbessern kann.

  • Wenn mehrere SELECT INTO OUTFILE S3-Anweisungen, die das selbe file_prefix im s3-uri-Parameter verwenden, parallel ausgeführt werden, um Daten nach Amazon S3 auszuwählen, kann das Verhalten nicht eingeschätzt werden.

  • Metadaten, wie z. B. Tabellenschemata oder Metadatendateien werden nicht von Aurora MySQL nach Amazon S3 hochgeladen.

  • In einigen Fällen können Sie eine SELECT INTO OUTFILE S3-Abfrage erneut tätigen, um beispielsweise nach einem Fehler wiederherzustellen. In diesen Fällen müssen Sie entweder alle bestehenden Dateien mit dem selben Präfix, wie in s3-uri angegeben, aus dem Amazon S3-Bucket entfernen oder OVERWRITE ON in die SELECT INTO OUTFILE S3-Abfrage einbinden.

Das Statement SELECT INTO OUTFILE S3 gibt eine typische MySQL-Fehlernummer und -Antwort bei Erfolg oder Fehler zurück. Wenn Sie keinen Zugang zur MySQL-Fehlernummer oder -Antwort haben, ist es der einfachste Weg, nach Abschluss MANIFEST ON im Statement anzugeben. Die Manifestdatei ist die letzte Datei, die vom Statement geschrieben wurde. Mit anderen Worten, wenn Sie über eine Manifestdatei verfügen, hat die Anweisung die Ausführung abgeschlossen.

Aktuell gibt es keine Möglichkeit, den Fortschritt der SELECT INTO OUTFILE S3-Anweisung bei der Ausführung direkt zu überwachen. Nehmen wir jedoch an, Sie schreiben mithilfe dieser Anweisung eine große Datenmenge aus Aurora MySQL zu Amazon S3 und Sie kennen die Größe der von der Anweisung ausgewählten Daten. In diesem Fall können Sie den Fortschritt schätzen, indem Sie die Erstellung der Dateien in Amazon S3 überwachen.

Dabei können Sie sich die Tatsache zunutze machen, dass eine Datei im festgelegten Amazon S3-Bucket für je 6 GB Daten, die vom Statement ausgewählt wurden, erstellt wird. Teilen Sie diese ausgewählte Datengröße durch 6 GB, um eine geschätzte Anzahl der zu erstellenden Dateien zu erhalten. So können Sie den Fortschritt der Anweisung einschätzen, wenn Sie die Anzahl der in Amazon S3 hochgeladenen Dateien während der Ausführung der Anweisung überwachen.

Beispiele

Die folgende Anweisung wählt alle Daten in der Tabelle employees aus und speichert die Daten in einem Amazon S3-Bucket, der sich in einer anderen Region als der Aurora MySQL-DB-Cluster befindet. Das Statement erstellt Dateien, bei denen jedes Feld durch ein Komma (,) und jede Zeile durch einen Zeilenumbruch (\n) beendet wird. Die Anweisung gibt einen Fehler zurück, wenn sich Dateien, die mit dem Dateipräfix sample_employee_data übereinstimmen, im angegebenen Amazon S3-Bucket befinden.

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';

Die folgende Anweisung wählt alle Daten in der Tabelle employees aus und speichert die Daten in einem Amazon S3-Bucket, der sich in der selben Region, wie der Aurora MySQL-DB-Cluster befindet. Das Statement erstellt Dateien bei denen jedes Feld durch ein Komma (,) und jede Zeile durch einen Zeilenumbruch (\n) beendet wird. Zudem wird eine Manifestdatei erstellt. Die Anweisung gibt einen Fehler zurück, wenn sich Dateien, die mit dem Dateipräfix sample_employee_data übereinstimmen, im angegebenen Amazon S3-Bucket befinden.

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

Die folgende Anweisung wählt alle Daten in der Tabelle employees aus und speichert die Daten in einem Amazon S3-Bucket, der sich in einer anderen Region als der Aurora-DB-Cluster befindet. Das Statement erstellt Dateien, bei denen jedes Feld durch ein Komma (,) und jede Zeile durch einen Zeilenumbruch (\n) beendet wird. Die Anweisung überschreibt alle bestehenden Dateien, die mit dem Dateipräfix sample_employee_data im angegebenen Amazon S3-Bucket übereinstimmen.

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;

Die folgende Anweisung wählt alle Daten in der Tabelle employees aus und speichert die Daten in einem Amazon S3-Bucket, der sich in der selben Region, wie der Aurora MySQL-DB-Cluster befindet. Das Statement erstellt Dateien bei denen jedes Feld durch ein Komma (,) und jede Zeile durch einen Zeilenumbruch (\n) beendet wird. Zudem wird eine Manifestdatei erstellt. Die Anweisung überschreibt alle bestehenden Dateien, die mit dem Dateipräfix sample_employee_data im angegebenen Amazon S3-Bucket übereinstimmen.

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;