Menggunakan Datastream API

Datastream

Ringkasan

Untuk bisnis dengan banyak sumber data terpisah, akses ke data perusahaan di seluruh organisasi, terutama secara real-time, bisa menjadi sulit. Hal ini mengakibatkan dunia berupa akses data yang terbatas dan lambat, sehingga menghambat kemampuan organisasi untuk mengintrospeksi.

Datastream menyediakan akses yang mendekati real-time untuk mengubah data dari berbagai sumber data lokal dan berbasis cloud untuk membuat akses ke data organisasi. Datastream menyediakan pengalaman penyiapan yang sederhana dan API konsumsi terpadu yang mendemokrasikan akses organisasi ke data perusahaan terbaru yang tersedia di seluruh organisasi, sehingga mendukung skenario terintegrasi yang mendekati real-time.

Salah satu skenario tersebut adalah mentransfer data dari database sumber ke layanan penyimpanan berbasis Cloud atau antrean pesan dan mengubah data ini menjadi formulir yang dapat dibaca oleh aplikasi dan layanan lain yang berkomunikasi dengan layanan penyimpanan atau antrean pesan ini.

Dalam tutorial ini, Anda akan mempelajari cara menggunakan Datastream untuk mentransfer skema, tabel, dan data dari database Oracle sumber ke dalam folder di bucket Cloud Storage. Cloud Storage adalah layanan web untuk menyimpan dan mengakses data di Google Cloud. Layanan ini menggabungkan performa dan skalabilitas cloud Google dengan kemampuan keamanan dan berbagi yang canggih.

Sebagai bagian dari transfer informasi ini ke dalam folder di bucket Cloud Storage tujuan, Datastream menerjemahkan informasi ini ke Avro. Avro ditentukan oleh skema yang ditulis dalam JavaScript Object Notation (JSON). Dengan penerjemahan ini, Anda dapat membaca data dari berbagai sumber data dengan cara yang sama.

Tujuan

Dalam tutorial ini, Anda akan mempelajari cara:

  • Menetapkan variabel lingkungan. Anda akan menggunakan variabel ini saat membuat permintaan ke Datastream untuk membuat serta mengelola profil koneksi dan stream.
  • Membuat dan mengelola profil koneksi untuk database sumber dan bucket tujuan di Cloud Storage. Dengan membuat profil koneksi ini, Anda akan membuat record yang berisi informasi tentang database sumber dan bucket Cloud Storage tujuan. Aliran data di Datastream menggunakan informasi dalam profil koneksi untuk mentransfer data dari database sumber ke folder di bucket tujuan.
  • Membuat dan mengelola streaming. Datastream menggunakan aliran ini untuk mentransfer data, skema, dan tabel dari database sumber ke dalam folder di bucket tujuan.
  • Pastikan Datastream mentransfer data dan tabel yang terkait dengan skema database Oracle sumber ke dalam folder di bucket tujuan, dan menerjemahkan data ini ke dalam format file Avro.
  • Bersihkan resource yang Anda buat di Datastream agar tidak menghabiskan kuota dan Anda tidak akan ditagih di masa mendatang.

Biaya

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

  • Cloud Storage

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  6. Aktifkan Datastream API.

    Mengaktifkan API

  7. Pastikan Anda memiliki peran Admin Datastream yang ditetapkan ke akun pengguna.

    Buka halaman IAM

  8. Pastikan Anda memiliki database sumber yang dapat diakses Datastream. Untuk tutorial ini, database Oracle digunakan sebagai sumber.
  9. Konfigurasikan database sumber Anda untuk mengizinkan koneksi masuk dari alamat IP publik Datastream. Lihat daftar dan region IP yang diizinkan untuk mengakses lokasi semua region Datastream dan alamat IP publik terkaitnya.
  10. Pastikan Anda telah mengonfigurasi bucket Cloud Storage tujuan yang dapat diakses Datastream menggunakan daftar yang diizinkan IP, meneruskan tunnel SSH, atau metode konektivitas jaringan peering VPC.
  11. Pastikan Anda memiliki data, tabel, dan skema di database sumber yang dapat ditransfer Datastream ke dalam folder di bucket Cloud Storage tujuan.
  12. Download dan instal Cloud Shell. Aplikasi klien ini memberi Anda akses command line ke resource cloud (termasuk Datastream).
  13. Instal dan konfigurasikan utilitas jq. Utilitas ini merupakan pemroses JSON command line yang ringan dan fleksibel. Anda akan menggunakan prosesor ini untuk menampilkan perintah cURL yang kompleks dalam teks yang mudah dibaca.

