azure-data-factory - Azure 数据工厂分页不起作用
问题描述
我正在开发一个执行 oAuth2 流以访问REST API json 数据的管道。获得不记名令牌后,我将执行一个返回以下结构的请求:
如您所见,由于响应非常大,因此启用了分页,并且作为响应的一部分,我获得了指向下一页的链接。为了获得该资源,我还需要在标题中显示MS-ContinuationToken 。因此,这就是我在用于从 REST 端点获取数据的Copy 活动的配置中基本上执行此操作的方式:
这里的问题是我只得到前 2000 行,而下一页似乎根本没有被访问。管道成功执行,仅获取前 2000 个项目。
注意:continuationToken和links.next.headers.value具有与初始响应完全相同的值。
解决方案
即使您解决了其他问题,您也会遇到“下一个”URL 不包括“v1”的问题。这是合作伙伴中心 api 团队中的一个已知问题。我已经把它升级得很高了。但是他们不希望通过更改“下一个”URI 以包含 v1 或相对来破坏向后兼容性。他们正在考虑其他选择,但我不会屏住呼吸。
我会放弃使用数据工厂的想法,而是使用合作伙伴中心 SDK 编写一个 .NET 控制台应用程序
(您可能会考虑使用循环等手动分页,但 Copy 活动不会返回例如 http 标头,因此您将需要一个复杂的设置来以某种方式将数据存储在数据存储中并能够在其中查找最后一页为了获得延续令牌。我想不通)
推荐阅读
- c - 即使两个变量包含相同的字符串,sizeof() 也会返回不同的值
- kubernetes - 外部请求通过 Ingress 进入 k8s pod 的具体流程图是什么?
- java - 在 Java 运行时从数组中删除元素
- pyspark - org.apache.spark.SparkException:pyspark.daemon 的标准输出中没有端口号
- android - IPFS 从网络读取数据
- java - 处理必须在许多类中更改的导入
- python - PorterStemmer:在 Spyder 上运行时没有词干输出或错误
- angular - Angular 5:从拦截器中的 http 响应标头获取授权
- css - 如何获取一堆 scss 文件并为所有应用程序制作一个 css 文件
- javascript - 未捕获的类型错误:无法在“URL”上执行“createObjectURL”:未找到与提供的签名匹配的函数