Mithilfe von CSV-Dateien exportieren und importieren

Auf dieser Seite wird gezeigt, wie Sie Daten mithilfe von CSV-Dateien exportieren und in Cloud SQL-Instanzen importieren.

Hinweise

Für einen Export- oder Importvorgang ist Folgendes zu beachten:

  • Sorgen Sie dafür, dass in Ihrer Datenbank ausreichend freier Speicherplatz vorhanden ist.
  • Export- und Importvorgänge verwenden Datenbankressourcen, stören den normalen Datenbankbetrieb jedoch nicht, wenn die Instanz nicht unterdimensioniert ist.

  • Prüfen Sie, ob die CSV-Datei die erwarteten Daten enthält und im richtigen Format vorliegt. CSV-Dateien müssen eine Zeile pro Satz Datenfelder haben.
  • Beachten Sie die Best Practices zum Exportieren und Importieren von Daten.

Daten aus Cloud SQL for MySQL exportieren

Erforderliche Rollen und Berechtigungen für Exporte aus Cloud SQL for MySQL

Zum Exportieren von Daten aus Cloud SQL in Cloud Storage muss der Nutzer, der den Export initiiert, eine der folgenden Rollen haben:

Darüber hinaus muss das Dienstkonto für die Cloud SQL-Instanz eine der folgenden Rollen haben:

  • Die IAM-Rolle (Identity and Access Management) storage.objectAdmin
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • storage.objects.create
    • storage.objects.list (nur für den parallelen Export von Dateien)
    • storage.objects.delete (nur für den parallelen Export von Dateien)

Informationen zu IAM-Rollen finden Sie unter Identitäts- und Zugriffsverwaltung.

Daten aus Cloud SQL for MySQL in eine CSV-Datei exportieren

Sie können Ihre Daten im CSV-Format exportieren, das von anderen Tools und Umgebungen verwendet werden kann. Exporte erfolgen auf Datenbankebene. Während eines CSV-Exports können Sie die zu exportierenden Schemas angeben. Alle Schemas auf Datenbankebene können exportiert werden.

So exportieren Sie Daten aus einer Datenbank in einer Cloud SQL-Instanz in eine CSV-Datei in einem Cloud Storage-Bucket:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf Exportieren.
  4. Wählen Sie Export auslagern aus, um andere Vorgänge ausführen zu können, während der Export läuft.
  5. Klicken Sie auf Erweiterte Optionen einblenden.
  6. Wählen Sie im Abschnitt Datenbank den Namen der Datenbank aus dem Drop-down-Menü aus.
  7. Geben Sie unter SQL-Abfrage eine SQL-Abfrage ein, um die Tabelle anzugeben, aus der Daten exportiert werden sollen.

    Wenn Sie beispielsweise den gesamten Inhalt der Tabelle entries in die Datenbank guestbook exportieren möchten, geben Sie Folgendes ein:

    SELECT * FROM guestbook.entries;
    Sie müssen in Ihrer Abfrage eine Tabelle in der angegebenen Datenbank festlegen. Es kann nicht die gesamte Datenbank in das CSV-Format exportiert werden.

  8. Klicken Sie auf Exportieren, um den Export zu starten.
  9. Das Feld Datenbank exportieren? wird mit einer Meldung geöffnet, dass der Exportvorgang bei großen Datenbanken eine Stunde oder länger dauern kann. Während des Exports können nur Informationen zur Instanz abgerufen werden. Nachdem der Export gestartet wurde, können Sie den Vorgang abbrechen. Klicken Sie auf Exportieren, um den Export zu starten. Klicken Sie andernfalls auf Abbrechen.