Menyetel variabel lingkungan

Dalam prosedur ini, Anda akan menetapkan variabel berikut:

  • $PROJECT: Variabel ini dikaitkan dengan project Google Cloud Anda. Setiap resource Google Cloud yang Anda alokasikan dan gunakan harus menjadi milik project.
  • $TOKEN: Variabel ini dikaitkan dengan token akses. Token akses menyediakan sesi yang digunakan Cloud Shell untuk melakukan tugas di Datastream menggunakan REST API.
  1. Luncurkan aplikasi Cloud Shell Anda.

  2. Setelah mengautentikasi ke aplikasi dengan Akun Google Anda, masukkan gcloud auth login.

  3. Pada perintah Do you want to continue (Y/n)?, masukkan Y.

  4. Buka browser web dan salin URL ke browser tersebut.

  5. Lakukan autentikasi ke Google Cloud SDK dengan Akun Google Anda. Kode akan muncul di halaman Login. Kode ini adalah token akses Anda.

  6. Salin token akses, tempelkan ke parameter Enter verification code: di aplikasi Cloud Shell, dan tekan Enter.

  7. Saat diminta, masukkan PROJECT="YOUR_PROJECT_NAME" untuk menetapkan variabel lingkungan $PROJECT ke project Google Cloud Anda.

  8. Ketika diminta, masukkan gcloud config set project YOUR_PROJECT_NAME untuk menetapkan project yang ingin Anda kerjakan ke project Google Cloud Anda.

    Command prompt Anda akan diperbarui untuk mencerminkan project yang aktif dan mengikuti format berikut: USERNAME@cloudshell:~ (YOUR_PROJECT_NAME)$

  9. Saat diminta, masukkan TOKEN=$(gcloud auth print-access-token) untuk mengambil token akses dan menyimpannya sebagai variabel.

  10. Saat diminta, masukkan perintah berikut untuk memastikan variabel $PROJECT dan $TOKEN Anda ditetapkan dengan benar:

    • echo $PROJECT
    • echo $TOKEN

Setelah menetapkan variabel, Anda dapat membuat permintaan ke Datastream untuk membuat dan mengelola profil koneksi dan aliran data.

Membuat dan mengelola profil koneksi

Di bagian ini, Anda akan membuat dan mengelola profil koneksi untuk database Oracle sumber dan bucket tujuan di Cloud Storage.

Saat membuat profil koneksi ini, Anda akan membuat record yang berisi informasi tentang database sumber dan bucket Cloud Storage tujuan. Datastream menggunakan informasi dalam profil koneksi untuk mentransfer data dari database sumber ke folder di bucket tujuan.

Membuat dan mengelola profil koneksi mencakup:

  • Membuat profil koneksi untuk database Oracle sumber dan bucket tujuan di Cloud Storage
  • Mengambil informasi tentang profil koneksi
  • Memodifikasi profil koneksi
  • Melakukan panggilan API penemuan di profil koneksi Oracle sumber. Panggilan ini memungkinkan Anda melihat ke dalam database untuk mengetahui objek yang terkait dengannya. Objek ini mencakup skema dan tabel yang berisi data {i>database<i}. Saat menggunakan Datastream untuk mengonfigurasi aliran data, Anda mungkin tidak ingin menarik semua objek dari database, melainkan subset objek (misalnya, hanya tabel dan skema tertentu dari database). Gunakan find API untuk membantu Anda menemukan (atau menemukan) subset objek database yang ingin Anda tarik.

Membuat profil koneksi

Dalam prosedur ini, Anda akan membuat dua profil koneksi: satu ke database Oracle sumber dan satu lagi ke bucket tujuan di Cloud Storage.

  1. Buat profil koneksi ke database Oracle sumber. Saat diminta, masukkan perintah berikut:
ORACLE="{\"displayName\":\"DISPLAY_NAME\",\"oracle_profile\":{\"hostname\":\"HOSTNAME\",\"username\":\"USERNAME\",\"password\":\"PASSWORD\",\"database_service\":\"DATABASE_SERVICE\",\"port\":"PORT_NUMBER\"},\"no_connectivity\":{}}"
  

Gunakan tabel berikut untuk membantu Anda memahami nilai parameter untuk database Oracle sumber:

