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:
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.iam.gserviceaccount.com`
Rufen Sie die Seite IAM und Verwaltung auf.
Wechseln Sie auf der Seite IAM & Verwaltung zu Ihrem Bigtable-Projekt und klicken Sie auf Zugriff gewähren.
Geben Sie für Neue Hauptkonten die Dienstkonto-ID der Instanz ein und wählen Sie die Rolle Bigtable > Bigtable Reader aus.
Klicken Sie auf Speichern.
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:
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.
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 incolumns
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 sindFULL
undINCREMENTAL
. Der Standardwert istINCREMENTAL
. Wenn SieINCREMENTAL
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 SieFULL
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. DerFULL
-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 auftrue
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
aufFULL
zu setzen, um einheitliche Dokument-IDs beizubehalten.Geben Sie
autoGenerateIds
nur an, wennbigquerySource.dataSchema
aufcustom
festgelegt ist. Andernfalls wird der FehlerINVALID_ARGUMENT
zurückgegeben. Wenn SieautoGenerateIds
nicht angeben oder auffalse
festlegen, müssen SieidField
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.