escaping - Azure 数据工厂- "Invalid format"错误

标签 escaping azure-data-factory

我在 ADF 中有一个一步管道,它是一个“Web 事件”,它将 GET 请求发送到简单的 REST API。完整的定义如下:

网址:https://allstate.myabsorb.com/api/rest/v1/ecommerce/transactions?transactiondate=2021-01-11

方法:GET

标题

授权:xyz/123+abc123==

内容类型: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 仍然认为这是一个错误,但这是所需的输出)问题是,在实践中我无法从string 因为 token 无效,这意味着我无法访问 API...我需要一种方法将授权字符串修改为正确的“类型”而不更改值。

有没有办法允许在此 REST API 调用的授权字符串中使用特殊字符?


结果应该如下所示: enter image description here


这就是 Postman 中成功结果的样子

enter image description here

最佳答案

要解决这个问题,只需在xyz/123+abc123==前面添加Basic即可,标题应为:

授权 : 基本 xyz/123+abc123==

请注意,Basicxyz/123+abc123== 之间有一个空格,这样就可以正常工作。

enter image description here

关于escaping - Azure 数据工厂- "Invalid format"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67390985/

相关文章:

带管道的 Scala 进程

azure - 通过 Azure 数据工厂复制字符串失败

Azure Databricks 从数据工厂终止集群

azure - azure 数据工厂中的长时间重试

azure - ADF - 在管道 1 上触发管道 2 成功完成

java - 如何转义xml中的<和≤符号?

parsing - Peg 解析器 - 支持转义字符

json - 在U-SQL中解析json文件

c# - 如何使用 XmlTextWriter 阻止 & 到 & 的转换?

python - 如何在 python 中取消转义 unicode 转义字符串?