因此在Azure数据工厂中,对于管道,我设置了一个HTTP对象,用于从API复制数据,它使用基本的密码和用户名。现在,API使用承载令牌来授权调用。我已经能够使用Python编写解决方案,但是我真的不知道如何在“复制”步骤中让Azure处理此身份验证过程。
是否可以更早地调用承载令牌,然后将其作为HTTP链接服务密码的一部分传递?
Python脚本:
GROUP BY
答案 0 :(得分:2)
不幸的是,根据Copy data from an HTTP endpoint by using Azure Data Factory,唯一受支持的身份验证方法是:匿名,基本,摘要, Windows 或 ClientCertificate 。
但是,您也许可以通过使用Dataset's properties中的additionalHeaders
将不记名令牌传递给 HTTP 端点来进行解决。
要获取令牌(甚至您可能也可以通过这种方式获取数据),可以使用Web activity in Azure Data Factory来执行 HTTP 请求。
希望有帮助!
答案 1 :(得分:0)
我在UI中添加了一个标题,它可以正常工作。
NAME: Authorization
,VALUE: Bearer [my_token]
。生成此代码:
{
"name": "PostToSlack",
"type": "WebActivity",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"url": "https://slack.com/api/chat.postMessage",
"method": "POST",
"headers": {
"Authorization": "Bearer my_token"
},
"body": {
"channel": "#random",
"as_user": "True",
"text": "Hi from ADF!"
},
"linkedServices": [],
"datasets": []
}
}
从用户界面: