Per integrare le origini dati personalizzate, chiama le API Data Catalog che ti consentono di creare e gestire le voci di Data Catalog con tipi di risorse dati personalizzate. In questo documento, la voce di un tipo di risorsa di dati personalizzata è denominata "voce personalizzata".
Creare gruppi di voci e voci personalizzate
Le voci personalizzate devono essere inserite all'interno di un gruppo di voci creato dall'utente. Crei il gruppo di voci e poi crei la voce personalizzata all'interno del gruppo. Per ulteriori informazioni, consulta Voci e gruppi di voci.
Dopo aver creato una voce, puoi impostare i criteri IAM sul gruppo di voci per definire chi può accedere al gruppo di voci e alle voci al suo interno.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js disponibili nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python disponibili nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
LINEA REST E CMD
REST
Consulta gli esempi seguenti e consulta la documentazione dell'API REST di Data Catalog entryGroups.create e entryGroups.entries.create.
1. Crea un gruppo di voci
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID del tuo progetto Google Cloud
- entryGroupId: l'ID deve iniziare con una lettera o un trattino basso, contenere solo lettere latine, numeri e trattini bassi e avere una lunghezza massima di 64 caratteri.
- displayName: il nome testuale per il gruppo di voci.
Metodo HTTP e URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups?entryGroupId=entryGroupId
Corpo JSON della richiesta:
{ "displayName": "Entry Group display name" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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. Crea una voce personalizzata all'interno del gruppo di voci
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project_id: l'ID del tuo progetto Google Cloud.
- entryGroupId: ID del gruppo entryGroup esistente. La voce verrà creata in questo EntryGroup.
- entryId: ID della nuova voce. L'ID deve iniziare con una lettera o un trattino basso, contenere solo lettere dell'alfabeto latino, numeri e trattini bassi e avere un massimo di 64 caratteri.
- description: descrizione della voce facoltativa
- displayName: nome testuale facoltativo per la voce.
- userSpecifiedType: nome del tipo personalizzato. Il nome del tipo deve iniziare con una lettera o un trattino basso, deve contenere solo lettere, numeri e trattini bassi e deve avere al massimo 64 caratteri.
- userSpecifiedSystem: il sistema di origine non Google Cloud della voce, che non è integrato con Data Catalog. Il nome del sistema di origine deve iniziare con una lettera o un trattino basso, deve contenere solo lettere, numeri e trattini bassi e deve avere al massimo 64 caratteri.
- linkedResource: nome completo facoltativo della risorsa a cui si riferisce la voce.
- schema:
schema dei dati facoltativo.
Schema JSON di esempio:
{ ... "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" } ] } ... }
Metodo HTTP e URL:
POST https://datacatalog.googleapis.com/v1/projects/project_id/locations/region/entryGroups/entryGroupId/entries?entryId=entryId
Corpo JSON della richiesta:
{ "description": "Description", "displayName": "Display name", "userSpecifiedType": "my_type", "userSpecifiedSystem": "my_system", "linkedResource": "example.com/def", "schema": { schema } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" }