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 yang dibuat pengguna. Anda akan membuat grup entri, lalu membuat entri kustom dalam grup entri tersebut. Untuk informasi selengkapnya, lihat Entri dan grup entri.
Setelah membuat entri, Anda dapat menetapkan kebijakan IAM pada 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 Katalog Data menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Data Catalog Java.
Untuk mengautentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Katalog Data menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Data Catalog Node.js.
Untuk mengautentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Katalog Data menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Data Catalog Python.
Untuk mengautentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
BARIS REST & CMD
REST
Lihat contoh berikut dan lihat dokumentasi entryGroups.create dan entryGroups.entries.create REST API Data Catalog.
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 berisi 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, dan berisi 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, serta harus memiliki 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, serta harus memiliki 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" }