Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure data factory 数据工厂可以';t使用基本身份验证从web API下载CSV文件_Azure Data Factory_Azure Data Factory 2 - Fatal编程技术网

Azure data factory 数据工厂可以';t使用基本身份验证从web API下载CSV文件

Azure data factory 数据工厂可以';t使用基本身份验证从web API下载CSV文件,azure-data-factory,azure-data-factory-2,Azure Data Factory,Azure Data Factory 2,我正在尝试从Data Factory的网站下载CSV文件,使用HTTP连接器作为复制活动中的源链接服务。它基本上是对一个url的web调用,看起来像 该网站使用基本身份验证。我已经在浏览器中使用url并输入凭据进行了手动测试,一切正常。我在一个复制活动中使用了REST连接器,将数据作为JSON文件下载(相同的url,只是没有“.csv”在其中),这很好。但是HTTP连接器中的身份验证有一些不同之处,会导致问题。当我尝试执行复制活动时,它会下载一个csv文件,其中包含源网站上登录页面的HTML 在

我正在尝试从Data Factory的网站下载CSV文件,使用HTTP连接器作为复制活动中的源链接服务。它基本上是对一个url的web调用,看起来像

该网站使用基本身份验证。我已经在浏览器中使用url并输入凭据进行了手动测试,一切正常。我在一个复制活动中使用了REST连接器,将数据作为JSON文件下载(相同的url,只是没有“.csv”在其中),这很好。但是HTTP连接器中的身份验证有一些不同之处,会导致问题。当我尝试执行复制活动时,它会下载一个csv文件,其中包含源网站上登录页面的HTML

在搜索时,我确实遇到了这一点,这表明基本身份验证头最初没有发送,这可能会导致问题

现在,身份验证是在链接服务中定义的。我希望我可以在复制活动中向源代码的附加标题或请求正文属性添加一些内容来实现这一点,但我还没有找到正确的方法


非常感谢您提供使用HTTP连接器和基本身份验证尝试或编写工作副本活动示例的建议。

我建议您尝试使用REST连接器,而不是HTTP连接器。它支持基本as身份验证类型,我已经使用HTTPbin.org上的测试端点对其进行了验证

上面是REST链接服务的配置。创建连接到此链接服务的数据集后,可以将其包含在复制活动中

管道执行后,REST响应的内容将保存在指定的文件中


HTTP连接器期望API在初始请求后返回401未经授权的响应。然后,它用基本的身份验证凭据进行响应。如果API不这样做,它将不会使用HTTP链接服务中提供的凭据

如果是这种情况,请转到复制活动源,并在附加标题属性中添加Authorization:Basic,后跟username:password的base64编码字符串。它应该是这样的(末尾的字符串是编码的用户名:密码):


最好不要将其硬编码到复制活动中,而是从密钥库中检索并作为安全输入传递到复制活动。

REST连接器只能输出JSON。正如我在问题中提到的,我已经尝试过了,效果很好,但这并不能帮助我下载csv文件。
Authorization: Basic ZxN0b2njFasdfkVEH1fU2GM=`