Nilai parameterGanti dengan
DISPLAY_NAMENama tampilan profil koneksi ke database sumber.
HOSTNAMENama host server database sumber.
USERNAMENama pengguna akun untuk database sumber (misalnya, ROOT).
PASSWORDSandi akun untuk database sumber.
DATABASE_SERVICELayanan yang memastikan bahwa database sumber dilindungi dan dipantau. Untuk database Oracle, layanan database biasanya adalah ORCL.
PORT_NUMBERNomor port yang dicadangkan untuk database sumber. Untuk database Oracle, nomor port biasanya 1521.

  1. Saat diminta, masukkan perintah echo $ORACLE | jq untuk melihat profil koneksi sumber yang Anda buat dalam teks yang mudah dibaca.

    {
      "displayName": "DISPLAY_NAME",
      "oracle_profile": {
        "hostname": "HOSTNAME",
        "username": "USERNAME",
        "password": "PASSWORD",
        "database_service": "DATABASE_SERVICE",
        "port": PORT_NUMBER
       },
      "no_connectivity": {}
    }
    
  2. Kirimkan profil koneksi Oracle agar dapat dibuat. Saat diminta, masukkan perintah berikut:

    curl -X POST -d $ORACLE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles?connection_profile_id=SOURCE_CONNECTION_PROFILE_ID
    

    Gunakan tabel berikut untuk membantu Anda memahami parameter value untuk perintah ini:

    Nilai parameterGanti dengan
    DATASTREAM_API_VERSIONVersi Datastream API saat ini (misalnya, v1).
    PROJECT_PATHJalur lengkap project Google Cloud Anda (misalnya, projects/$PROJECT/locations/YOUR_PROJECT_LOCATION).
    SOURCE_CONNECTION_PROFILE_IDID unik yang disediakan untuk profil koneksi ini (misalnya, cp-1).
  3. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-SOURCE_CONNECTION_PROFILE_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "datastream.googleapis.com/DATASREAM_VERSION/PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  4. Membuat profil koneksi ke bucket tujuan di Cloud Storage. Saat diminta, masukkan perintah berikut:

    GOOGLECLOUDSTORAGE="{\"displayName\":\"DISPLAY_NAME\",\"gcs_profile\":{\"bucket_name\":\"BUCKET_NAME\",\"root_path\":\"/FOLDER_PATH\"},\"no_connectivity\":{}}"
    

    Gunakan tabel berikut untuk membantu Anda memahami nilai parameter untuk bucket tujuan:

    Nilai parameterGanti dengan
    DISPLAY_NAMENama tampilan profil koneksi ke bucket tujuan.
    BUCKET_NAMENama bucket tujuan.
    FOLDER_PATHFolder di bucket tujuan tempat Datastream akan mentransfer data dari database sumber (misalnya, /root/path).
  5. Saat diminta, masukkan perintah echo $GOOGLECLOUDSTORAGE | jq untuk melihat profil koneksi tujuan yang Anda buat dalam teks yang mudah dibaca.

    {
      "displayName": "DISPLAY_NAME",
      "gcs_profile": {
        "bucket_name": "BUCKET_NAME",
        "root_path": "/FOLDER_PATH"
      },
      "no_connectivity": {}
    }
    
  6. Kirimkan profil koneksi Cloud Storage agar dapat dibuat. Saat diminta, masukkan perintah berikut:

    curl -X POST -d $GOOGLECLOUDSTORAGE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles?connection_profile_id=DESTINATION_CONNECTION_PROFILE_ID
    
  7. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID",
      "metadata": {
        "@type": "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "datastream.googleapis.com/DATASTREAM_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  8. Pastikan kedua profil koneksi sudah dibuat. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles
    
  9. Pastikan Anda menerima dua hasil yang ditampilkan untuk profil koneksi sumber dan tujuan.

    {
      "connectionProfiles": [
        {
          "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
          "createTime": "DATE_AND_TIME_STAMP",
          "updateTime": "DATE_AND_TIME_STAMP",
          "displayName": "DISPLAY_NAME",
          "gcsProfile": {
            "bucketName": "BUCKET_NAME",
            "rootPath": "FOLDER_PATH"
          },
          "noConnectivity": {}
        },
       {
        "name": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "createTime": "DATE_AND_TIME_STAMP",
        "updateTime": "DATE_AND_TIME_STAMP",
        "displayName": "DISPLAY_NAME",
        "oracleProfile": {
          "hostname": "HOSTNAME",
          "port": PORT_NUMBER,
          "username": "USERNAME",
          "databaseService": "DATABASE_SERVICE"
        },
        "noConnectivity": {}
        }
      ]
    }
    

Mengelola profil koneksi

Dalam prosedur ini, Anda akan mengelola profil koneksi yang dibuat untuk database Oracle sumber dan bucket tujuan di Cloud Storage. Hal ini mencakup:

  • Mengambil informasi tentang profil koneksi Cloud Storage tujuan
  • Memodifikasi profil koneksi ini. Untuk tutorial ini, Anda akan mengubah folder bucket Cloud Storage tujuan menjadi /root/tutorial. Datastream mentransfer data dari database sumber ke folder ini.
  • Melakukan panggilan API penemuan di profil koneksi Oracle sumber
  1. Mengambil informasi tentang profil koneksi Cloud Storage tujuan. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID
    
  2. Pastikan Anda melihat informasi tentang profil koneksi ini.

    {
      "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "gcsProfile": {
        "bucketName": "BUCKET_NAME",
        "rootPath": "FOLDER_PATH"
      },
      "noConnectivity": {}
    }
    
  3. Ubah profil koneksi ini. Untuk melakukannya, pertama-tama, tetapkan variabel UPDATE. Variabel ini berisi nilai profil koneksi yang ingin Anda ubah. Untuk tutorial ini, Anda akan mengubah folder bucket tujuan menjadi /root/tutorial.

    Untuk menetapkan variabel, pada dialog, masukkan perintah berikut:

    UPDATE="{\"gcsProfile\":{\"rootPath\":\"/root/tutorial\"}}"
  4. Saat diminta, masukkan perintah berikut:

    curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID?update_mask=gcsProfile.rootPath
    
  5. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "verb": "update",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  6. Pastikan profil koneksi telah diubah. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID
    
  7. Pastikan folder bucket tujuan profil koneksi Cloud Storage sekarang adalah /root/tutorial.

    {
      "name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "gcsProfile": {
        "bucketName": "BUCKET_NAME",
        "rootPath": "/root/tutorial"
      },
      "noConnectivity": {}
    }
    
  8. Gunakan Datastream discovery API untuk menemukan skema dan tabel database Oracle sumber. Datastream menyediakan akses ke database ini melalui profil koneksi sumber.

    1. Temukan skema database Oracle. Saat diminta, masukkan perintah berikut:

      curl -X POST -d "{\"connection_profile_name\":\"projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID\", \"oracle_rdbms\":{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles:discover
      
    2. Pastikan Datastream mengambil semua skema database Anda.

    3. Ambil tabel skema di database Anda. Untuk tutorial ini, Anda akan menggunakan Discover API untuk mengambil tabel skema ROOT. Namun, Anda dapat menemukan tabel dari berbagai skema dalam database Anda.

      Saat diminta, masukkan perintah berikut:

    curl -X POST -d "{\"connection_profile_name\":\"projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID\", \"oracle_rdbms\":{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles:discover
    
    1. Pastikan Datastream mengambil semua tabel skema yang Anda tentukan (skema ROOT untuk tutorial ini).

