Aus Bigtable importieren

Wenn Sie Daten aus Bigtable aufnehmen möchten, gehen Sie so vor, um einen Datenspeicher zu erstellen und Daten mit der 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 Nummer Ihres Gemini Enterprise-Projekts und kopieren Sie dann den Inhalt dieses Codeblocks. Dies ist die Kennung Ihres Gemini Enterprise-Dienstkontos:

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

    IAM & Verwaltung

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

  4. Geben Sie für Neue Hauptkonten die Dienstkonto-ID der Instanz ein und wählen Sie die Rolle Bigtable > Bigtable Reader aus.

  5. Klicken Sie auf Speichern.

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

Fahren Sie dann mit Daten aus Bigtable importieren fort.

Daten aus Bigtable importieren

REST

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

  1. Datenspeicher erstellen.

    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. Dies wird möglicherweise in der Google Cloud Console angezeigt.
  2. Daten aus Bigtable importieren.

      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.Dies 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 indexiert. Mit anderen Worten: Ihrem Datenspeicher werden neue und aktualisierte Dokumente hinzugefügt und Dokumente, die nicht in Bigtable enthalten sind, werden daraus entfernt. Der FULL-Modus ist hilfreich, wenn Sie Dokumente, die Sie nicht mehr benötigen, 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 Dokument-IDs auf Grundlage eines Hash der Nutzlast generiert. Beachten Sie, dass generierte Dokument-IDs bei mehreren Importvorgängen möglicherweise nicht konsistent bleiben. Wenn Sie IDs bei mehreren Importvorgängen automatisch generieren, empfiehlt Google dringend, reconciliationMode auf FULL zu setzen, um einheitliche Dokument-IDs beizubehalten.

      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 idField angeben. Andernfalls können die Dokumente nicht importiert werden.

    • ID_FIELD: Optional. Gibt an, welche Felder die Dokument-IDs sind.

Nächste Schritte

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

  • Hier finden Sie eine Vorschau der Suchergebnisse nach der Erstellung der App und des Datenspeichers.