Per integrare le tue origini dati personalizzate, chiama le API Data Catalog che ti consentono di creare e gestire voci di Data Catalog con tipi di risorse dati personalizzati. In questo documento, una voce per un tipo di risorsa di dati personalizzato è denominata "voce personalizzata".
Crea gruppi di voci e voci personalizzate
Le voci personalizzate devono essere inserite all'interno di un gruppo di voci creato dall'utente. Crea il gruppo di voci, quindi crea la voce personalizzata all'interno del gruppo di voci. 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 e alle voci al suo interno.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura le 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 per la configurazione di Node.js nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura le 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 per la configurazione di Python nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Data Catalog.
Per eseguire l'autenticazione in Data Catalog, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
LINEA REST e CMD
REST
Consulta i seguenti esempi e fai riferimento alla documentazione dell'API REST 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 dell'alfabeto latino, numeri e trattini bassi e contenere al massimo 64 caratteri.
- displayName: il nome testuale del 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 delle seguenti 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 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 al massimo 64 caratteri.
- description: descrizione facoltativa della voce
- 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, contenere solo lettere, numeri e trattini bassi e contenere 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, contenere solo lettere, numeri e trattini bassi e contenere al massimo 64 caratteri.
- linkedResource: nome completo facoltativo della risorsa a cui fa riferimento la voce.
- schema: schema dei dati facoltativo.
Esempio di schema JSON:
{ ... "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 delle seguenti 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" }