Power Automate Cloud Flow 403 调用 Databricks REST API

问题描述 投票:0回答:1

我尝试从 Power Automate 流程调用 Databricks REST API 并收到 403“未经授权访问工作区”。该流程的第一步是获取承载令牌,第二步是调用过程。所有 api 的范围均已正确设置。第一个请求顺利完成,我能够获得令牌。但第二个失败并显示 403。相同的流程在 Postman 中运行良好,并且 Databricks 端的服务主体的所有权限都经过验证。作为额外的验证,我尝试使用 Postman 中 Power Apps 中的不记名令牌进行查询,结果一切正常,这让我想知道我的 Power Apps 流程中缺少什么。如果您能提供任何意见来解决该问题,我将不胜感激。

Request:
    {
    "uri": "https://adb-xxxxxxxx.12.azuredatabricks.net/api/2.0/sql/statements",
    "method": "POST",
    "headers": {
        "Authorization": "Bearer Token",
        "Content-Type": "application/json"
    },
    "body": {
        "statement": "A select query \n",
        "warehouse_id": "warehouseid"
    }
}
Response: {
"statusCode": 403,
"headers": {
    "X-Request-ID": "f7b4f4c6",
    "x-databricks-reason-phrase": "Unauthorized access to workspace: ",
    "Vary": "Accept-Encoding",
    "Date": "Wed, 18 Dec 2024 23:34:04 GMT",
    "Server": "databricks",
    "Content-Type": "application/json; charset=utf-8",
    "Content-Length": "81"
},
"body": {
    "error_code": 403,
    "message": "Unauthorized access to workspace: "
}

}

azure-databricks power-automate powerapps
1个回答
0
投票

按照以下步骤获取访问令牌并发出sql语句请求。

  1. 创建 Web 服务以获取具有以下详细信息的访问令牌。

网址

https://<host_name>.azuredatabricks.net/oidc/v1/token

方法

POST

内容类型

application/x-www-form-urlencoded

请求正文

grant_type=client_credentials&scope=all-apis&client_id=<client_id>&client_secret=<Your_seceret>

enter image description here

  1. 当文本将其转换为对象时,您将得到响应 将 JSON 转换为自定义对象组件。

enter image description here

在此添加上一步中您的网络服务的响应。

  1. 接下来再次使用以下详细信息创建 Web 服务。

网址

https://<host_name>.azuredatabricks.net/api/2.0/sql/statements

方法

POST

内容类型

application/json

自定义标题

Authorization: Bearer %JsonAsCustomObject['access_token']%

请求正文

{
    "statement": "select 1 as one",
    "warehouse_id": "cc51079db3510efa"
}

enter image description here

您在授权标头中提供自定义 json 对象变量,例如

Bearer %JsonAsCustomObject['access_token']%

您将得到回复结果。

流量:

enter image description here

输出:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.