Setelah membuat dan mengelola profil koneksi untuk database Oracle sumber dan bucket tujuan di Cloud Storage, Anda siap untuk membuat dan mengelola streaming di Datastream.

Membuat dan mengelola streaming

Di bagian ini, Anda akan membuat dan mengelola streaming. Datastream menggunakan aliran data ini untuk mentransfer data, skema, dan tabel dari database sumber ke dalam folder di bucket Cloud Storage tujuan.

Membuat dan mengelola streaming meliputi:

  • Memvalidasi streaming untuk memastikan bahwa streaming akan berhasil berjalan, dan bahwa semua pemeriksaan validasi lulus. Pemeriksaan ini mencakup:
    • Apakah sumber dikonfigurasi dengan benar untuk memungkinkan Datastream melakukan streaming data darinya.
    • Apakah streaming dapat terhubung ke sumber dan tujuan.
    • Konfigurasi streaming secara menyeluruh.
  • Membuat aliran data dengan daftar berikut:
    • Daftar yang diizinkan. Daftar ini menentukan tabel dan skema dalam database sumber yang dapat ditransfer Datastream ke dalam folder di bucket tujuan di Cloud Storage. Untuk tutorial ini, ini adalah folder /root/tutorial.
    • Daftar penolakan. Daftar ini menentukan tabel dan skema dalam database sumber yang dibatasi Datastream agar tidak ditransfer ke folder di bucket tujuan Cloud Storage.
  • Mengambil informasi tentang feed
  • Mengubah aliran data
  • Memulai aliran data agar Datastream dapat mentransfer data, skema, dan tabel dari database sumber ke dalam folder di bucket Cloud Storage tujuan.
  • Menggunakan Fetch Errors API untuk mendeteksi error yang terkait dengan streaming
  • Menjeda streaming. Saat aliran data dijeda, Datastream tidak akan menarik data baru dari database sumber ke dalam bucket tujuan.
  • Melanjutkan streaming yang dijeda agar Datastream dapat terus mentransfer data ke bucket tujuan.

