Mengautentikasi dan terhubung ke sumber data dengan Conversational Analytics API

Developer dapat menggunakan Conversational Analytics API, yang diakses melalui geminidataanalytics.googleapis.com, untuk membuat antarmuka chat atau agen data yang didukung teknologi kecerdasan buatan (AI), yang menjawab pertanyaan tentang data terstruktur di BigQuery, Looker, dan Looker Studio menggunakan bahasa alami.

Halaman ini menjelaskan cara melakukan autentikasi ke Conversational Analytics API dan mengonfigurasi koneksi ke data Anda di Looker, BigQuery, dan Looker Studio dengan menggunakan permintaan HTTP langsung atau SDK. Conversational Analytics API menggunakan metode autentikasiGoogle Cloud standar.

Sebelum memulai

Sebelum dapat melakukan autentikasi ke Conversational Analytics API dan mengonfigurasi koneksi ke data, Anda harus menyelesaikan prasyarat dan mengaktifkan API yang diperlukan untuk Google Cloud project, seperti yang dijelaskan dalam Mengaktifkan Conversational Analytics API.

Melakukan autentikasi ke Conversational Analytics API

Bagian ini menjelaskan cara melakukan autentikasi ke Conversational Analytics API (melalui geminidataanalytics.googleapis.com) menggunakan metode HTTP dan Python untuk mendapatkan token otorisasi yang diperlukan.

HTTP curl

Perintah curl contoh berikut mengirim permintaan ke Conversational Analytics API. Perintah gcloud auth print-identity-token memberikan token akses yang digunakan untuk otorisasi. Dalam contoh kode, ganti dengan jalur resource API yang sesuai.

curl  -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
https://geminidataanalytics.googleapis.com/

HTTP menggunakan Python

Contoh kode Python berikut menunjukkan cara mendapatkan token akses untuk autentikasi HTTP menggunakan Google Cloud CLI dan Python.

  billing_project = 'YOUR_BILLING_PROJECT'
  access_token = !gcloud auth application-default print-access-token
  url = f"https://geminidataanalytics.googleapis.com/v1beta/projects/{billing_project}:method"
  headers = {"Authorization": f'Bearer {access_token[0]}'}

Ganti nilai sampel sebagai berikut:

  • YOUR_BILLING_PROJECT: ID project penagihan Anda yang telah mengaktifkan API yang diperlukan.
  • method: Jalur resource untuk endpoint target. Misalnya:
    • Untuk membuat agen data, gunakan metode POST dan jalur resource /v1beta/projects/{billing_project}/locations/global/dataAgents.
    • Untuk mencantumkan agen data yang ada, gunakan metode GET dan jalur resource /v1beta/projects/{billing_project}/locations/global/dataAgents.

Python SDK

Contoh kode Python berikut menunjukkan cara mengautentikasi Akun Google Anda untuk mengakses Conversational Analytics API dalam Colaboratory:

from google.colab import auth
auth.authenticate_user()

Menghubungkan ke Looker dengan Conversational Analytics API

Untuk terhubung ke Looker dengan Conversational Analytics API, Anda harus memberikan informasi berikut:

Kemudian, Anda dapat memilih untuk melakukan autentikasi menggunakan kunci API Looker (client ID dan client secret) atau token akses. Pelanggan yang menggunakan opsi IP pribadi Looker (Google Cloud core) harus melakukan autentikasi dengan token akses.

Anda hanya dapat terhubung ke satu Eksplorasi Looker dalam satu waktu dengan Conversational Analytics API.

Autentikasi dengan kunci API Looker

Bagian ini menjelaskan cara membuat kunci API dan mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan permintaan HTTP langsung atau SDK. Pelanggan yang menggunakan opsi IP pribadi Looker (Google Cloud core) tidak dapat menggunakan metode ini dan harus melakukan autentikasi dengan token akses.

Untuk membuat koneksi dengan instance Looker, Anda memerlukan kunci API Looker yang valid, yang dibuat oleh Looker dan terdiri dari ID klien dan rahasia klien. Looker menggunakan kunci ini untuk mengizinkan permintaan ke Looker API.

