Memublikasikan Produk Data ke SAP BDC

Google Cloud memungkinkan Anda berbagi data BigQuery dengan SAP Business Data Cloud (BDC) tanpa menyalinnya. Untuk memublikasikan data ke SAP BDC, Anda mengonfigurasi endpoint katalog REST Apache Iceberg di katalog runtime Lakehouse atau menyiapkan Produk Data Knowledge Catalog.

Untuk ringkasan integrasi ini dan kasus penggunaannya, lihat Tentang integrasi SAP BDC.

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. Verify that billing is enabled for your Google Cloud project.

  3. Enable the BigLake and Dataplex APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the BigLake and Dataplex APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  6. Bucket Cloud Storage: Buat bucket Cloud Storage untuk menyimpan metadata dan file data Iceberg Anda. Untuk mengetahui petunjuknya, lihat Membuat bucket. Semua resource, termasuk bucket backend, harus berada di region yang sama untuk menghindari kegagalan pipeline konfigurasi.
  7. Endpoint katalog REST Apache Iceberg: Siapkan endpoint katalog REST Apache Iceberg di katalog runtime Lakehouse dengan mengaktifkan penjualan kredensial, yang berisi namespace dan tabel yang ingin Anda bagikan. Katalog ini menggunakan bucket Cloud Storage sebagai warehouse-nya. Untuk mengetahui petunjuknya, lihat Menyiapkan endpoint katalog REST Apache Iceberg.
  8. Katalog koneksi Delta Sharing: Siapkan katalog koneksi Delta Sharing yang terdaftar untuk koneksi SAP BDC Anda. Katalog ini sama dengan yang dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery; Anda tidak perlu membuat katalog baru. Untuk mengetahui petunjuknya, lihat Menyiapkan koneksi lintas cloud untuk SAP Business Data Cloud.
  9. Workload Identity Federation (WIF): Bersiaplah untuk mengonfigurasi WIF agar memercayai penerbit autentikasi SAP BDC. Anda akan menyiapkan ini di bagian berikut.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi Workload Identity Federation dan memublikasikan data, minta administrator untuk memberi Anda peran IAM berikut pada project Anda:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Alur kerja umum

Untuk memublikasikan data ke SAP BDC, ikuti langkah-langkah berikut:

  1. Konfigurasi Workload Identity Federation: Buat pool dan penyedia Workload Identity Federation untuk membangun kepercayaan dengan penerbit OIDC SAP BDC.
  2. Berikan peran ke akun utama gabungan: Berikan izin identitas gabungan untuk melihat metadata katalog dan menggunakan kuota layanan.
  3. Publikasikan data: Publikasikan endpoint katalog REST Apache Iceberg atau Produk Data Knowledge Catalog ke SAP BDC menggunakan gcloud CLI.

Mengonfigurasi Workload Identity Federation

Agar SAP BDC dapat mengakses resource Lakehouse tanpa batas Anda tanpa memerlukan kunci akun layanan yang diekspor, konfigurasikan Workload Identity Federation (WIF). Tindakan ini akan membangun kepercayaan antara Google Cloud dan penerbit OIDC SAP BDC.

Ikuti langkah-langkah berikut untuk menyiapkan pool dan penyedia WIF:

Mendapatkan URI penerbit

Ambil URI penerbit OIDC dari katalog koneksi Delta Sharing Anda. Anda memerlukan URI ini untuk mengonfigurasi penyedia WIF.

gcloud biglake delta-sharing catalogs describe CONNECTION_CATALOG_ID \
    --project="PROJECT_ID"

Di output perintah, temukan kolom federatedIdentityIssuer, yang berisi URI penerbit.

Membuat workload identity pool

Membuat workload identity pool untuk mengelompokkan identitas eksternal.

gcloud iam workload-identity-pools create POOL_ID \
    --location="global" \
    --display-name="POOL_DISPLAY_NAME" \
    --project="PROJECT_ID"

Membuat penyedia OIDC

Buat penyedia OIDC dalam pool untuk menentukan kepercayaan dan memetakan klaim token.

gcloud iam workload-identity-pools providers create-oidc PROVIDER_ID \
    --location="global" \
    --workload-identity-pool="POOL_ID" \
    --issuer-uri="ISSUER_URI" \
    --attribute-mapping="google.subject=assertion.sub.split('://')[1].split('.')[0]" \
    --project="PROJECT_ID"

Memberikan peran ke akun utama gabungan

Izinkan identitas gabungan dari pool tepercaya untuk memanggil Google API yang diperlukan. Anda dapat mengizinkan UUID subjek tertentu atau seluruh pool.

Untuk memberikan otorisasi kepada subjek tertentu (direkomendasikan):

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/biglake.viewer" \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/serviceusage.serviceUsageConsumer" \
    --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/WIF_SUBJECT"