Membuat stream

Dalam prosedur ini, Anda akan membuat streaming dari database Oracle sumber ke dalam folder di bucket Cloud Storage tujuan. Streaming yang Anda buat akan menyertakan daftar yang diizinkan dan daftar penolakan.

  1. Tetapkan variabel SCHEMAS. Variabel ini menentukan skema yang berisi data dan tabel yang Anda inginkan untuk diambil Datastream dari database sumber, lalu ditransfer ke folder /root/tutorial bucket tujuan Cloud Storage. Untuk tutorial ini, Anda akan menetapkan variabel SCHEMAS untuk dikaitkan dengan skema ROOT.

    Saat diminta, masukkan perintah berikut:

    SCHEMAS="{\"oracleSchemas\":[{\"schema\":\"ROOT\"}]}"
    
  2. Pada dialog, masukkan perintah echo $SCHEMAS | jq untuk melihat skema ROOT yang Anda tentukan untuk variabel ini dalam teks yang mudah dibaca.

  3. Buat streaming. Saat diminta, masukkan perintah berikut:

    STREAM="{\"display_name\":\"DISPLAY_NAME\",\"source_config\":{\"source_connection_profile_name\":\"PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",\"oracle_source_config\":{\"allowlist\":$SCHEMAS,\"rejectlist\":{}}},\"destination_config\":{\"destination_connection_profile_name\":\"PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID\",\"gcs_destination_config\":{\"file_rotation_mb\":5,\"file_rotation_interval\":{\"seconds\":15},\"avro_file_format\":{}},\"backfill_all\":{}}}"
    
  4. Saat diminta, masukkan perintah echo $STREAM | jq untuk melihat aliran data yang Anda buat dalam teks yang mudah dibaca.

    {
      "display_name": "DISPLAY_NAME",
      "source_config": {
        "source_connection_profile_name": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracle_source_config": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destination_config": {
        "destination_connection_profile_name": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "gcs_destination_config": {
          "file_rotation_mb": 5,
          "file_rotation_interval": {
            "seconds": 15
          },
          "avro_file_format": {}
        }
      },
      "backfill_all": {}
    }
    

    Gunakan tabel ini untuk membantu Anda memahami parameter streaming berikut:

    ParameterDeskripsi
    allowlistSkema, yang berisi tabel dan data, yang akan ditransfer dari database sumber ke folder bucket tujuan Cloud Storage. Untuk tutorial ini, semua tabel dan data dari skema ROOT (dan hanya skema ini) akan ditransfer ke folder /root/tutorial bucket tujuan.
    rejectlistSkema apa pun, yang berisi tabel dan data, yang tidak akan ditransfer ke folder bucket tujuan Cloud Storage. Untuk tutorial ini, nilai {} menandakan bahwa tidak ada tabel dan data dari database sumber yang akan dicegah agar tidak ditransfer ke bucket tujuan.
    file_rotation_mbUkuran (dalam MBytes) file yang berisi data yang ditransfer dari database sumber ke folder di bucket tujuan Cloud Storage. Untuk tutorial ini, karena data diambil dari database sumber, data ditulis ke dalam file berukuran 5 MB. Jika ada data yang melebihi ukuran ini, data tersebut akan disegmentasikan menjadi beberapa file berukuran 5 MB.
    file_rotation_intervalJumlah detik yang akan berlalu sebelum Datastream menutup file yang ada dalam folder bucket tujuan Cloud Storage dan membuka file lain untuk memuat data yang ditransfer dari database sumber. Untuk tutorial ini, interval rotasi file disetel ke 15 detik.
    avro_file_format

    Format file yang akan ditransfer Datastream dari database sumber ke folder bucket tujuan Cloud Storage. Untuk tutorial ini, Avro adalah format filenya.

    backfill_all

    Parameter ini dikaitkan dengan pengisian ulang historis. Dengan menetapkan parameter ini ke kamus kosong ({}), Datastream akan mengisi ulang:

    • Data historis, selain perubahan yang sedang berlangsung pada data, dari database sumber ke tujuan.
    • Skema dan tabel, dari sumber ke tujuan.
  5. Validasi streaming untuk memastikan bahwa streaming akan berhasil berjalan dan semua pemeriksaan validasi lulus. Saat diminta, masukkan perintah berikut:

    curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" "https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams?stream_id=STREAM_ID&validate_only=true"
    
  6. Pastikan Anda melihat baris kode {}. Hal ini menunjukkan bahwa streaming telah lulus semua pemeriksaan validasi dan tidak ada error yang dikaitkan dengan streaming tersebut.

  7. Kirim aliran data agar dapat dibuat. Saat diminta, masukkan perintah berikut:

    curl -X POST -d $STREAM -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams?stream_id=STREAM_ID
    
  8. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  9. Pastikan bahwa streaming telah dibuat. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams
    
  10. Pastikan Anda menerima hasil yang ditampilkan untuk streaming yang Anda buat.

    {
      "streams": [
        {
          "name": "PROJECT_PATH/streams/STREAM_ID",
          "createTime": "DATE_AND_TIME_STAMP",
          "updateTime": "DATE_AND_TIME_STAMP",
          "displayName": "DISPLAY_NAME",
          "sourceConfig": {
            "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
            "oracleSourceConfig": {
              "allowlist": {
                "oracleSchemas": [
                  {
                    "schema": "ROOT"
                  }
                ]
              },
              "rejectlist": {}
            }
          },
          "destinationConfig": {
            "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
          "gcsDestinationConfig": {
              "fileRotationMb": 5,
              "fileRotationInterval": "15s"
              "avroFileFormat": {}
            }
          },
          "state": "CREATED",
          "backfillAll": {}
        }
      ]
    }
    

Mengelola streaming

Dalam prosedur ini, Anda akan menggunakan aliran data yang dibuat untuk mentransfer data dari database Oracle sumber ke dalam folder di bucket tujuan Cloud Storage. Hal ini mencakup:

  • Mengambil informasi tentang feed
  • Mengubah aliran data
  • Memulai streaming
  • Menggunakan Fetch Errors API untuk mendeteksi error yang terkait dengan streaming
  • Menjeda dan melanjutkan streaming
  1. Mengambil informasi tentang aliran data. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  2. Pastikan Anda melihat informasi tentang aliran data ini.

    {
      "name": "PROJECT_PATH/streams/STREAM_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
         }
        },
        "destinationConfig": {
          "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
          "gcsDestinationConfig": {
            "fileRotationMb": 5,
            "fileRotationInterval": "15s"
            "avroFileFormat": {}
          }
        },
        "state": "CREATED",
        "backfillAll": {}
      }
    
  3. Ubah feed ini. Untuk melakukannya, pertama-tama, tetapkan variabel UPDATE. Variabel ini berisi nilai aliran data yang ingin Anda ubah. Untuk tutorial ini, ubah ukuran (dalam MBytes) file yang berisi data yang ditransfer dari database sumber ke dalam folder dalam bucket tujuan Cloud Storage (dari 5 MBytes menjadi 100 MBytes). Saat diambil dari database sumber, data ditulis menjadi file berukuran 100 MB. Jika ada data yang melebihi ukuran ini, data tersebut akan disegmentasikan menjadi beberapa file berukuran 100 MB.

    Untuk menetapkan variabel, pada dialog, masukkan perintah berikut:

    UPDATE="{\"destination_config\":{\"gcs_destination_config\":{\"file_rotation_mb\":100}}}"
    
  4. Saat diminta, masukkan perintah berikut:

    curl -X PATCH -d $UPDATE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID/?update_mask=destination_config.gcs_destination_config.file_rotation_mb
    
  5. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "update",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  6. Pastikan streaming telah diubah. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  7. Verifikasi bahwa nilai parameter fileRotationMb untuk profil koneksi Cloud Storage sekarang adalah 100.

    {
      "name": "PROJECT_PATH/streams/STREAM_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
         }
        },
        "destinationConfig": {
          "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
          "gcsDestinationConfig": {
            "fileRotationMb": 100,
            "fileRotationInterval": "15s"
            "avroFileFormat": {}
          }
        },
        "state": "CREATED",
        "backfillAll": {}
      }
    
  8. Mulai streaming. Untuk melakukannya:

    1. Ubah variabel UPDATE. Saat diminta, masukkan perintah berikut:

      UPDATE="{\"state\":\"RUNNING\"}"
      
    2. Kemudian, masukkan perintah berikut:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID?updateMask=state
      
  9. Pastikan Anda melihat baris kode berikut.

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  10. Setelah beberapa menit, ambil informasi tentang streaming untuk mengonfirmasi bahwa streaming telah dimulai:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  11. Verifikasi bahwa status aliran data telah berubah dari CREATED menjadi RUNNING.

    {
      "name": "PROJECT_PATH/streams/STREAM_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "RUNNING",
      "backfillAll": {}
    }
    
  12. Menggunakan Fetch Errors API untuk mendapatkan kembali error yang terkait dengan streaming.

    1. Saat diminta, masukkan perintah berikut:

      curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID:fetchErrors
      
    2. Pastikan Anda melihat baris kode berikut:

        {
          "name": "PROJECT_PATH/operations/operation-FETCH_ERRORS_OPERATION_ID",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
            "createTime": "DATE_AND_TIME_STAMP",
            "target": "PROJECT_PATH/streams/STREAM_ID",
            "verb": "fetchErrors",
            "requestedCancellation": false,
            "apiVersion": "DATASTREAM_API_VERSION"
          },
          "done": false
        }
        

    3. Saat diminta, masukkan perintah berikut:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/operations/operation-FETCH_ERRORS_OPERATION_ID
      
    4. Pastikan Anda melihat baris kode berikut:

        {
          "name": "PROJECT_PATH/operations/operation-FETCH_ERRORS_OPERATION_ID",
          "metadata": {
            "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
            "createTime": "DATE_AND_TIME_STAMP",
            "endTime": "DATE_AND_TIME_STAMP",
            "target": "PROJECT_PATH/streams/STREAM_ID",
            "verb": "fetchErrors",
            "requestedCancellation": false,
            "apiVersion": "DATASTREAM_API_VERSION"
          },
          "done": true,
          "response": {
            "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.FetchErrorsResponse"
          }
        }
        

  13. Jeda streaming. Untuk melakukannya:

    1. Ubah variabel UPDATE. Saat diminta, masukkan perintah berikut:

      UPDATE="{\"state\":\"PAUSED\"}"
      
    2. Kemudian, masukkan perintah berikut:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID?updateMask=state
      
  14. Pastikan Anda melihat baris kode berikut.

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  15. Ambil informasi tentang streaming untuk mengonfirmasi bahwa streaming tersebut dijeda.

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  16. Verifikasi bahwa status aliran data telah berubah dari RUNNING menjadi PAUSED.

    {
      "name": "PROJECT_PATH/streams/STREAM_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "PAUSED",
      "backfillAll": {}
    }
    
  17. Lanjutkan streaming yang dijeda. Untuk melakukannya:

    1. Ubah variabel UPDATE. Saat diminta, masukkan perintah berikut:

      UPDATE="{\"state\":\"RUNNING\"}"
      
    2. Kemudian, masukkan perintah berikut:

      curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID?updateMask=state
      
  18. Pastikan Anda melihat baris kode berikut.

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "start",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  19. Setelah beberapa detik, ambil informasi tentang streaming untuk mengonfirmasi bahwa streaming berjalan kembali.

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  20. Verifikasi bahwa status aliran data telah berubah dari PAUSED kembali menjadi RUNNING.

    {
      "name": "PROJECT_PATH/streams/STREAM_ID",
      "createTime": "DATE_AND_TIME_STAMP",
      "updateTime": "DATE_AND_TIME_STAMP",
      "displayName": "DISPLAY_NAME",
      "sourceConfig": {
        "sourceConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "oracleSourceConfig": {
          "allowlist": {
            "oracleSchemas": [
              {
                "schema": "ROOT"
              }
            ]
          },
          "rejectlist": {}
        }
      },
      "destinationConfig": {
        "destinationConnectionProfileName": "projects/YOUR_PROJECT_NUMBER/locations/YOUR_PROJECT_LOCATION/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "gcsDestinationConfig": {
          "fileRotationMb": 100,
          "fileRotationInterval": "15s"
          "avroFileFormat": {}
        }
      },
      "state": "RUNNING",
      "backfillAll": {}
    }
    

