azure - 在 Azure Pipeline 中处理 HTTP 对象的不记名令牌
问题描述
因此,在 Azure 数据工厂中,对于管道,我设置了一个 HTTP 对象,用于从 API 复制数据,它使用基本密码和用户名。现在 API 使用不记名令牌来授权调用。我已经能够在 Python 中编写一个解决方案,但我真的不知道如何让 Azure 在复制步骤中处理这个身份验证过程。
有没有办法更早地调用不记名令牌,然后将其作为 HTTP 链接服务密码的一部分传递?
Python脚本:
import http.client
conn = http.client.HTTPSConnection("www.url.com")
headers = {
'authorization': "Basic [removed]",
'cache-control': "no-cache",
}
conn.request("GET", "/v1/oauth2/accesstoken?grant_type=client_credentials", headers=headers)
res = conn.getresponse()
data = res.read()
import json
datajson = json.loads(data.decode("utf-8"))
headers = {
'authorization': "Bearer " + datajson["access_token"],
'cache-control': "no-cache",
}
conn.request("GET", "/data?data-date=2018-12-09", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
解决方案
不幸的是,根据使用 Azure 数据工厂从 HTTP 端点复制数据,唯一受支持的身份验证方法是:Anonymous、Basic、Digest、Windows或ClientCertificate。
但是,您可以通过使用数据集additionalHeaders
的属性将不记名令牌传递给HTTP端点来解决问题。
要获取令牌(甚至您也可以通过这种方式获取数据),您可以使用Azure 数据工厂中的 Web 活动来执行HTTP请求。
希望能帮助到你!
推荐阅读
- javascript - 更改列表中每个属性的颜色(HANDLEBARS JS & CSS)
- rust - 如何使用 tokio、async-std 并行化几分钟
- android-studio - 不可转换的类型;无法将“android.view.View”转换为“org.opencv.android.JavaCameraView”
- python - 无法读取 .replit:无法解码 .replit:第 5 行附近(最后一个键解析为“运行”):键“运行”已被定义
- asp.net-mvc - 从 Azure 中托管的 ASP.NET Core 5.0 MVC 站点调用 API/服务的间歇性套接字异常
- javascript - SSR + Material UI Drawer + webpack 生产构建损坏
- node.js - Vercel 无服务器续集连接 ECONNREFUSED
- differential-equations - 有限元界面
- r - 不平衡面板数据的单位根检验
- slack - 在多租户应用程序中与 Slack API 通信