Gateways - Update Datasource
从指定的网关更新指定数据源的凭据。
必须加密本地数据源凭据,如 本地加密凭据示例中所述。
有关使用此 API 的示例,请参阅 修补程序数据源凭据 PowerShell 脚本,此脚本使用以下说明中提到的 PowerShell 脚本来加密凭据。
注释
- 若要加密凭据,请参阅 以编程方式 为 Power BI 配置凭据,并查看 EncryptCredentials .NET Core、 Java、 Python 和 PowerShell 示例。
- 加密之前的 Windows 凭据类似于 基本凭据示例中的凭据。
从单一登录更改为其他凭据类型(例如Basic,或OAuth2)将参数useEndUserOAuth2Credentials设置为false基本凭据示例中所述。
只要提供的令牌有效,OAuth 2.0 凭据就有效。 使用 OAuth 2.0 凭据类型时,请执行以下作:
- 根据数据源类型正确设置 OAuth 2.0 令牌受众。
- 在有效负载中发送 OAuth 2.0 令牌,如 OAuth 2.0 凭据示例所示。
- 如果使用的是 扩展 数据源,请不要设置为
useCallerAADIdentitytrue。
Permissions
- 使用本地网关时,用户必须具有网关管理员权限。
- 使用云数据源时,用户必须是数据源所有者。 使用 数据集 - 接管 API 转移对指定数据集或 分页报表的所有权 - 接管 API 以通过指定的分页报表传输数据源的所有权。
- 此 API 调用可由服务主体配置文件调用。 有关详细信息,请参阅: Power BI Embedded 中的服务主体配置文件。
所需范围
Dataset.ReadWrite.All
局限性
- 设置 OAuth 凭据时,刷新令牌不会与在 Power BI 服务中的 UI 中设置凭据时一样合并。 因此,凭据只能用于一小时。
- 不支持虚拟网络(VNet)网关。
- SAS 令牌凭据仅支持 AzureBlobStorage 和 AzureDataLakeStorage。
PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
datasource
|
path | True |
string (uuid) |
数据源 ID |
|
gateway
|
path | True |
string (uuid) |
网关 ID。 使用网关群集时,网关 ID 是指群集中的主网关(第一个) 网关。 在这种情况下,网关 ID 类似于网关群集 ID。 |
请求正文
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| credentialDetails | True |
凭据详细信息 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 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"
}
}
示例响应
定义
| 名称 | 说明 |
|---|---|
|
Credential |
凭据详细信息 |
|
credential |
数据源凭据的类型 |
|
encrypted |
是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。 |
|
encryption |
加密算法。 对于云数据源,请指定 |
|
privacy |
隐私级别,在合并来自多个源的数据时相关。 |
|
Update |
网关请求的更新数据源 |
CredentialDetails
凭据详细信息
| 名称 | 类型 | 说明 |
|---|---|---|
| credentialType |
凭据类型 |
|
| credentials |
string |
凭据,具体取决于“credentialType”值。 有关详细信息,请参阅 更新数据源 示例。 |
| encryptedConnection |
是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。 |
|
| encryptionAlgorithm |
加密算法。 对于云数据源,请指定 |
|
| privacyLevel |
隐私级别,在合并来自多个源的数据时相关。 |
|
| useCallerAADIdentity |
boolean |
API 调用方(必须是数据源所有者)的 Azure AD 标识(OAuth 2.0 凭据)是否用于配置数据源凭据(所有者 OAuth 访问令牌)。 通常,可以使用此标志或 |
| useEndUserOAuth2Credentials |
boolean |
在 DirectQuery 模式下连接到数据源时,是否使用最终用户 Azure AD 标识(OAuth 2.0 凭据)。 与支持 单一登录(SSO)的数据源一起使用。 通常,可以使用此标志或 |
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 |
凭据详细信息 |