Mithilfe von CSV-Dateien exportieren und importieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

Hinweis

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.

Export

Erforderliche Rollen und Berechtigungen für Exporte

Zum Exportieren von Daten in Cloud Storage muss das Cloud SQL-Instanzdienstkonto oder der Nutzer eine der folgenden Rollen haben:

  • Die Rollen "Cloud SQL-Bearbeiter" und "roles/storage.legacyBucketWriter-IAM-Rolle".
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • cloudsql.instances.get
    • cloudsql.instances.export
    • storage.buckets.create
    • storage.objects.create

Wenn das Dienstkonto oder der Nutzer auch Importvorgänge ausführt, ist es möglicherweise einfacher, die IAM-Rolle Storage Object Admin zu erteilen, die alle erforderlichen Berechtigungen für den Import und Export zuweist.

Informationen zu IAM-Rollen finden Sie unter Cloud Identity and Access Management für Cloud Storage.

Daten 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. Fügen Sie im Bereich Cloud Storage-Exportspeicherort den Namen des Buckets, Ordners und der Datei hinzu, die Sie exportieren möchten, oder klicken Sie auf Durchsuchen, um einen Bucket, Ordner oder eine Datei zu suchen oder zu erstellen.

    Wenn Sie auf Durchsuchen klicken, gehen Sie so vor:

    1. Wählen Sie im Bereich Speicherort einen Cloud Storage-Bucket oder -Ordner für den Export aus.
    2. Geben Sie im Feld Name einen Namen für die Datei CSV ein oder wählen Sie eine vorhandene Datei aus der Liste im Abschnitt Speicherort aus.

      Sie können die Dateiendung .gz (die vollständige Erweiterung lautet .csv.gz) verwenden, um die Exportdatei zu komprimieren.

    3. Klicken Sie auf Auswählen.
  6. Klicken Sie im Abschnitt Format auf CSV.
  7. Wählen Sie im Abschnitt Datenbank für den Export den Namen der Datenbank aus dem Drop-down-Menü aus.
  8. Geben Sie für 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.
  9. Klicken Sie auf Exportieren, um den Export zu starten.
  10. 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. Wenn der Export gestartet wurde, kann er nicht mehr angehalten werden. Klicken Sie auf Exportieren, wenn der Zeitpunkt für den Export günstig ist. 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 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
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.
    • select_query: die 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 eine JSON-Antwort ähnlich wie diese erhalten:

    Sie müssen genau eine Datenbank mit dem Attribut databases angeben. Wenn Sie in der Auswahlabfrage eine Datenbank festlegen, muss diese damit identisch sein.

  4. Wenn Sie die zuvor festgelegten IAM-Berechtigungen nicht beibehalten möchten, entfernen Sie diese jetzt.
Die vollständige Liste der Parameter für diese 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 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
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.
    • select_query: die 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 eine JSON-Antwort ähnlich wie diese erhalten:

    Sie müssen genau eine Datenbank mit dem Attribut databases angeben. Wenn Sie in der Auswahlabfrage eine Datenbank festlegen, muss diese damit identisch sein.

  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 würde so aussehen:

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

Beim CSV-Export wird standardmäßig eine Standard-CSV-Ausgabe erstellt. Wenn Sie noch mehr Optionen benötigen, als Cloud SQL bereitstellt, können Sie die folgende Anweisung in einem psql-Client verwenden:

      \copy [table_name] TO '[csv_file_name].csv' WITH
          (FORMAT csv, ESCAPE '[escape_character]', QUOTE '[quote_character]',
          DELIMITER '[delimiter_character]', ENCODING 'UTF8', NULL '[null_marker_string]');

Import

Erforderliche Rollen und Berechtigungen für Importe

Dazu müssen Sie eine Datei aus Cloud Storage importieren. Zum Importieren von Daten aus Cloud Storage muss das Cloud SQL-Instanzdienstkonto oder der Nutzer eine der folgenden Rollen haben:

  • Die Cloud SQL-Administratorrolle und die roles/storage.legacyObjectReader-IAM-Rolle
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • cloudsql.instances.get
    • cloudsql.instances.import
    • storage.buckets.get
    • storage.objects.get

Wenn mit dem Dienstkonto oder Nutzer auch Exportvorgänge ausgeführt werden, ist es möglicherweise einfacher, die IAM-Rolle Storage Object Admin zu gewähren, um alle erforderlichen Berechtigungen für den Import und Export zu haben. Informationen zu IAM-Rollen finden Sie unter Cloud Identity and Access Management für Cloud Storage.

Daten aus einer CSV-Datei importieren

  • Die Datenbank und die Tabelle, in die importiert werden sollen, müssen in der Cloud SQL-Instanz vorhanden sein. Informationen zum Erstellen einer Datenbank finden Sie unter Datenbank erstellen.
  • Ihre CSV-Datei muss den Formatanforderungen an CSV-Dateien entsprechen.

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. Sie können optional einen Nutzer für den Importvorgang angeben.
  8. 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 eine JSON-Antwort ähnlich wie diese erhalten:

    Die vollständige Parameterliste für diese Anfrage finden Sie auf der Seite instances:import.
  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 eine JSON-Antwort ähnlich wie diese erhalten:

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

Format eines CSV-Dateiimports 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"
       }
   }
}

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