Untuk mempelajari lebih lanjut cara membuat kunci API Looker baru, lihat Setelan admin - Pengguna. Untuk mempelajari lebih lanjut metode autentikasi dan cara mengelola kunci API Looker, lihat Autentikasi Looker API.

HTTP menggunakan Python

Setelah membuat kunci API (ID dan rahasia klien), Anda dapat mengonfigurasi Conversational Analytics API untuk terhubung ke Looker dengan membuat permintaan HTTP langsung. Contoh kode berikut menunjukkan cara menentukan detail sumber data Looker dan kunci API dalam isi permintaan HTTP Anda.


looker_credentials = {
  "oauth": {
      "secret": {
        "client_id": "your_looker_client_id",
        "client_secret": "your_looker_client_secret",
      }
  }
}

looker_data_source = {
  "looker": {
    "explore_references": {
        "looker_instance_uri": "https://your_company.looker.com",
        "lookml_model": "your_model",
        "explore": "your_explore",
    }
  }
}

Ganti nilai sampel sebagai berikut:

  • your_looker_client_id: ID klien kunci API Looker yang Anda buat
  • your_looker_client_secret: Rahasia klien kunci API Looker yang Anda buat
  • https://your_company.looker.com: URL lengkap instance Looker Anda
  • your_model: Nama model LookML yang ingin Anda gunakan
  • your_explore: Nama Eksplorasi dalam model tertentu yang ingin Anda gunakan

Python SDK

Setelah membuat kunci API (ID dan rahasia klien), Anda dapat mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan Python. Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Looker dan kunci API Anda ke Conversational Analytics API.

looker_client_id = "YOUR-LOOKER-CLIENT-ID" # @param {type:"string"}
looker_client_secret = "YOUR-LOOKER-CLIENT-SECRET" # @param {type:"string"}
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI" # @param {type:"string"}
lookml_model = "YOUR-LOOKER-MODEL" # @param {type:"string"}
explore = "YOUR-LOOKER-EXPLORE" # @param {type:"string"}

# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore

credentials = geminidataanalytics.Credentials()
credentials.oauth.secret.client_id = looker_client_id
credentials.oauth.secret.client_secret = looker_client_secret

# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]

Ganti nilai sampel sebagai berikut:

  • YOUR-LOOKER-CLIENT-ID: ID klien kunci API Looker yang Anda buat
  • YOUR-LOOKER-CLIENT-SECRET: Rahasia klien kunci API Looker yang Anda buat
  • YOUR-LOOKER-INSTANCE-URI: URL lengkap instance Looker Anda
  • YOUR-LOOKER-MODEL: Nama model Looker yang ingin Anda gunakan
  • YOUR-LOOKER-EXPLORE: Nama Eksplorasi Looker yang ingin Anda gunakan

Autentikasi dengan token akses

Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke Looker menggunakan token akses.

Untuk membuat koneksi dengan instance Looker, Anda memerlukan nilai access_token OAuth2 yang valid, yang dibuat oleh permintaan yang berhasil ke endpoint Looker API login.

Untuk mempelajari lebih lanjut cara membuat token akses, lihat Autentikasi Looker API dan cara menyajikan kredensial klien untuk mendapatkan token otorisasi.

HTTP menggunakan Python

Contoh kode berikut menunjukkan cara menentukan detail sumber data Looker dan token akses dalam isi permintaan HTTP Anda.

Sebaiknya simpan token akses Looker (access_token) sebagai variabel lingkungan untuk meningkatkan keamanan.

looker_credentials = {
  "oauth": {
    "token": {
      "access_token": "YOUR-TOKEN",
    }
  }
}

looker_data_source = {
  "looker": {
    "explore_references": {
        "looker_instance_uri": "https://your_company.looker.com",
        "lookml_model": "your_model",
        "explore": "your_explore",
    }
  }
}

Ganti nilai sampel sebagai berikut:

  • YOUR-TOKEN: Nilai access_token yang Anda buat untuk mengautentikasi ke Looker.
  • https://your_company.looker.com: URL lengkap instance Looker Anda
  • your_model: Nama model LookML yang ingin Anda gunakan
  • your_explore: Nama Eksplorasi dalam model tertentu yang ingin Anda gunakan

