Dokumen ini menjelaskan cara membuat entri Katalog Data kustom. Untuk mengintegrasikan sumber data kustom, panggil Data Catalog API yang memungkinkan Anda membuat dan mengelola entri Data Catalog dengan jenis resource data kustom. Dalam dokumen ini, entri untuk jenis resource data kustom disebut sebagai "entri kustom".
Membuat grup entri dan entri kustom
Entri kustom harus ditempatkan dalam grup entri buatan pengguna. Anda membuat grup entri, lalu membuat entri kustom dalam grup entri. Untuk informasi selengkapnya, lihat Entri dan grup entri.
Setelah membuat entri, Anda dapat menetapkan kebijakan IAM di grup entri untuk menentukan siapa yang memiliki akses ke grup entri dan entri di dalamnya.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Katalog Data.
Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Katalog Data.
Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Katalog Data.
Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST & CMD LINE
REST
Lihat contoh berikut dan lihat dokumentasi Data Catalog REST API entryGroups.create dan entryGroups.entries.create.
1. Membuat grup entri
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID Project Google Cloud Anda
- entryGroupId: ID harus diawali dengan huruf atau garis bawah, hanya berisi huruf, angka, dan garis bawah dalam bahasa Inggris, dan maksimal 64 karakter.
- displayName: Nama tekstual untuk grup entri.
Metode HTTP dan URL:
POST https://datacatalog.googleapis.com/v1/projects/project-id/locations/region/entryGroups?entryGroupId=entryGroupId
Meminta isi JSON:
{ "displayName": "Entry Group display name" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "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. Membuat entri kustom dalam grup entri
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project_id: ID project Google Cloud Anda.
- entryGroupId: ID entryGroup yang ada. Entri akan dibuat di EntryGroup ini.
- entryId: ID entri baru. ID harus diawali dengan huruf atau garis bawah, hanya berisi huruf, angka, dan garis bawah dalam bahasa Inggris, serta memiliki maksimal 64 karakter.
- description: Deskripsi entri opsional
- displayName: Nama tekstual opsional untuk entri.
- userSpecifiedType: Nama jenis kustom. Nama jenis harus diawali dengan huruf atau garis bawah, hanya boleh berisi huruf, angka, dan garis bawah, dan maksimal 64 karakter.
- userSpecifiedSystem: Sistem sumber non-Google Cloud entri, yang tidak terintegrasi dengan Data Catalog. Nama sistem sumber harus diawali dengan huruf atau garis bawah, hanya boleh berisi huruf, angka, dan garis bawah, dan maksimal 64 karakter.
- linkedResource: Nama lengkap opsional resource yang dirujuk entri.
- schema:
Skema data opsional.
Contoh skema 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" } ] } ... }
Metode HTTP dan URL:
POST https://datacatalog.googleapis.com/v1/projects/project_id/locations/region/entryGroups/entryGroupId/entries?entryId=entryId
Meminta isi JSON:
{ "description": "Description", "displayName": "Display name", "userSpecifiedType": "my_type", "userSpecifiedSystem": "my_system", "linkedResource": "example.com/def", "schema": { schema } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "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" }