gcloud

  1. Erstellen Sie einen Cloud Storage-Bucket.
  2. Laden Sie die Datei in den Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte hochladen.

  3. Suchen Sie das Dienstkonto für die Cloud SQL-Instanz, aus der Sie exportieren. Dazu können Sie den Befehl gcloud sql instances describe verwenden. Suchen Sie in der Ausgabe nach dem Feld serviceAccountEmailAddress.
    gcloud sql instances describe INSTANCE_NAME
    
  4. Weisen Sie mit gsutil iam dem Cloud SQL-Instanzdienstkonto die IAM-Rolle storage.objectAdmin zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  5. Exportieren Sie die Datenbank:
    gcloud sql export csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
    --database=DATABASE_NAME \
    --offload \
    --query=SELECT_QUERY
    

    Informationen zum Verwenden des Befehls export csv finden Sie auf der Referenzseite des Befehls sql export csv.

  6. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.

REST Version 1

  1. Erstellen Sie einen Bucket für den Export:
    gsutil mb -p PROJECT_NAME -l LOCATION_NAME gs://BUCKET_NAME
    

    Dieser Schritt ist nicht erforderlich, wird aber dringend empfohlen, damit kein Zugriff auf andere Daten möglich ist.

  2. Weisen Sie Ihrer Instanz die IAM-Rolle legacyBucketWriter für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  3. Exportieren Sie Ihre Datenbank:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_csv_file: der Pfad zur CSV-Datei
    • database_name: der Name einer Datenbank in der Cloud SQL-Instanz
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.
    • select_query: SQL-Abfrage für den Export (optional)
    • escape_character: das Zeichen, das vor einem Datenzeichen stehen muss, das maskiert werden soll. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • quote_character: das Zeichen, das Werte aus Spalten mit dem Datentyp "String" umschließt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • fields_terminated_by: das Zeichen, das die Spaltenwerte aufteilt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. "2C" steht beispielsweise für ein Komma. (optional)
    • lines_terminated_by: das Zeichen, das die Zeileneinträge aufteilt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispielsweise steht "0A" für eine neue Zeile. (optional)

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "databases": ["database_name"],
          "offload": true | false
          "csvExportOptions":
           {
               "selectQuery":"select_query",
               "escapeCharacter":"escape_character",
               "quoteCharacter":"quote_character",
               "fieldsTerminatedBy":"fields_terminated_by",
               "linesTerminatedBy":"lines_terminated_by"
           }
       }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    Wenn für die ausgewählte Abfrage eine Datenbank angegeben ist, wird das Attribut databases überschrieben.

  4. Wenn Sie die zuvor festgelegten IAM-Berechtigungen nicht beibehalten möchten, entfernen Sie diese jetzt.
Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite instances:export.

REST v1beta4

  1. Erstellen Sie einen Bucket für den Export:
    gsutil mb -p PROJECT_NAME -l LOCATION_NAME gs://BUCKET_NAME
    

    Dieser Schritt ist nicht erforderlich, wird aber dringend empfohlen, damit kein Zugriff auf andere Daten möglich ist.

  2. Weisen Sie Ihrer Instanz die IAM-Rolle storage.objectAdmin für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  3. Exportieren Sie Ihre Datenbank:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_csv_file: der Pfad zur CSV-Datei
    • database_name: der Name einer Datenbank in der Cloud SQL-Instanz
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.
    • select_query: SQL-Abfrage für den Export (optional)
    • escape_character: das Zeichen, das vor einem Datenzeichen stehen muss, das maskiert werden soll. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • quote_character: das Zeichen, das Werte aus Spalten mit dem Datentyp "String" umschließt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • fields_terminated_by: das Zeichen, das die Spaltenwerte aufteilt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. "2C" steht beispielsweise für ein Komma. (optional)
    • lines_terminated_by: das Zeichen, das die Zeileneinträge aufteilt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispielsweise steht "0A" für eine neue Zeile. (optional)

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "databases": ["database_name"],
          "offload": true | false
          "csvExportOptions":
           {
               "selectQuery": "select_query",
               "escapeCharacter":  "escape_character",
               "quoteCharacter": "quote_character",
               "fieldsTerminatedBy": "fields_terminated_by",
               "linesTerminatedBy": "lines_terminated_by"
           }
       }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    Wenn für die ausgewählte Abfrage eine Datenbank angegeben ist, wird das Attribut databases überschrieben.

  4. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.
