Datastream API memungkinkan Anda membuat dan mengelola profil koneksi secara terprogram yang menyimpan informasi autentikasi dan konektivitas untuk sumber dan tujuan Anda. Anda dapat melakukan panggilan REST API atau menggunakan Google Cloud CLI. Misalnya, Anda dapat membuat profil untuk sumber Oracle, MySQL, PostgreSQL, SQL Server, Salesforce, dan MongoDB, serta untuk tujuan BigQuery dan Cloud Storage.
Anda juga dapat mengambil, mencantumkan,
memperbarui, atau
menghapus profil koneksi dan menemukan
struktur database sumber. Untuk mengetahui detail referensi perintah,
lihat gcloud datastream
connection-profiles.
Untuk panduan menyeluruh, lihat Menggunakan Datastream API.
Membuat profil koneksi untuk database Oracle sumber
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk database Oracle menggunakan secret dan metode konektivitas daftar IP yang diizinkan.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "oracleProfile": { "hostname": "HOST_ID_ADDRESS", "port": PORT, "username": "USERNAME", "databaseService": "DATABASE", "secretManagerStoredPassword": "SECRET_MANAGER_RESOURCE" }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myOracleCP { "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "username": "admin", "databaseService": "ORCL", "secretManagerStoredPassword": "projects/myProjectId/secrets/mySecret/versions/latest" }, "staticServiceIpConnectivity": {} }
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk database Oracle, dan menentukan metode konektivitas sebagai konektivitas pribadi (peering VPC).
Metode ini membuat konektivitas yang aman antara Datastream dan database sumber (secara internal dalam Google Cloud, atau dengan sumber eksternal yang terhubung melalui VPN atau Interconnect). Komunikasi ini terjadi melalui koneksi peering VPC.
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "oracleProfile": { "hostname": "HOST_ID_ADDRESS", "port": PORT, "username": "USERNAME", "password": "PASSWORD", "databaseService": "DATABASE" }, "privateConnectivity": { "privateConnection": "projects/PROJECT_ID/locations/ LOCATION/privateConnections/[private-connectivity-configuration-id]" } }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myOracleVPCPeeringCP { "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "username": "admin", "password": "12345", "databaseService": "ORCL", }, "privateConnectivity": { "privateConnection": "projects/myProjectId/locations/us-central1/ privateConnections/myPrivateConnection" } }
Setelah profil koneksi dibuat, Anda dapat melihat informasi tentang profil tersebut dengan memanggil metode connectionProfiles/get. Output Anda akan muncul, mirip dengan berikut ini:
{ "name": "projects/projectId/location/us-central1/connectionProfiles/myOracleVPCPeeringCP", "createTime": "2019-12-22T16:17:37.159786963Z", "updateTime": "2019-12-22T16:17:37.159786963Z", "displayName": "my Oracle database", "oracleProfile": { "hostname": "1.2.3.4", "port": 1521, "databaseService": "ORCL", "username": "admin" }, "privateConnectivity": { "privateConnection": "projects/myProjectId/locations/us-central1/ privateConnections/myPrivateConnection" } }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud guna membuat profil koneksi untuk database Oracle sumber, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk database MySQL sumber
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk database MySQL, dan menentukan metode konektivitas menggunakan alamat IP statis (daftar IP yang diizinkan).
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "mysqlProfile": { "hostname": "HOST_ID_ADDRESS", "port": PORT, "username": "USERNAME", "password": "PASSWORD" }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=mysql-cp { "displayName": "my MySQL database", "mysqlProfile": { "hostname": "1.2.3.4", "port": 3306, "username": "root", "password": "12345" }, "staticServiceIpConnectivity": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi untuk database MySQL sumber, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk database PostgreSQL sumber
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk database PostgreSQL.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "postgresqlProfile": { "hostname": "HOST_ID_ADDRESS", "port": PORT, "username": "USERNAME", "password": "PASSWORD", "database": "DATABASE" }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=postgres-cp { "displayName": "my PostgreSQL database", "postgresqlProfile": { "hostname": "1.2.3.4", "database": "postgres", "port": 5432, "username": "root", "password": "12345" }, "staticServiceIpConnectivity": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk database SQL Server sumber
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk database SQL Server, dan menentukan metode konektivitas sebagai penggunaan alamat IP statis (daftar IP yang diizinkan).
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "[connection-profile-display-name]", "sqlserverProfile": { "hostname": "HOST_ID_ADDRESS", "port": PORT, "username": "USERNAME", "password": "PASSWORD", "database": "DATABASE" }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=sqlserver-cp { "displayName": "my SQL Server database", "sqlserverProfile": { "hostname": "1.2.3.4", "port": 1433, "username": "root", "password": "12345" "database": "database1" }, "staticServiceIpConnectivity": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk sumber Salesforce
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk instance Salesforce sumber menggunakan nama pengguna dan sandi sebagai metode autentikasi.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME", "salesforceProfile": { "domain": "DOMAIN_NAME", "userCredentials": { "username": "USERNAME", "password": "PASSWORD", "securitytoken": "SECURITY_TOKEN" } } }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=saleforce-cp { "displayName": "My Salesforce connection profile", "salesforceProfile": { "domain": "domain.my.salesforce.com", "userCredentials": { "username": "mySalesforceUser", "password": "12345", "securitytoken": "C08120F510542FFB1C3640F57AF19E2D5D700556A25F7D665C3B428407709D8C" } } }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk instance Salesforce sumber menggunakan kredensial klien OAuth 2.0 sebagai metode autentikasi.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME", "salesforceProfile": { "domain": "DOMAIN_NAME", "oauth2ClientCredentials": { "clientId": "CLIENT_ID", "clientSecret": "CLIENT_SECRET" } } }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=saleforce-cp { "displayName": "My Salesforce connection profile", "salesforceProfile": { "domain": "domain.my.salesforce.com", "oauth2ClientCredentials": { "clientId": "myClientId", "clientSecret": "projects/myProject/secrets/sf-client-secret" } } }
gcloud
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk sumber MongoDB
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk instance MongoDB sumber menggunakan format string koneksi SRV.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME", "mongodbProfile": { "hostAddresses": [ { "hostname": "HOST_URI" } ], "username": "USERNAME", "password": "PASSWORD", "srvConnectionFormat": {} }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=mongodb-cp { "displayName": "mongodb-cp", "mongodbProfile": { "hostAddresses": [ { "hostname": "cluster85828.ebeek.mongodb.net" } ], "username": "Cluster85828", "password": "password", "srvConnectionFormat": {} }, "staticServiceIpConnectivity": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk instance MongoDB sumber menggunakan format string koneksi standar.
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "CONNECTION_PROFILE_NAME", "mongodbProfile": { "hostAddresses": [ { "hostname": "HOST_IP", "port": "PORT_NUMBER" } ], "replica_set": "SET_ID", "username": "USERNAME", "password": "PASSWORD", "standardConnectionFormat": { "directConnection": false } }, "staticServiceIpConnectivity": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=mongodb-cp { "displayName": "mongodb-cp", "mongodbProfile": { "hostAddresses": [ { "hostname": "34.19.10.194", "port": "27017" } ], "replicaset": "rs0", "username": "root", "password": "password", "standardConnectionFormat": { "directConnection": false } }, "staticServiceIpConnectivity": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk tujuan BigQuery
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk tujuan BigQuery.
REST
POST https://datastream.googleapis.com/v1/projects/[project-id/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "connection-profile-display-name", "bigqueryProfile": {} }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myBigqueryCP { "displayName": "my BigQuery destination", "bigqueryProfile": {} }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk membuat profil koneksi, lihat dokumentasi Google Cloud SDK.
Membuat profil koneksi untuk tujuan Cloud Storage
Kode berikut menunjukkan permintaan untuk membuat profil koneksi untuk bucket Cloud Storage. Karena Cloud Storage berada dalam jaringan yang sama dengan Datastream, tidak diperlukan konektivitas khusus. Oleh karena itu, tidak ada metode konektivitas yang ditentukan.
REST
POST https://datastream.googleapis.com/v1/projects/[project-id/locations/ LOCATION/connectionProfiles?connectionProfileId=CONNECTION_PROFILE_ID { "displayName": "connection-profile-display-name", "gcsProfile": { "bucket": "bucket-name", "rootPath": "prefix-inside-bucket" } }
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles?connectionProfileId=myGcsCP { "displayName": "my Cloud Storage bucket", "gcsProfile": { "bucket": "myBucket", "rootPath": "prefix-inside-bucket" } }
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud guna membuat profil koneksi untuk Cloud Storage, lihat dokumentasi Cloud SDK.
Mendapatkan informasi tentang profil koneksi
Kode berikut menunjukkan permintaan untuk mengambil informasi tentang profil koneksi untuk database Oracle sumber, database MySQL sumber, tujuan BigQuery, atau tujuan Cloud Storage yang telah dibuat.
REST
GET https://datastream.googleapis.com/v1/projects/project-id/locations/ LOCATION/connectionProfiles/CONNECTION_PROFILE_ID
Contoh:
GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk mengambil informasi tentang profil koneksi Anda, lihat dokumentasi Google Cloud SDK.
Melihat daftar profil koneksi
Kode berikut menunjukkan permintaan untuk mengambil informasi tentang semua profil koneksi Anda.
REST
GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles
gcloud
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud untuk mengambil informasi tentang semua profil koneksi Anda, lihat dokumentasi Google Cloud SDK.
Memperbarui profil koneksi
Kode berikut menunjukkan permintaan untuk mengubah nama pengguna dan sandi profil koneksi yang ada untuk database sumber.
Dengan menggunakan parameter updateMask dalam permintaan, hanya kolom yang Anda tentukan yang harus disertakan dalam isi permintaan (untuk contoh ini, kolom username dan password, yang masing-masing diwakili oleh flag oracle_profile.username dan oracle_profile.password).
REST
PATCH https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles/CONNECTION_PROFILE_ID? updateMask=oracle_profile.username,oracle_profile.password { "oracleProfile": { "username": "USERNAME", "password": "PASSWORD" } }
Contoh:
PATCH https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP? updateMask=oracle_profile.username,oracle_profile.password { "oracleProfile": { "username": "username", "password": "password" } }
Kode berikut menunjukkan permintaan untuk mengubah konfigurasi konektivitas pribadi yang ditetapkan ke profil koneksi. Profil koneksi ini menggunakan metode konektivitas jaringan peering VPC.
Untuk contoh ini, Anda menetapkan konfigurasi new_private_connection ke profil koneksi.
PATCH -d {\"private_connectivity\":{\"private_connection\":\ "projects/PROJECT_ID/locations/LOCATION/privateConnections/ new_private_connection\"}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/v1/ projects/PROJECT_ID/locations/LOCATION/connectionProfiles/ CONNECTION_PROFILE_ID?update_mask=private_connectivity.private_connection
Contoh:
PATCH -d {\"private_connectivity\":{\"private_connection\":\ "projects/myProjectId/locations/us-central1/privateConnections/ new_private_connection\"}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/v1/projects/ myProjectId/locations/us-central1/connectionProfiles/ myOracleVPCPeeringCP?update_mask=private_connectivity.private_connection
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk memperbarui profil koneksi, lihat dokumentasi Google Cloud SDK.
Menghapus profil koneksi
Kode berikut menunjukkan permintaan untuk menghapus profil koneksi. Setelah profil koneksi dihapus, semua aliran data yang menggunakannya akan gagal.
REST
DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles/CONNECTION_PROFILE_ID
Contoh:
DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles/myOracleCP
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk menghapus profil koneksi, lihat dokumentasi Google Cloud SDK.
Menemukan struktur database sumber
Gunakan discoverConnectionProfile API untuk mengambil daftar entity (misalnya, skema dan tabel) dari sumber, dan metadata yang terkait dengan entity tersebut.
API dapat menerima ID profil koneksi yang ada atau definisi objek profil koneksi lengkap sebagai parameter. Fungsi ini dapat menampilkan satu level (misalnya, semua skema dalam database atau semua tabel dalam skema), atau semua entity secara rekursif (misalnya, skema, tabel, dan kolom).
REST
POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/connectionProfiles:discoverConnectionProfile?CONNECTION_PROFILE_ID
Contoh:
POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/ us-central1/connectionProfiles:discoverConnectionProfile?myOracleCP
gcloud
Untuk mengetahui informasi selengkapnya tentang cara menggunakan gcloud untuk menemukan struktur database sumber, lihat dokumentasi Google Cloud SDK.
Langkah berikutnya
- Pelajari cara menggunakan Datastream API untuk mengelola aliran data.
- Pelajari cara menggunakan Datastream API untuk mengelola konfigurasi konektivitas pribadi.
- Untuk mengetahui informasi selengkapnya tentang cara menggunakan Datastream API, lihat dokumentasi referensi.