Questo documento descrive come creare voci di Data Catalog personalizzate. 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 personalizzati. In questo documento, una voce per un tipo di risorsa di dati personalizzata è indicata come "voce personalizzata".
Creare gruppi di voci e voci personalizzate
Le voci personalizzate devono essere inserite in un gruppo di voci creato dall'utente. Devi creare il gruppo di voci, quindi la voce personalizzata al suo interno. Per ulteriori informazioni, consulta Voce e gruppi di voci.
Dopo aver creato una voce, puoi impostare i criteri IAM sul gruppo di voci per definire chi ha accesso al gruppo e alle voci al suo interno.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida all'utilizzo di Data Catalog con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Data Catalog Java.
Per autenticarti 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 di configurazione di Node.js riportate nella guida rapida all'utilizzo di Data Catalog con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Data Catalog Node.js.
Per autenticarti 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 di configurazione di Python riportate nella guida rapida all'utilizzo di Data Catalog con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Data Catalog Python.
Per autenticarti in Data Catalog, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST e riga di comando
REST
Consulta gli esempi riportati di seguito e fai riferimento alla documentazione dell'API REST di Data Catalog per le chiamate entryGroups.create e entryGroups.entries.create.
1. Creare un gruppo di voci
Prima di utilizzare i dati della richiesta, apporta 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, numeri e trattini bassi in inglese ed essere composto da massimo 64 caratteri.
- displayName: Il nome 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 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. Creare una voce personalizzata all'interno del gruppo di voci
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- project_id: l'ID del tuo progetto Google Cloud.
- entryGroupId: ID dell'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, numeri e trattini bassi in inglese e avere al massimo 64 caratteri.
- description: Descrizione facoltativa della voce
- displayName: Nome facoltativo della 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 fa riferimento la voce.
- schema:
Schema di 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" }