Gateways - Update Datasource

从指定的网关更新指定数据源的凭据。

必须加密本地数据源凭据,如 本地加密凭据示例中所述。

有关使用此 API 的示例,请参阅 修补程序数据源凭据 PowerShell 脚本,此脚本使用以下说明中提到的 PowerShell 脚本来加密凭据。

注释

从单一登录更改为其他凭据类型(例如Basic,或OAuth2)将参数useEndUserOAuth2Credentials设置为false基本凭据示例中所述。

只要提供的令牌有效,OAuth 2.0 凭据就有效。 使用 OAuth 2.0 凭据类型时,请执行以下作:

  • 根据数据源类型正确设置 OAuth 2.0 令牌受众。
  • 在有效负载中发送 OAuth 2.0 令牌,如 OAuth 2.0 凭据示例所示。
  • 如果使用的是 扩展 数据源,请不要设置为 useCallerAADIdentitytrue

Permissions

所需范围

Dataset.ReadWrite.All

局限性

  • 设置 OAuth 凭据时,刷新令牌不会与在 Power BI 服务中的 UI 中设置凭据时一样合并。 因此,凭据只能用于一小时。
  • 不支持虚拟网络(VNet)网关。
  • SAS 令牌凭据仅支持 AzureBlobStorage 和 AzureDataLakeStorage。

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

URI 参数

名称 必需 类型 说明
datasourceId
path True

string (uuid)

数据源 ID

gatewayId
path True

string (uuid)

网关 ID。 使用网关群集时,网关 ID 是指群集中的主网关(第一个) 网关。 在这种情况下,网关 ID 类似于网关群集 ID。

请求正文

名称 必需 类型 说明
credentialDetails True

CredentialDetails

凭据详细信息

响应

名称 类型 说明
200 OK

好的

示例

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

示例请求

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"
  }
}

示例响应

Basic credentials example

示例请求

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"
  }
}

示例响应

Key credentials example

示例请求

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"
  }
}

示例响应

OAuth 2.0 credentials example

示例请求

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"
  }
}

示例响应

On-premise encrypted credentials example

示例请求

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"
  }
}

示例响应

SAS Token credentials example

示例请求

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"
  }
}

示例响应

定义

名称 说明
CredentialDetails

凭据详细信息

credentialType

数据源凭据的类型

encryptedConnection

是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。

encryptionAlgorithm

加密算法。 对于云数据源,请指定 None。 对于本地数据源,请指定 RSA-OAEP 并使用网关公钥加密凭据。

privacyLevel

隐私级别,在合并来自多个源的数据时相关。

UpdateDatasourceRequest

网关请求的更新数据源

CredentialDetails

凭据详细信息

名称 类型 说明
credentialType

credentialType

凭据类型

credentials

string

凭据,具体取决于“credentialType”值。 有关详细信息,请参阅 更新数据源 示例。

encryptedConnection

encryptedConnection

是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。

encryptionAlgorithm

encryptionAlgorithm

加密算法。 对于云数据源,请指定 None。 对于本地数据源,请指定 RSA-OAEP 并使用网关公钥加密凭据。

privacyLevel

privacyLevel

隐私级别,在合并来自多个源的数据时相关。

useCallerAADIdentity

boolean

API 调用方(必须是数据源所有者)的 Azure AD 标识(OAuth 2.0 凭据)是否用于配置数据源凭据(所有者 OAuth 访问令牌)。 通常,可以使用此标志或 useEndUserOAuth2Credentials

useEndUserOAuth2Credentials

boolean

在 DirectQuery 模式下连接到数据源时,是否使用最终用户 Azure AD 标识(OAuth 2.0 凭据)。 与支持 单一登录(SSO)的数据源一起使用。 通常,可以使用此标志或 useCallerAADIdentity

credentialType

数据源凭据的类型

说明
Basic
Windows
Anonymous
OAuth2
Key
SAS

encryptedConnection

是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。

说明
Encrypted
NotEncrypted

encryptionAlgorithm

加密算法。 对于云数据源,请指定 None。 对于本地数据源,请指定 RSA-OAEP 并使用网关公钥加密凭据。

说明
None
RSA-OAEP

privacyLevel

隐私级别,在合并来自多个源的数据时相关。

说明
None
Public
Organizational
Private

UpdateDatasourceRequest

网关请求的更新数据源

名称 类型 说明
credentialDetails

CredentialDetails

凭据详细信息