Bagikan melalui


Gateways - Update Datasource

Updates kredensial sumber data yang ditentukan dari gateway yang ditentukan.

Kredensial sumber data lokal harus dienkripsi, seperti yang dijelaskan dalam contoh Kredensial terenkripsi lokal.

Catatan

Saat mengubah dari akses menyeluruh ke jenis kredensial lainnya, seperti Basic atau OAuth2, atur parameter useEndUserOAuth2Credentials ke false seperti yang dijelaskan dalam contoh Kredensial dasar.

Kredensial OAuth 2.0 berlaku selama token yang disediakan valid. Saat menggunakan jenis kredensial OAuth 2.0, lakukan hal berikut:

  • Atur audiens token OAuth 2.0 dengan benar, sesuai dengan jenis sumber data.
  • Kirim token OAuth 2.0 dalam payload seperti yang ditunjukkan dalam contoh info masuk OAuth 2.0.
  • Jika Anda menggunakan sumber data Ekstensi , jangan atur useCallerAADIdentity ke true.

Izin

Cakupan yang Diperlukan

Dataset.ReadWrite.All

Batasan

  • Saat mengatur kredensial OAuth, token refresh tidak dimasukkan seperti saat mengatur kredensial melalui UI di layanan Power BI. Oleh karena itu, kredensial hanya dapat digunakan selama satu jam.
  • Gateway jaringan virtual (VNet) tidak didukung.
  • Kredensial Token SAS hanya didukung dengan AzureBlobStorage dan AzureDataLakeStorage.

PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
datasourceId
path True

string

uuid

ID sumber data

gatewayId
path True

string

uuid

ID gateway. Saat menggunakan kluster gateway, ID gateway mengacu pada gateway utama (pertama) di kluster. Dalam kasus seperti itu, ID gateway mirip dengan ID kluster gateway.

Isi Permintaan

Nama Diperlukan Jenis Deskripsi
credentialDetails True

CredentialDetails

Detail kredensial

Respons

Nama Jenis Deskripsi
200 OK

OK

Contoh

Anonymous credentials example
Basic credentials example
Key credentials example
OAuth 2.0 credentials example
On-premise encrypted credentials example
SAS Token credentials example

Anonymous credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Anonymous",
    "credentials": "{\"credentialData\":\"\"}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

Sample Response

Basic credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Basic",
    "credentials": "{\"credentialData\":[{\"name\":\"username\", \"value\":\"john\"},{\"name\":\"password\", \"value\":\"*****\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None",
    "useEndUserOAuth2Credentials": "False"
  }
}

Sample Response

Key credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Key",
    "credentials": "{\"credentialData\":[{\"name\":\"key\", \"value\":\"ec....LA=\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

Sample Response

OAuth 2.0 credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "OAuth2",
    "credentials": "{\"credentialData\":[{\"name\":\"accessToken\", \"value\":\"eyJ0....fwtQ\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

Sample Response

On-premise encrypted credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Windows",
    "credentials": "AB....EF==",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "RSA-OAEP",
    "privacyLevel": "None"
  }
}

Sample Response

SAS Token credentials example

Sample Request

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "SAS",
    "credentials": "{\"credentialData\":[{\"name\":\"token\", \"value\":\"sp=rl&st=2023-01-16T09:37:25Z&se=2023...J0%2F0YVkjKxPtEwsyn\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

Sample Response

Definisi

Nama Deskripsi
CredentialDetails

Detail kredensial

credentialType

Jenis kredensial sumber data

encryptedConnection

Apakah akan mengenkripsi koneksi sumber data. Panggilan API akan gagal jika Anda memilih enkripsi dan Power BI tidak dapat membuat koneksi terenkripsi dengan sumber data.

encryptionAlgorithm

Algoritma enkripsi. Untuk sumber data cloud, tentukan None. Untuk sumber data lokal, tentukan RSA-OAEP dan gunakan kunci umum gateway untuk mengenkripsi kredensial.

privacyLevel

Tingkat privasi, yang relevan saat menggabungkan data dari berbagai sumber.

UpdateDatasourceRequest

Memperbarui sumber data ke permintaan gateway

CredentialDetails

Detail kredensial

Nama Jenis Deskripsi
credentialType

credentialType

Jenis informasi masuk

credentials

string

Kredensial, yang bergantung pada nilai 'credentialType'. Untuk informasi selengkapnya, lihat Memperbarui contoh Sumber Data .

encryptedConnection

encryptedConnection

Apakah akan mengenkripsi koneksi sumber data. Panggilan API akan gagal jika Anda memilih enkripsi dan Power BI tidak dapat membuat koneksi terenkripsi dengan sumber data.

encryptionAlgorithm

encryptionAlgorithm

Algoritma enkripsi. Untuk sumber data cloud, tentukan None. Untuk sumber data lokal, tentukan RSA-OAEP dan gunakan kunci umum gateway untuk mengenkripsi kredensial.

privacyLevel

privacyLevel

Tingkat privasi, yang relevan saat menggabungkan data dari berbagai sumber.

useCallerAADIdentity

boolean

Apakah identitas Azure AD (kredensial OAuth 2.0) dari pemanggil API (yang harus menjadi pemilik sumber data) akan digunakan untuk mengonfigurasi kredensial sumber data (token akses OAuth pemilik). Biasanya, Anda akan menggunakan bendera ini atau useEndUserOAuth2Credentials.

useEndUserOAuth2Credentials

boolean

Apakah identitas Azure AD pengguna akhir (kredensial OAuth 2.0) digunakan saat menyambungkan ke sumber data dalam mode DirectQuery. Gunakan dengan sumber data yang mendukung akses menyeluruh (SSO). Biasanya, Anda akan menggunakan bendera ini atau useCallerAADIdentity.

credentialType

Jenis kredensial sumber data

Nama Jenis Deskripsi
Anonymous

string

Basic

string

Key

string

OAuth2

string

SAS

string

Windows

string

encryptedConnection

Apakah akan mengenkripsi koneksi sumber data. Panggilan API akan gagal jika Anda memilih enkripsi dan Power BI tidak dapat membuat koneksi terenkripsi dengan sumber data.

Nama Jenis Deskripsi
Encrypted

string

NotEncrypted

string

encryptionAlgorithm

Algoritma enkripsi. Untuk sumber data cloud, tentukan None. Untuk sumber data lokal, tentukan RSA-OAEP dan gunakan kunci umum gateway untuk mengenkripsi kredensial.

Nama Jenis Deskripsi
None

string

RSA-OAEP

string

privacyLevel

Tingkat privasi, yang relevan saat menggabungkan data dari berbagai sumber.

Nama Jenis Deskripsi
None

string

Organizational

string

Private

string

Public

string

UpdateDatasourceRequest

Memperbarui sumber data ke permintaan gateway

Nama Jenis Deskripsi
credentialDetails

CredentialDetails

Detail kredensial