如何解决Azure 数据工厂 - “格式无效”错误
我在 ADF 中有一个单步管道,它是一个单一的“网络活动”,它向一个简单的 REST API 发送一个 GET
请求。完整的定义如下:
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 活动发送相同的请求时,收到以下错误消息:
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 中成功的结果
解决方法
要解决这个问题,只需在Basic
前面加上xyz/123+abc123==
,header应该是:
Authorization
: Basic xyz/123+abc123==
请注意,Basic
和 xyz/123+abc123==
之间有一个空格,这样就可以正常工作了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。