Menghubungkan ke SAP Datasphere

Sebagai administrator BigQuery, Anda dapat membuat koneksi untuk mengakses data SAP Datasphere. Koneksi ini memungkinkan analis data untuk membuat kueri data di SAP Datasphere.

Sebelum memulai

  1. Mengaktifkan BigQuery Connection API.

    Mengaktifkan API

  2. Buat pengguna database SAP Datasphere. Catat nama pengguna, sandi, nama host, dan port yang akan dihubungkan ke BigQuery.

  3. Konfigurasikan tenant SAP Datasphere untuk menerima traffic dari alamat IP yang Anda pilih dengan melakukan salah satu hal berikut:

    Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi tenant SAP Datasphere, lihat Menambahkan alamat IP ke Daftar yang Diizinkan IP.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk terhubung ke SAP Datasphere, minta administrator untuk memberi Anda peran IAM BigQuery Connection Admin (roles/bigquery.connectionAdmin) pada project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

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

Menghubungkan BigQuery ke SAP Datasphere

Anda dapat menghubungkan BigQuery ke SAP Datasphere di konsol Google Cloud atau alat command line bq.

Konsol

  1. Di konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Di panel Penjelajah, klik tambahkan Tambahkan.

  3. Di kolom penelusuran, telusuri dan pilih Koneksi ke sumber data eksternal.

  4. Di dialog External data source, lakukan hal berikut:

    • Untuk Connection type, pilih SAP HANA.
    • Untuk Connection ID, masukkan ID koneksi untuk mengidentifikasi koneksi ini.
    • Untuk Location type, tentukan region set data BigQuery yang akan digabungkan dengan data dari SAP Datasphere. Kueri yang menggunakan koneksi ini harus dijalankan dari region ini.
    • Opsional: Untuk Friendly name, masukkan nama yang mudah digunakan untuk koneksi, seperti My connection resource. Nama yang cocok dapat berupa nilai apa pun yang membantu Anda mengidentifikasi resource koneksi jika perlu mengubahnya nanti.
    • Opsional: Untuk Description, masukkan deskripsi untuk resource koneksi ini.
    • Untuk Encryption, pilih Google-managed encryption key atau Customer-managed encryption key (CMEK). Penggunaan CMEK bersifat opsional.
    • Untuk Host:port: masukkan host dan port instance database SAP, seperti yang ditampilkan di Database User Details di konsol web SAP Datasphere, dalam format HOST:PORT.
    • Opsional: Untuk Network attachment, masukkan jalur ke network attachment yang menentukan konfigurasi jaringan yang digunakan untuk membuat koneksi ke SAP Datasphere.
    • Untuk Nama pengguna: masukkan nama pengguna database dari Database User Details di konsol web SAP Datasphere. Misalnya, MY_SPACE#BIGQUERY.
    • Untuk Sandi: masukkan sandi pengguna database.
  5. Klik Create connection.

bq

Masukkan perintah bq mk dengan flag berikut:

  bq mk \
  --connection \
  --location=LOCATION \
  --project_id=PROJECT_ID \
  --connector_configuration '{
    "connector_id": "saphana",
    "endpoint": {
      "host_port": "HOST_PORT"
    },
    "authentication": {
      "username_password": {
        "username": "USERNAME",
        "password": {
          "plaintext": "PASSWORD"
        }
      }
    },
    "network": {
      "private_service_connect": {
        "network_attachment": "NETWORK_ATTACHMENT"
      }
    }
  }' \
  CONNECTION_ID

Ganti kode berikut:

  • LOCATION: menentukan region set data BigQuery yang akan digabungkan dengan data dari SAP Datasphere. Kueri yang menggunakan koneksi ini harus dijalankan dari region ini.
  • PROJECT_ID: masukkan project ID Google Cloud Anda.
  • HOST_PORT: masukkan host dan port instance database SAP, seperti yang ditampilkan di Database User Details di konsol web SAP Datasphere, dalam format HOST:PORT.
  • NETWORK_ATTACHMENT (opsional): masukkan lampiran jaringan dalam format projects/{project}/regions/{region}/networkAttachments/{networkattachment}. Dengan kolom ini, Anda dapat mengonfigurasi koneksi SAP Datasphere sehingga BigQuery membuka koneksi dari alamat IP statis.
  • USERNAME: masukkan nama pengguna database dari Database User Details di konsol web SAP Datasphere. Contohnya, MY_SPACE#BIGQUERY.
  • PASSWORD: masukkan sandi pengguna database.
  • CONNECTION_ID: masukkan ID koneksi untuk mengidentifikasi koneksi ini.

Berbagi koneksi dengan pengguna

Anda dapat memberikan peran berikut untuk mengizinkan pengguna membuat kueri data dan mengelola koneksi:

  • roles/bigquery.connectionUser: memungkinkan pengguna menggunakan koneksi untuk terhubung dengan sumber data eksternal dan menjalankan kueri pada sumber data tersebut.

  • roles/bigquery.connectionAdmin: memungkinkan pengguna mengelola koneksi.

Untuk informasi selengkapnya tentang peran dan izin IAM di BigQuery, baca Peran dan izin bawaan.

Pilih salah satu opsi berikut:

Konsol

  1. Buka halaman BigQuery.

    Buka BigQuery

    Koneksi dicantumkan dalam project Anda, dalam grup yang disebut Koneksi eksternal.

  2. Di panel Penjelajah, klik nama project Anda > Koneksi eksternal > koneksi.

  3. Di panel Detail, klik Bagikan untuk membagikan koneksi. Kemudian, lakukan hal berikut:

    1. Dalam dialog Izin koneksi, bagikan koneksi dengan akun utama lain dengan menambahkan atau mengedit akun utama.

    2. Klik Simpan.

bq

Anda tidak dapat berbagi koneksi dengan alat command line bq. Untuk berbagi koneksi, gunakan konsol Google Cloud atau metode BigQuery Connections API untuk melakukannya.

API

Gunakan metode projects.locations.connections.setIAM di bagian referensi REST API Koneksi BigQuery, dan berikan instance resource policy.

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.api.resourcenames.ResourceName;
import com.google.cloud.bigquery.connection.v1.ConnectionName;
import com.google.cloud.bigqueryconnection.v1.ConnectionServiceClient;
import com.google.iam.v1.Binding;
import com.google.iam.v1.Policy;
import com.google.iam.v1.SetIamPolicyRequest;
import java.io.IOException;

// Sample to share connections
public class ShareConnection {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "MY_PROJECT_ID";
    String location = "MY_LOCATION";
    String connectionId = "MY_CONNECTION_ID";
    shareConnection(projectId, location, connectionId);
  }

  static void shareConnection(String projectId, String location, String connectionId)
      throws IOException {
    try (ConnectionServiceClient client = ConnectionServiceClient.create()) {
      ResourceName resource = ConnectionName.of(projectId, location, connectionId);
      Binding binding =
          Binding.newBuilder()
              .addMembers("group:example-analyst-group@google.com")
              .setRole("roles/bigquery.connectionUser")
              .build();
      Policy policy = Policy.newBuilder().addBindings(binding).build();
      SetIamPolicyRequest request =
          SetIamPolicyRequest.newBuilder()
              .setResource(resource.toString())
              .setPolicy(policy)
              .build();
      client.setIamPolicy(request);
      System.out.println("Connection shared successfully");
    }
  }
}

Langkah selanjutnya