Ganti WIF_SUBJECT dengan UUID yang dikeluarkan oleh penerbit di sisi SAP untuk workload.

Untuk mengizinkan setiap identitas dalam pool (kurang ketat, cocok untuk lingkungan pengujian):

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/biglake.viewer" \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/serviceusage.serviceUsageConsumer" \
    --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*"

Memublikasikan data ke SAP BDC

Anda dapat memublikasikan endpoint katalog REST Apache Iceberg atau Produk Data Knowledge Catalog yang berisi tabel Iceberg menggunakan konsol Google Cloud atau Google Cloud CLI.

Katalog REST Iceberg

Sebelum memublikasikan, pastikan tabel Iceberg Anda memiliki kunci utama yang ditentukan menggunakan identifier-field-ids dalam metadata tabel Iceberg dan setidaknya satu baris, karena SAP BDC memerlukan keduanya untuk kueri. Setiap kolom yang direferensikan di identifier-field-ids harus ditetapkan ke required: true (non-nullable) dalam skema Iceberg. Jika tabel Anda tidak memiliki kunci utama atau berisi kolom kunci nullable, lihat Memperbarui skema tabel Iceberg untuk kunci utama guna memperbaruinya menggunakan BigLake REST API.

Konsol

  1. Di konsol Google Cloud , buka halaman Katalog Runtime Lakehouse.

    Buka Lakehouse Runtime Catalog

  2. Di panel navigasi, luaskan project Anda dan pilih Delta Catalog (katalog koneksi) yang akan digunakan untuk publikasi.

  3. Klik Publish Data Product.

  4. Masukkan detail berbagi yang diperlukan, termasuk memilih katalog REST Iceberg yang akan dipublikasikan.

  5. Klik Publikasikan.

gcloud

  1. Pastikan endpoint katalog REST Apache Iceberg ada dan dapatkan detailnya:

    gcloud biglake iceberg catalogs describe ICEBERG_CATALOG_ID \
        --project="PROJECT_ID"
  2. Publikasikan endpoint katalog REST Apache Iceberg ke SAP BDC. Perhatikan bahwa katalog koneksi, katalog Iceberg, dan bucket Cloud Storage yang mendasarinya harus berada di region yang sama.

    gcloud biglake data-product-sharing publish \
        --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \
        --share="SAP_SHARE_NAME" \
        --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \
        --iceberg-catalog="projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID" \
        --title="TITLE_TEXT" \
        --short-description="SHORT_DESCRIPTION_TEXT" \
        --description="DETAILED_DESCRIPTION_TEXT" \
        --project="PROJECT_ID"

    Endpoint katalog REST Apache Iceberg yang dipublikasikan dapat ditemukan di SAP BDC dan dapat diinstal di SAP Datasphere sebagai tabel jarak jauh.

    Ganti kode berikut:

    • CONNECTION_CATALOG_ID: katalog koneksi Delta Sharing terdaftar yang dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery. Katalog ini sama dengan katalog Delta Sharing yang disebutkan dalam petunjuk penyiapan; Anda tidak perlu membuat katalog lain untuk memublikasikan kembali.
    • PROJECT_NUMBER: nomor project Google Cloud Anda. Flag --sap-federated-identity-provider harus menggunakan nomor project, bukan project ID.
    • POOL_ID: ID pool WIF.
    • PROVIDER_ID: ID penyedia WIF.
    • TITLE_TEXT dan SHORT_DESCRIPTION_TEXT: nilai tampilan yang diperlukan untuk berbagi di SAP BDC.
    • DETAILED_DESCRIPTION_TEXT: deskripsi mendetail opsional. Jangan masukkan teks yang sama untuk deskripsi singkat dan deskripsi mendetail, karena hal ini akan ditolak oleh SAP. Operasi publikasi juga ditolak jika deskripsi mendetail berisi deskripsi singkat yang sama persis sebagai substring. Misalnya, jika deskripsi singkatnya adalah Sales Data, deskripsi panjang Longer Sales Data details akan ditolak karena berisi Sales Data. Namun, deskripsi mendetail tentang "Informasi Penjualan yang Lebih Panjang" dapat diterima.

Produk Data Knowledge Catalog

Atau, Anda dapat memublikasikan Produk Data Knowledge Catalog. Produk Data adalah pengelompokan logis dan terseleksi dari aset data (seperti tabel atau tampilan) yang dikemas bersama untuk memecahkan masalah bisnis tertentu. Daripada memublikasikan katalog lengkap, Anda dapat memilih tabel Apache Iceberg tertentu, mengelompokkannya ke dalam Produk Data, dan memublikasikan koleksi yang diseleksi tersebut ke SAP BDC.

