rest - 数据工厂 v2 - 使用 REST 连接
问题描述
目的是使用 ADF 连接到公共 REST api。这是我第一次尝试向 ADF 中的 REST api 发送请求。它是英国公司大楼 ('CH') 政府网站的 API。
我已经创建了一个帐户并获得了一个密钥。显然,这是基本身份验证,用户名是 API 密钥,密码将被忽略(CH note on authentication)
我想探索 'Search all' API 的内容(关于 Search All 的 CH 注释)并将结果复制到 Blob 存储。
因此,我将链接服务设置为使用 REST,如下所示,模糊的用户名是我从 CH 获得的密钥,密码是重复的密钥,因为他们的文档声明他们忽略密码:[
并且连接的测试工作正常。
然后在复制数据任务中出现问题,在预览时以及尝试复制到“无效授权标头”的 blob 时出现错误:
我将不胜感激有关我哪里出错的指示。
解决方案
我无法重现您的身份验证错误,但我注意到您想GET
在请求正文中添加一些参数与您的请求。
我认为您需要在relativeUrl
属性中添加参数:
包含数据的资源的相对 URL。如果未指定此属性,则仅使用链接服务定义中指定的 URL。HTTP 连接器从组合 URL 复制数据:[链接服务中指定的 URL]/[数据集中指定的相对 URL]。
此外,我建议您检查您正在使用的 Search Api 的正确 REST API 格式。ADF REST 连接器中没有其他特殊功能。只要确保 GET 请求在本地工作并复制它。
推荐阅读
- node.js - Nodejs / React Elastic Beanstalk:对代码库的更改未显示在前端
- xpath - 使用 XPATH previous:: 更像是一个数组
- c# - 如何修复在使用同一服务器的两个单独系统中使用时出现问题的 winform 应用程序
- docker - Docker Swarm 中的 Consul
- java - javax validation-api 返回 Map.Entry.value 而不是 Map.Entry.key
- ruby-on-rails - Rails 根据通过三个表和关联表的客户邮政编码向经理发送电子邮件
- spring-cloud-stream - Spring Cloud Stream:spring.cloud.stream.default.consumer.concurrency 属性的确切含义
- javascript - 如何更改此代码以使用给定元素
- rxjs - 如何使用 rxjs6 轮询作业结果并在状态完成时终止?
- regex - Spring Boot 应用程序中多个 Angular 客户端的 RequestMapping 问题