Die vollständige Liste der Parameter für diese Anfrage finden Sie auf der Seite instances:export.

Format einer CSV-Exportdatei anpassen

Zum Anpassen des CSV-Dateiformats können Sie gcloud oder die REST API verwenden. Wenn Sie einen Export ausführen, können Sie die folgenden Formatierungsoptionen festlegen:

CSV-Option Standardwert gcloud-Flag REST API-Attribut Beschreibung
Escape-Taste

"5C"

ASCII-Hexadezimalcode für Dateitrennzeichen.

--escape escapeCharacter

Zeichen, das vor einem Datenzeichen stehen muss, das maskiert werden soll.

Nur für MySQL und PostgreSQL verfügbar.

Zitat

"22"

ASCII-Hexadezimalcode für doppelte Anführungszeichen.

--quote quoteCharacter

Zeichen, das Werte aus Spalten mit dem Datentyp "String" umschließt.

Nur für MySQL und PostgreSQL verfügbar.

Feldtrennzeichen

"2C"

ASCII-Hexadezimalcode für Komma.

--fields-terminated-by fieldsTerminatedBy

Zeichen, das die Spaltenwerte aufteilt.

Nur für MySQL und PostgreSQL verfügbar.

Zeilenumbruch

"0A"

ASCII-Hexadezimalcode für Zeilenumbruch.

--lines-terminated-by linesTerminatedBy

Zeichen, das Zeileneinträge aufteilt.

Nur für MySQL verfügbar.

Ein gcloud-Befehl mit diesen Argumenten kann beispielsweise so aussehen:

gcloud sql export csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
--database=DATABASE_NAME \
--offload \
--query=SELECT_QUERY \
--quote="22" \
--escape="5C" \
--fields-terminated-by="2C" \
--lines-terminated-by="0A"

Der entsprechende REST API-Anfragetext sieht in etwa so aus:

{
 "exportContext":
   {
      "fileType": "CSV",
      "uri": "gs://bucket_name/path_to_csv_file",
      "databases": ["DATABASE_NAME"],
      "offload": true,
      "csvExportOptions":
       {
           "selectQuery": "SELECT_QUERY",
           "escapeCharacter":  "5C",
           "quoteCharacter": "22",
           "fieldsTerminatedBy": "2C",
           "linesTerminatedBy": "0A"
       }
   }
}

Die obigen gcloud- und API-Beispiele entsprechen der Ausführung der folgenden SQL-Anweisung:

SELECT [QUERY] INTO OUTFILE ... CHARACTER SET 'utf8mb4'
            FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
            ESCAPED BY '\\' LINES TERMINATED BY '\n'

Daten in Cloud SQL for MySQL importieren

Erforderliche Rollen und Berechtigungen für den Import in Cloud SQL for MySQL

Zum Importieren von Daten aus Cloud Storage in Cloud SQL muss der Nutzer, der den Import initiiert, eine der folgenden Rollen haben:

Darüber hinaus muss das Dienstkonto für die Cloud SQL-Instanz eine der folgenden Rollen haben:

  • storage.objectAdmin IAM-Rolle.
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • storage.objects.get
    • storage.objects.list (nur für den parallelen Import von Dateien)

Informationen zu IAM-Rollen finden Sie unter Identitäts- und Zugriffsverwaltung.

Daten vom lokalen MySQL-Server in eine CSV-Datei exportieren

Zum Exportieren einer MySQL-Tabelle für den Import in Cloud SQL empfehlen wir, die Datei mit folgendem Befehl zu formatieren:

mysql --host=INSTANCE_IP --user=USER_NAME --password DATABASE \
-e " SELECT * FROM TABLE INTO OUTFILE 'FILE_NAME' CHARACTER SET 'utf8mb4'
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\"' "

