Gateways - Update Datasource
汇报指定网关中指定数据源的凭据。
本地数据源凭据必须加密,如 本地加密凭据示例中所述。
注意
- 若要加密凭据,请参阅以编程方式为 Power BI 配置凭据 ,并查看 EncryptCredentials .NET Core、 Java 和 Python 示例。
- 加密前的 Windows 凭据类似于 基本凭据示例中的凭据。
从单一登录更改为其他凭据类型(如 Basic
或 OAuth2
)时,将 参数useEndUserOAuth2Credentials
false
设置为 ,如基本凭据示例中所述。
只要提供的令牌有效,OAuth 2.0 凭据就有效。 使用 OAuth 2.0 凭据类型时,请执行以下操作:
- 根据数据源类型正确设置 OAuth 2.0 令牌受众。
- 如 OAuth 2.0 凭据示例中所示,在有效负载中发送 OAuth 2.0 令牌。
- 如果使用 扩展 数据源,请不要将 设置为
useCallerAADIdentity
true
。
权限
- 使用本地网关时,用户必须具有网关管理员权限。
- 对于云数据源,用户必须是数据源所有者。 使用 数据集 - 接管 API 转移对指定数据集的所有权,或使用 分页报表 - 接管 API 将数据源的所有权转移到指定的分页报表上。
- 此 API 调用可由服务主体配置文件调用。 有关详细信息,请参阅:Power BI Embedded 中的服务主体配置文件。
所需范围
Dataset.ReadWrite.All
限制
- 设置 OAuth 凭据时,刷新令牌不会像在 Power BI 服务 中通过 UI 设置凭据时那样合并。 因此,凭据只能使用一小时。
- 不支持虚拟网络 (VNet) 网关。
- 只有 AzureBlobStorage 和 AzureDataLakeStorage 才支持 SAS 令牌凭据。
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
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
定义
名称 | 说明 |
---|---|
Credential |
凭据详细信息 |
credential |
数据源凭据的类型 |
encrypted |
是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。 |
encryption |
加密算法。 对于云数据源,请指定 |
privacy |
隐私级别,在合并来自多个源的数据时是相关的。 |
Update |
将数据源更新到网关的请求 |
CredentialDetails
凭据详细信息
名称 | 类型 | 说明 |
---|---|---|
credentialType |
凭据类型 |
|
credentials |
string |
凭据,取决于“credentialType”值。 有关详细信息,请参阅 更新数据源 示例。 |
encryptedConnection |
是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。 |
|
encryptionAlgorithm |
加密算法。 对于云数据源,请指定 |
|
privacyLevel |
隐私级别,在合并来自多个源的数据时是相关的。 |
|
useCallerAADIdentity |
boolean |
Azure AD 标识是否 (OAuth 2.0 凭据) API 调用方 (必须是数据源所有者) 将用于配置数据源凭据 (所有者 OAuth 访问令牌) 。 通常,可以使用此标志或 |
useEndUserOAuth2Credentials |
boolean |
在 DirectQuery 模式下连接到数据源时,是否使用最终用户 Azure AD 标识 (OAuth 2.0 凭据) 。 与支持 单一登录 (SSO) 的数据源一起使用。 通常,可以使用此标志或 |
credentialType
数据源凭据的类型
名称 | 类型 | 说明 |
---|---|---|
Anonymous |
string |
|
Basic |
string |
|
Key |
string |
|
OAuth2 |
string |
|
SAS |
string |
|
Windows |
string |
encryptedConnection
是否加密数据源连接。 如果选择加密,并且 Power BI 无法与数据源建立加密连接,则 API 调用将失败。
名称 | 类型 | 说明 |
---|---|---|
Encrypted |
string |
|
NotEncrypted |
string |
encryptionAlgorithm
加密算法。 对于云数据源,请指定 None
。 对于本地数据源,请指定 RSA-OAEP
并使用网关公钥来加密凭据。
名称 | 类型 | 说明 |
---|---|---|
None |
string |
|
RSA-OAEP |
string |
privacyLevel
隐私级别,在合并来自多个源的数据时是相关的。
名称 | 类型 | 说明 |
---|---|---|
None |
string |
|
Organizational |
string |
|
Private |
string |
|
Public |
string |
UpdateDatasourceRequest
将数据源更新到网关的请求
名称 | 类型 | 说明 |
---|---|---|
credentialDetails |
凭据详细信息 |