Aus Bigtable importieren

Wenn Sie Daten aus Bigtable aufnehmen möchten, gehen Sie so vor, um einen Datenspeicher zu erstellen und Daten über die API aufzunehmen.

Bigtable-Zugriff einrichten

So gewähren Sie Gemini Enterprise Zugriff auf Bigtable-Daten in einem anderen Projekt:

  1. Ersetzen Sie die folgende PROJECT_NUMBER-Variable durch die Projektnummer Ihres Gemini Enterprise-Projekts. Kopieren Sie dann den Inhalt dieses Codeblocks. Dies ist die Kennung Ihres Gemini Enterprise-Dienstkontos:

    service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
    
  2. Rufen Sie die Seite IAM und Verwaltung auf.

    IAM und Verwaltung

  3. Wechseln Sie auf der Seite IAM und Verwaltung zu Ihrem Bigtable-Projekt und klicken Sie auf Zugriff gewähren.

  4. Geben Sie unter Neue Hauptkonten die Kennung des Dienstkontos der Instanz ein. Wählen Sie die Rolle Bigtable > Bigtable Reader aus.

  5. Klicken Sie auf Speichern.

  6. Wechseln Sie zurück zu Ihrem Gemini Enterprise-Projekt.

Gehen Sie dann zu Daten aus Bigtable importieren.

Daten aus Bigtable importieren

REST

So erstellen Sie einen Datenspeicher über die Befehlszeile und nehmen Daten aus Bigtable auf:

  1. Erstellen Sie einen Datenspeicher.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
    }'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID.
    • DATA_STORE_ID: die ID des Datenspeichers. Die ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.
    • DISPLAY_NAME: Der Anzeigename des Datenspeichers. Dieser wird möglicherweise in der Google Cloud Console angezeigt.
  2. Importieren Sie Daten aus Bigtable.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "bigtableSource ": {
          "projectId": "BIGTABLE_PROJECT_ID",
          "instanceId": "INSTANCE_ID",
          "tableId": "TABLE_ID",
          "bigtableOptions": {
            "keyFieldName": "KEY_FIELD_NAME",
            "families": {
              "key": "KEY",
              "value": {
                "fieldName": "FIELD_NAME",
                "encoding": "ENCODING",
                "type": "TYPE",
                "columns": [
                  {
                    "qualifier": "QUALIFIER",
                    "fieldName": "FIELD_NAME",
                    "encoding": "COLUMN_ENCODING",
                    "type": "COLUMN_VALUES_TYPE"
                  }
                ]
              }
             }
             ...
          }
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
      }'
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Gemini Enterprise-Projekts.
    • DATA_STORE_ID: die ID des Datenspeichers. Die ID darf nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten.
    • BIGTABLE_PROJECT_ID: die ID Ihres Bigtable-Projekts.
    • INSTANCE_ID: die ID Ihrer Bigtable-Instanz.
    • TABLE_ID: die ID Ihrer Bigtable-Tabelle.
    • KEY_FIELD_NAME: optional, aber empfohlen. Der Feldname, der nach der Aufnahme in Gemini Enterprise für den Zeilenschlüsselwert verwendet werden soll.
    • KEY: erforderlich. Ein Stringwert für den Schlüssel der Spaltenfamilie.
    • ENCODING: optional. Der Codierungsmodus der Werte, wenn der Typ nicht STRING ist. Dieser kann für eine bestimmte Spalte überschrieben werden, indem Sie die Spalte in columns auflisten und eine Codierung dafür angeben.
    • COLUMN_TYPE: optional. Der Typ der Werte in dieser Spaltenfamilie.
    • QUALIFIER: erforderlich. Qualifizierer der Spalte.
    • FIELD_NAME: optional, aber empfohlen. Der Feldname, der nach dem Import in Gemini Enterprise für diese Spalte verwendet werden soll.
    • COLUMN_ENCODING: optional. Der Codierungsmodus der Werte für eine bestimmte Spalte, wenn der Typ nicht STRING ist.
    • RECONCILIATION_MODE: optional. Mögliche Werte sind FULL und INCREMENTAL. Der Standardwert ist INCREMENTAL. Wenn Sie INCREMENTAL angeben, werden die Daten aus Bigtable in Ihrem Datenspeicher inkrementell aktualisiert. Dadurch wird ein Upsert-Vorgang ausgeführt, bei dem neue Dokumente hinzugefügt und vorhandene Dokumente durch aktualisierte Dokumente mit derselben ID ersetzt werden. Wenn Sie FULL angeben, werden die Dokumente in Ihrem Datenspeicher vollständig neu synchronisiert. Das bedeutet, dass Ihrem Datenspeicher neue und aktualisierte Dokumente hinzugefügt und Dokumente, die nicht in Bigtable enthalten sind, aus Ihrem Datenspeicher entfernt werden. Der FULL-Modus ist hilfreich, wenn Sie nicht mehr benötigte Dokumente automatisch löschen möchten.
    • AUTO_GENERATE_IDS: optional. Gibt an, ob Dokument-IDs automatisch generiert werden sollen. Wenn dieser Wert auf true gesetzt ist, werden die Dokument-IDs auf Grundlage eines Nutzlast-Hash generiert. Beachten Sie, dass generierte Dokument-IDs bei mehreren Importvorgängen möglicherweise nicht gleich bleiben. Wenn Sie bei mehreren Importvorgängen IDs automatisch generieren, empfiehlt Google dringend, reconciliationMode auf FULL festzulegen, um die Dokument-IDs konsistent zu halten.

      Geben Sie autoGenerateIds nur an, wenn bigquerySource.dataSchema auf custom festgelegt ist. Andernfalls wird der Fehler INVALID_ARGUMENT zurückgegeben. Wenn Sie autoGenerateIds nicht angeben oder auf false festlegen, müssen Sie das idField angeben. Andernfalls können die Dokumente nicht importiert werden.

    • ID_FIELD: optional. Gibt an, welche Felder die Dokument-IDs enthalten.

Nächste Schritte

  • Wenn Sie Ihren Datenspeicher an eine App anhängen möchten, erstellen Sie die App und wählen Sie Ihren Datenspeicher aus. Folgen Sie dazu der Anleitung unter Such-App erstellen.

  • Weitere Informationen zur Vorschau der Suchergebnisse nach Erstellung der App und des Datenspeichers.