Sie können das Format Ihrer CSV-Exportdatei anpassen.

Daten aus einer CSV-Datei in Cloud SQL for MySQL importieren

Formatanforderungen an CSV-Dateien

Die CSV-Dateien müssen eine Zeile pro Datensatz und kommagetrennte Felder haben.

So importieren Sie Daten aus einer CSV-Datei in eine Cloud-SQL-Instanz:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf Importieren.
  4. Geben Sie im Bereich Datei auswählen, aus der Daten importiert werden sollen den Pfad zum Bucket und zur CSV-Datei für den Import ein. Oder öffnen Sie die Datei:
    1. Klicken Sie auf Durchsuchen.
    2. Klicken Sie im Abschnitt Standort doppelt auf den Namen des Buckets in der Liste.
    3. Wählen Sie die Datei in der Liste aus.
    4. Klicken Sie auf Auswählen.

    Sie können eine komprimierte Datei (.gz) oder eine unkomprimierte Datei (.csv) importieren.

  5. Wählen Sie im Bereich Format die Option CSV aus.
  6. Geben Sie die Datenbank und die Tabelle in der Cloud SQL-Instanz an, in die die CSV-Datei importiert werden soll.
  7. Klicken Sie auf Importieren, um den Import zu starten.

gcloud

  1. Erstellen Sie einen Cloud Storage-Bucket.
  2. Laden Sie die Datei in den Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte hochladen.

  3. Laden Sie Daten aus der CSV-Datei in den Bucket hoch.
  4. Identifizieren Sie das Dienstkonto für die Cloud SQL-Instanz, aus der Sie exportieren. Dazu können Sie den gcloud sql instances describe-Befehl mit dem Instanznamen ausführen. Suchen Sie in der Ausgabe nach dem Feld serviceAccountEmailAddress.
    gcloud sql instances describe INSTANCE_NAME
    
  5. Kopieren Sie das Feld "serviceAccountEmailAddress".
  6. Weisen Sie mit gsutil iam dem Cloud SQL-Instanzdienstkonto für den Bucket die IAM-Rolle storage.objectAdmin zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  7. Importieren Sie die Datei:
    gcloud sql import csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
    --database=DATABASE_NAME \
    --table=TABLE_NAME
    

    Informationen zum Verwenden des Befehls import csv finden Sie auf der Referenzseite des Befehls sql import csv.

  8. Wenn Sie die zuvor festgelegten Cloud IAM-Berechtigungen nicht beibehalten möchten, entfernen Sie diese mit gsutil iam.

REST Version 1

  1. Erstellen Sie einen Cloud Storage-Bucket.
  2. Laden Sie die Datei in den Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte hochladen.

  3. Weisen Sie Ihrer Instanz die IAM-Rollen legacyBucketWriter und objectViewer für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  4. Importieren Sie die Datei:

    Ersetzen Sie dabei folgende Werte für die Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_csv_file: der Pfad zur CSV-Datei
    • database_name: der Name einer Datenbank in der Cloud SQL-Instanz
    • table_name: der Name der Datenbanktabelle.
    • escape_character: das Zeichen, das vor einem Datenzeichen stehen muss, das maskiert werden soll. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • quote_character: das Zeichen, das Werte aus Spalten mit dem Datentyp "String" umschließt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • fields_terminated_by: das Zeichen, das die Spaltenwerte aufteilt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. "2C" steht beispielsweise für ein Komma. (optional)
    • lines_terminated_by: das Zeichen, das die Zeileneinträge aufteilt. Der Wert dieses Arguments muss als ein Zeichen im Hex-ASCII-Code angegeben werden. Beispielsweise steht "0A" für eine neue Zeile. (optional)

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import

    JSON-Text anfordern:

    {
     "importContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "database": "database_name",
          "csvImportOptions":
           {
             "table": "table_name",
             "escapeCharacter": "escape_character",
             "quoteCharacter": "quote_character",
             "fieldsTerminatedBy": "fields_terminated_by",
             "linesTerminatedBy": "lines_terminated_by"
           }
       }
    }
    
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite instances:insert.
  5. Wenn Sie die zuvor festgelegten Cloud IAM-Berechtigungen nicht beibehalten möchten, entfernen Sie diese.