Konsol

  1. Di konsol Google Cloud , buka halaman Knowledge Catalog.

    Buka Knowledge Catalog

  2. Di menu navigasi, pilih Data products.

  3. Klik Produk Data yang ingin Anda publikasikan untuk membuka halaman detailnya.

  4. Klik Bagikan dan pilih Publikasikan ke SAP.

  5. Di panel Publish Data Product to SAP, konfigurasikan kolom berikut:

    • Nama berbagi: Masukkan nama untuk berbagi di SAP BDC.
    • Delta catalog: Pilih katalog koneksi Delta Sharing yang Anda daftarkan.
    • Workload identity: Pilih atau masukkan Workload Identity Pool Provider Anda.
  6. Klik Publikasikan.

gcloud

  1. Membuat Produk Data:

    gcloud dataplex data-products create DATA_PRODUCT_ID \
        --location="LOCATION" \
        --display-name="TITLE_TEXT" \
        --description="SHORT_DESCRIPTION_TEXT" \
        --owner-emails="OWNER_EMAIL" \
        --project="PROJECT_ID"

    --display-name dipetakan ke title di SAP BDC, dan --description dipetakan ke short_description.

  2. Tautkan aset tabel Apache Iceberg yang dikelola oleh Lakehouse ke Produk Data:

    gcloud dataplex data-products data-assets create DATA_ASSET_ID \
        --data-product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --resource="//biglake.googleapis.com/projects/PROJECT_ID/catalogs/ICEBERG_CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME" \
        --project="PROJECT_ID"

    Saat mengonfigurasi aset dalam Produk Data, aset tabel harus memiliki kunci utama yang ditentukan menggunakan identifier-field-ids dalam metadata tabel Iceberg (dengan semua kolom ID ditandai sebagai required: true) dan setidaknya satu baris. Jika tabel Anda tidak memiliki kunci utama atau berisi kolom kunci nullable, lihat Memperbarui skema tabel Iceberg untuk kunci utama guna memperbaruinya menggunakan BigLake REST API. Semua aset data dalam satu Produk Data harus termasuk dalam katalog REST Apache Iceberg yang sama. Produk Data dapat memiliki maksimum 50 tabel, dan harus berisi minimal satu aset data yang valid untuk dipublikasikan. Tabel Iceberg mungkin tidak langsung muncul di konsol Google Cloud .

  3. Opsional: Verifikasi aset di Produk Data Anda:

    gcloud dataplex data-products data-assets list \
        --data-product="DATA_PRODUCT_ID" \
        --location="LOCATION" \
        --project="PROJECT_ID"
  4. Publikasikan Produk Data ke SAP BDC. Pastikan katalog koneksi, Produk Data, dan resource yang mendasarinya berada di region yang sama.

    gcloud biglake data-product-sharing publish \
        --connection-catalog="projects/PROJECT_ID/catalogs/CONNECTION_CATALOG_ID" \
        --share="SAP_SHARE_NAME" \
        --sap-federated-identity-provider="projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID" \
        --data-product="projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID" \
        --project="PROJECT_ID"

    Produk Data yang dipublikasikan dapat ditemukan di SAP BDC dan dapat diinstal di SAP Datasphere sebagai tabel jarak jauh. Di SAP BDC, Produk Data yang dipublikasikan mewarisi judul dan deskripsi singkat yang ditetapkan saat membuat Produk Data Knowledge Catalog.

    Ganti kode berikut:

    • CONNECTION_CATALOG_ID: katalog koneksi Delta Sharing terdaftar yang dibuat selama penyiapan awal untuk berbagi data dari SAP BDC ke BigQuery. Katalog ini sama dengan katalog Delta Sharing yang disebutkan dalam petunjuk penyiapan; Anda tidak perlu membuat katalog lain untuk memublikasikan kembali.
    • PROJECT_NUMBER: nomor project Google Cloud Anda. sap-federated-identity-provider harus menggunakan nomor project, bukan project ID.
    • POOL_ID: ID pool WIF.
    • PROVIDER_ID: ID penyedia WIF.
    • DATA_PRODUCT_ID: ID Produk Data Knowledge Catalog Anda.
    • LOCATION: lokasi Produk Data Knowledge Catalog Anda.
    • SAP_SHARE_NAME: nama berbagi di SAP BDC.

Mengakses data Google Cloud di SAP BDC

Setelah memublikasikan data ke SAP BDC, Anda dapat mengakses data Google Cloud secara native di lingkungan SAP. Untuk mengetahui informasi selengkapnya tentang cara menginstal dan menggunakan Produk Data di SAP sebagai tabel jarak jauh, lihat Menginstal Produk Data dalam dokumentasi SAP.

Langkah berikutnya