Setelah membuat dan mengelola streaming, mengonfirmasi bahwa tidak ada error yang terkait dengan streaming, dan bahwa status streaming adalah RUNNING, Anda siap memverifikasi bahwa streaming dapat mentransfer data dari database sumber ke folder di bucket tujuan Cloud Storage.

Memverifikasi streaming

Dalam prosedur ini, Anda mengonfirmasi bahwa Datastream:

  • Mentransfer data dari semua tabel yang terkait dengan skema ROOT database Oracle sumber ke folder /root/tutorial di bucket tujuan Cloud Storage.
  • Menerjemahkan data ke dalam format file Avro.
  1. Buka halaman Browser Storage di Cloud Storage.

    Buka halaman browser Storage

  2. Klik link yang berisi bucket Anda.

  3. Jika tab PENOLAKAN tidak aktif, klik tab tersebut.

  4. Klik folder root, lalu klik folder tutorial.

  5. Pastikan Anda melihat folder yang mewakili tabel skema ROOT database Oracle sumber.

  6. Klik salah satu folder tabel dan lihat perincian hingga Anda melihat data yang terkait dengan tabel tersebut.

  7. Klik file yang mewakili data, lalu klik DOWNLOAD.

  8. Buka file ini di alat Avro (misalnya, Avro Viewer) untuk memastikan bahwa konten dapat dibaca. Hal ini menegaskan bahwa Datastream juga menerjemahkan data ke dalam format file Avro.

