【发布时间】:2021-05-04 19:27:00
【问题描述】:
我在 ADF 中有一个单步管道,它是一个单一的“Web 活动”,它将一个 GET 请求发送到一个简单的 REST API。完整定义如下:
URL : https://allstate.myabsorb.com/api/rest/v1/ecommerce/transactions?transactiondate=2021-01-11
Method : GET
标题
Authorization : xyz/123+abc123==
Content-Type : application/json
当我通过 Postman 执行此请求时,请求成功。但是,当我通过 Azure 数据工厂中的 Web Activity 发送相同的请求时,我收到以下错误消息:
Error calling the endpoint 'https://allstate.myabsorb.com/api/rest/v1/ecommerce/transactions?transactiondate=2021-01-11'. Response status code: ''. More details:Exception message: 'The format of value 'xyz/123+abc123==' is invalid.'. No response from the endpoint. Possible causes: network connectivity, DNS failure, server certificate validation or timeout.
通过测试我发现,如果我从授权字符串中删除等号 (=) 和正斜杠 (/),我确实会收到来自 API 的有效响应:
{"Message":"Authorization has been denied for this request."}
这很棒。 这是我正在寻找的预期响应(请注意,ADF 仍然认为这是一个错误,但这是所需的输出)问题是在实践中 我无法从字符串 因为令牌无效,这意味着我无法访问 API...我需要一种方法来将授权字符串修改为正确的“类型”而不更改值。
有没有办法在我的授权字符串中允许特殊字符用于此 REST API 调用?
这就是 Postman 中成功的结果
【问题讨论】:
-
您的授权类型是什么?你能在邮递员和网络活动中显示示例请求的屏幕截图吗?
-
身份验证类型设置为“无”
标签: escaping azure-data-factory azure-data-factory-2 azure-data-factory-pipeline