Zum Einbinden Ihrer benutzerdefinierten Datenquellen rufen Sie Data Catalog APIs auf, mit denen Sie Data Catalog-Einträge mit benutzerdefinierten Datenressourcentypen erstellen und verwalten können. In diesem Dokument wird ein Eintrag für einen benutzerdefinierten Datenressourcentyp als "benutzerdefinierter Eintrag" bezeichnet.
Eintragsgruppen und benutzerdefinierte Einträge erstellen
Benutzerdefinierte Einträge müssen in einer von Nutzern erstellten Eintragsgruppe platziert werden. Sie erstellen die Eintragsgruppe und dann den benutzerdefinierten Eintrag innerhalb der Eintragsgruppe. Weitere Informationen finden Sie unter Einträge und Eintragsgruppen.
Nachdem Sie einen Eintrag erstellt haben, können Sie IAM-Richtlinien für die Eintragsgruppe festlegen, um zu definieren, wer Zugriff auf die Eintragsgruppe und die darin enthaltenen Einträge hat.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Data Catalog-Kurzanleitung mit Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Data Catalog Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Data Catalog zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Node.js in der Data Catalog-Kurzanleitung mit Clientbibliotheken. Weitere Informationen finden Sie in der Data Catalog Node.js API Referenzdokumentation.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Data Catalog zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Data Catalog-Kurzanleitung mit Clientbibliotheken. Weitere Informationen finden Sie in der Data Catalog Python API Referenzdokumentation.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Data Catalog zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST UND BEFEHLSZEILE
REST
Sehen Sie sich die folgenden Beispiele an sowie die Data Catalog REST API-Dokumentation entryGroups.create und entryGroups.entries.create.
1 Eintragsgruppe erstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project-id: Ihre Google Cloud-Projekt-ID
- entryGroupId: Die ID muss mit einem Buchstaben oder Unterstrich beginnen, darf nur lateinische Buchstaben, Zahlen und Unterstriche enthalten und darf höchstens 64 Zeichen umfassen.
- displayName: Der Textname für die Eintragsgruppe.
HTTP-Methode und URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups?entryGroupId=entryGroupId
JSON-Text anfordern:
{ "displayName": "Entry Group display name" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/my_projectid/locations/us-central1/entryGroups/my_entry_group", "displayName": "Entry Group display name", "dataCatalogTimestamps": { "createTime": "2019-10-19T16:35:50.135Z", "updateTime": "2019-10-19T16:35:50.135Z" } }
2. Benutzerdefinierten Eintrag innerhalb der Eintragsgruppe erstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- project_id: Ihre Google Cloud-Projekt-ID.
- entryGroupId: ID der vorhandenen entryGroup. Der Eintrag wird in dieser Eintragsgruppe erstellt.
- entryId: ID des neuen Eintrags. Die ID muss mit einem Buchstaben oder Unterstrich beginnen, darf nur lateinische Buchstaben, Zahlen und Unterstriche enthalten und darf höchstens 64 Zeichen umfassen.
- description: Optionale Beschreibung des Eintrags.
- displayName: Optionaler Textname für den Eintrag.
- userSpecifiedType: Benutzerdefinierter Typname. Der Typname muss mit einem Buchstaben oder Unterstrich beginnen, darf nur Buchstaben, Zahlen und Unterstriche enthalten und darf höchstens 64 Zeichen enthalten.
- userSpecifiedSystem: Das Nicht-Google Cloud-Quellsystem des Eintrags, das nicht in Data Catalog eingebunden ist. Der Name des Quellsystems muss mit einem Buchstaben oder Unterstrich beginnen, darf nur Buchstaben, Zahlen und Unterstriche enthalten und darf höchstens 64 Zeichen enthalten.
- linkedResource: Optionaler vollständiger Name der Ressource, auf die sich der Eintrag bezieht.
- schema: Optionales Datenschema.Beispiel für ein JSON-Schema:
{ ... "schema": { "columns": [ { "column": "first_name", "description": "First name", "mode": "REQUIRED", "type": "STRING" }, { "column": "last_name", "description": "Last name", "mode": "REQUIRED", "type": "STRING" }, { "column": "address", "description": "Address", "mode": "REPEATED", "subcolumns": [ { "column": "city", "description": "City", "mode": "NULLABLE", "type": "STRING" }, { "column": "state", "description": "State", "mode": "NULLABLE", "type": "STRING" } ], "type": "RECORD" } ] } ... }
HTTP-Methode und URL:
POST https://datacatalog.googleapis.com/v1/projects/project_id/locations/region/entryGroups/entryGroupId/entries?entryId=entryId
JSON-Text anfordern:
{ "description": "Description", "displayName": "Display name", "userSpecifiedType": "my_type", "userSpecifiedSystem": "my_system", "linkedResource": "example.com/def", "schema": { schema } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/my_project_id/locations/us-central1/entryGroups/my_entryGroup_id/entries/my_entry_id", "userSpecifiedType": "my-type", "userSpecifiedSystem": "my_system", "displayName": "On-prem entry", "description": "My entry description.", "schema": { "columns": [ { "type": "STRING", "description": "First name", "mode": "REQUIRED", "column": "first_name" }, { "type": "STRING", "description": "Last name", "mode": "REQUIRED", "column": "last_name" }, { "type": "RECORD", "description": "Address", "mode": "REPEATED", "column": "address", "subcolumns": [ { "type": "STRING", "description": "City", "mode": "NULLABLE", "column": "city" }, { "type": "STRING", "description": "State", "mode": "NULLABLE", "column": "state" } ] } ] }, "sourceSystemTimestamps": { "createTime": "2019-10-23T23:11:26.326Z", "updateTime": "2019-10-23T23:11:26.326Z" }, "linkedResource": "example.com/def" }