Pembersihan

Setelah menyelesaikan tutorial ini, Anda dapat membersihkan resource yang dibuat di Datastream agar tidak menghabiskan kuota dan Anda tidak akan ditagih di masa mendatang. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus bucket tujuan Cloud Storage

  1. Di Panel Samping Navigasi Cloud Storage di sebelah kiri, klik item Browser.

  2. Centang kotak di sebelah kiri bucket, lalu klik HAPUS.

  3. Di jendela Delete bucket?, masukkan nama bucket di kolom teks, lalu klik KONFIRMASI.

Menghapus feed

  1. Pastikan aplikasi Cloud Shell Anda aktif.

  2. Saat diminta, masukkan perintah berikut:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams/STREAM_ID
    
  3. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-STREAM_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/streams/STREAM_ID",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  4. Pastikan streaming tersebut telah dihapus. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/streams
    
  5. Pastikan nilai {} null ditampilkan. Hal ini menandakan bahwa tidak ada lagi aliran data di Aliran Data, dan aliran data yang Anda buat akan dihapus.

Menghapus profil koneksi

  1. Hapus profil koneksi ke database Oracle sumber. Saat diminta, masukkan perintah berikut:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID
    
  2. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-SOURCE_CONNECTION_PROFILE_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/connectionProfiles/SOURCE_CONNECTION_PROFILE_ID",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  3. Menghapus profil koneksi ke bucket tujuan di Cloud Storage. Saat diminta, masukkan perintah berikut:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID
    
  4. Pastikan Anda melihat baris kode berikut:

    {
      "name": "PROJECT_PATH/operations/operation-DESTINATION_CONNECTION_PROFILE_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.datastream.DATASTREAM_API_VERSION.OperationMetadata",
        "createTime": "DATE_AND_TIME_STAMP",
        "target": "PROJECT_PATH/connectionProfiles/DESTINATION_CONNECTION_PROFILE_ID",
        "verb": "delete",
        "requestedCancellation": false,
        "apiVersion": "DATASTREAM_API_VERSION"
      },
      "done": false
    }
    
  5. Pastikan kedua profil koneksi telah dihapus. Saat diminta, masukkan perintah berikut:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" https://datastream.googleapis.com/DATASTREAM_API_VERSION/PROJECT_PATH/connectionProfiles
    
  6. Pastikan nilai {} null ditampilkan. Hal ini menandakan bahwa tidak ada lagi profil koneksi di Datastream, dan profil yang Anda buat akan dihapus.

Langkah selanjutnya

  • Pelajari Datastream lebih lanjut.
  • Coba sendiri fitur Google Cloud lainnya. Lihat tutorial kami.