REST v1beta4

  1. Erstellen Sie einen Cloud Storage-Bucket.
  2. Laden Sie die Datei in den Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte hochladen.

  3. Weisen Sie Ihrer Instanz die IAM-Rolle storage.objectAdmin für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  4. Importieren Sie die Datei:

    Ersetzen Sie dabei folgende Werte für die Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_csv_file: der Pfad zur CSV-Datei
    • database_name: der Name einer Datenbank in der Cloud SQL-Instanz
    • table_name: der Name der Datenbanktabelle.
    • escape_character: das Zeichen, das vor einem Datenzeichen stehen muss, das maskiert werden soll. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • quote_character: das Zeichen, das Werte aus Spalten mit dem Datentyp "String" umschließt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispiel: "22" steht für doppelte Anführungszeichen. (optional)
    • fields_terminated_by: das Zeichen, das die Spaltenwerte aufteilt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. "2C" steht beispielsweise für ein Komma. (optional)
    • lines_terminated_by: das Zeichen, das die Zeileneinträge aufteilt. Der Wert dieses Arguments muss im ASCII-Hexadezimalformat angegeben werden. Beispielsweise steht "0A" für eine neue Zeile. (optional)

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import

    JSON-Text anfordern:

    {
     "importContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "database": "database_name",
          "csvImportOptions":
           {
             "table": "table_name",
             "escapeCharacter": "escape_character",
             "quoteCharacter": "quote_character",
             "fieldsTerminatedBy": "fields_terminated_by",
             "linesTerminatedBy": "lines_terminated_by"
           }
       }
    }
    
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite instances:insert.
  5. Wenn Sie die zuvor festgelegten Cloud IAM-Berechtigungen nicht beibehalten möchten, entfernen Sie diese.

Format einer CSV-Datei für Cloud SQL for MySQL anpassen

Zum Anpassen des CSV-Dateiformats können Sie gcloud oder die REST API verwenden.

Beispiel für einen gcloud-Befehl:

gcloud sql import csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
--database=DATABASE_NAME \
--table=TABLE_NAME \
--quote="22" \
--escape="5C" \
--fields-terminated-by="2C" \
--lines-terminated-by="0A"

Der entsprechende REST API-Anfragetext würde so aussehen:

{
 "importContext":
   {
      "fileType": "CSV",
      "uri": "gs://bucket_name/path_to_csv_file",
      "database": ["DATABASE_NAME"],
      "csvImportOptions":
       {
           "table": "TABLE_NAME",
           "escapeCharacter":  "5C",
           "quoteCharacter": "22",
           "fieldsTerminatedBy": "2C",
           "linesTerminatedBy": "0A"
       }
   }
}

Die obigen gcloud- und API-Beispiele entsprechen der Ausführung der folgenden SQL-Anweisung:

LOAD DATA LOCAL INFILE ... CHARACTER SET 'utf8mb4'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\\'.

Wenn ein Fehler wie z. B. ERROR_RDBMS angezeigt wird, prüfen Sie, ob die Tabelle vorhanden ist. Ist die Tabelle vorhanden, sollten Sie ermitteln, ob Sie die richtigen Berechtigungen für den Bucket haben. Hilfe zum Konfigurieren der Zugriffssteuerung in Cloud Storage finden Sie unter Access Control Lists (ACLs) erstellen und verwalten.

Informationen zum Erstellen der zugrunde liegenden REST API-Anfrage für diese Aufgabe finden Sie im APIs Explorer auf der Seite "Instanzimporte".

Weitere Informationen