Python SDK

Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Looker dan token akses Anda untuk melakukan autentikasi menggunakan Python SDK.

Sebaiknya simpan token akses Looker (access_token) sebagai variabel lingkungan untuk meningkatkan keamanan.

looker_access_token = "YOUR-TOKEN"
looker_instance_uri = "YOUR-LOOKER-INSTANCE-URI"
lookml_model = "YOUR-LOOKER-MODEL"
explore = "YOUR-LOOKER-EXPLORE"

# Looker data source
looker_explore_reference = geminidataanalytics.LookerExploreReference()
looker_explore_reference.looker_instance_uri = looker_instance_uri
looker_explore_reference.lookml_model = lookml_model
looker_explore_reference.explore = explore

credentials = geminidataanalytics.Credentials()
credentials.oauth.token.access_token = looker_access_token

# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.looker.explore_references = [looker_explore_reference]

Ganti nilai sampel sebagai berikut:

  • YOUR-TOKEN: Nilai access_token yang Anda gunakan untuk mengautentikasi ke Looker
  • YOUR-LOOKER-INSTANCE-URI: URL lengkap instance Looker Anda
  • YOUR-LOOKER-MODEL: Nama model Looker yang ingin Anda gunakan
  • YOUR-LOOKER-EXPLORE: Nama Eksplorasi Looker yang ingin Anda gunakan

HTTP menggunakan JavaScript

Contoh kode berikut menunjukkan cara menentukan detail sumber data Looker dan token akses dalam isi permintaan HTTP Anda.

Sebaiknya simpan token akses Looker (access_token) sebagai variabel lingkungan untuk meningkatkan keamanan.

const requestBody = {
  project: GCP_PROJECT,
  messages: [
    {
      user_message: {
        text: inputWithPreviousMessages,
      },
    },
  ],
  context: {
    system_instruction: agentConfig.system_instructions,
    datasource_references: {
      looker: {
        explore_references: [
          {
            looker_instance_uri: YOUR-LOOKER-INSTANCE-URI,
            lookml_model: YOUR-LOOKER-MODEL,
            explore: YOUR-LOOKER-EXPLORE,
          },
        ],
        credentials: {
          oauth: {
            token: {
              access_token: YOUR-TOKEN,
            },
          },
        },
      },
    },
  },
}

Ganti nilai sampel sebagai berikut:

  • YOUR-LOOKER-INSTANCE-URI: URL lengkap instance Looker Anda
  • YOUR-LOOKER-MODEL: Nama model LookML yang ingin Anda gunakan
  • YOUR-LOOKER-EXPLORE: Nama Eksplorasi dalam model tertentu yang ingin Anda gunakan
  • YOUR-TOKEN: Nilai access_token yang Anda buat untuk mengautentikasi ke Looker.

Menghubungkan ke BigQuery dengan Conversational Analytics API

Untuk terhubung ke BigQuery dengan Conversational Analytics API, Anda harus melakukan autentikasi ke project BigQuery dan memberikan informasi berikut:

  • ID project BigQuery
  • ID set data BigQuery
  • ID tabel BigQuery

Dengan Conversational Analytics API, Anda dapat terhubung ke dan membuat kueri hingga 10 tabel BigQuery sekaligus.

Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke BigQuery menggunakan permintaan HTTP langsung atau SDK.

HTTP menggunakan Python

Setelah melakukan autentikasi ke project BigQuery, Anda dapat mengonfigurasi Conversational Analytics API untuk mengakses data di BigQuery dengan membuat permintaan HTTP langsung. Contoh kode berikut menunjukkan cara menentukan detail sumber data BigQuery dan dalam isi permintaan HTTP Anda.

bigquery_data_sources = {
    "bq": {
      "tableReferences": [
        {
          "projectId": "my_project_id",
          "datasetId": "my_dataset_id",
          "tableId": "my_table_id"
        },
        {
          "projectId": "my_project_id_2",
          "datasetId": "amy_dataset_id_2",
          "tableId": "my_table_id_2"
        },
        # Up to 10 total tables may be included
      ]
    }
}

Ganti nilai sampel sebagai berikut:

  • my_project_id: ID project Google Cloud yang berisi set data dan tabel BigQuery yang ingin Anda hubungkan. Untuk terhubung ke set data publik, tentukan bigquery-public-data.
  • my_dataset_id: ID set data BigQuery.
  • my_table_id: ID tabel BigQuery.

Python SDK

Anda dapat menggunakan SDK auth dari Colaboratory untuk melakukan autentikasi ke BigQuery dengan menggunakan kredensial pengguna Anda yang diautentikasi ke Colaboratory.

Contoh kode Python berikut menunjukkan cara mengautentikasi Akun Google Anda ke BigQuery dalam Colaboratory dan mengonfigurasi Conversational Analytics API untuk mengakses sumber data BigQuery.

from google.colab import auth
auth.authenticate_user()

# BigQuery data source
bigquery_table_reference = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference.project_id = "my_project_id"
bigquery_table_reference.dataset_id = "my_dataset_id"
bigquery_table_reference.table_id = "my_table_id"

bigquery_table_reference_2 = geminidataanalytics.BigQueryTableReference()
bigquery_table_reference_2.project_id = "my_project_id_2"
bigquery_table_reference_2.dataset_id = "my_dataset_id_2"
bigquery_table_reference_2.table_id = "my_table_id_2"

# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.bq.table_references = [bigquery_table_reference, bigquery_table_reference_2] # Up to 10 tables

Ganti nilai sampel sebagai berikut:

  • my_project_id: ID project Google Cloud yang berisi set data dan tabel BigQuery yang ingin Anda hubungkan. Untuk terhubung ke set data publik, tentukan bigquery-public-data.
  • my_dataset_id: ID set data BigQuery. Contoh, san_francisco.
  • my_table_id: ID tabel BigQuery. Contoh, street_trees.

Menghubungkan ke Looker Studio dengan Conversational Analytics API

Untuk terhubung ke Looker Studio dengan Conversational Analytics API, Anda harus mengaktifkan Looker Studio API terlebih dahulu. Bagian ini menjelaskan cara mengonfigurasi Conversational Analytics API untuk terhubung ke Looker Studio menggunakan permintaan HTTP langsung atau SDK.

Mengaktifkan Looker Studio API

Untuk mengaktifkan Looker Studio API, ikuti petunjuk di Mengaktifkan API.

Mengautentikasi ke Looker Studio

Untuk terhubung ke Looker Studio dengan Conversational Analytics API, Anda harus melakukan autentikasi ke Looker Studio dan memberikan ID sumber data Looker Studio.

HTTP menggunakan Python

Setelah mengaktifkan Looker Studio API, Anda dapat melakukan autentikasi ke Looker Studio dengan membuat permintaan curl HTTP dengan Python. Contoh kode berikut menunjukkan cara menentukan detail sumber data Looker dalam isi permintaan HTTP Anda.

Anda dapat melakukan autentikasi ke Looker Studio dengan membuat permintaan HTTP langsung. Contoh panggilan HTTP ditampilkan dalam blok kode berikut.

looker_studio_data_source = {
    "studio":{
        "studio_references":
        [
            {
              "datasource_id": "your_studio_datasource_id"
            }
        ]
    }
}

Ganti your_studio_datasource_id dengan ID sumber data Looker Studio yang sebenarnya yang ingin Anda gunakan.

Python SDK

Setelah mengaktifkan Looker Studio API, Anda dapat melakukan autentikasi ke Looker Studio menggunakan SDK. Contoh kode Python berikut menunjukkan cara menentukan detail sumber data Looker dan melakukan autentikasi ke Looker Studio.


datasource_id = "STUDIO-DATASOURCE-ID"

# Looker Studio
studio_references = geminidataanalytics.StudioDatasourceReference()
studio_references.datasource_id = studio_datasource_id

# Connect to your data source
datasource_references = geminidataanalytics.DatasourceReferences()
datasource_references.studio.studio_references = [studio_references]

Ganti STUDIO-DATASOURCE-ID dengan ID sumber data Looker Studio yang sebenarnya yang ingin Anda gunakan.