【问题标题】:GET data from REST API using Azure Data Factory使用 Azure 数据工厂从 REST API 获取数据
【发布时间】:2019-09-23 02:23:14
【问题描述】:

我正在尝试使用 Azure 数据工厂通过 REST API 从 Pendo 获取数据。此活动的 PYTHON 代码是

import requests
url = "https://app.pendo.io/api/v1/aggregation"
data = "{\"response\":{\"mimeType\":\"application/json\"},\"request\":{\"pipeline\":[{\"source\":{\"guideEvents\":null,\"timeSeries\":{\"first\":\"1506977216000\",\"count\":-10,\"period\":\"dayRange\"}}}]}}"
headers = {
    'x-pendo-integration-key': "[add_your_pendo_int_key_here]",
    'content-type': "application/json"
}
response = requests.post(url, data = data, headers = headers)

如何通过 Azure 数据工厂定义代码的数据部分? 我已将 content-type 和 x-pendo-integration-key 放在附加标头中。

【问题讨论】:

  • 附注:如果将data 括在三引号中,则不需要所有这些反斜杠。

标签: python azure azure-data-factory


【解决方案1】:

您可以使用 HTTP 连接器从 HTTP 端点检索数据。以下活动支持此 HTTP 连接器:

  • 使用支持的源/汇矩阵复制活动
  • 查找活动 您可以将数据从 HTTP 源复制到任何受支持的接收器数据存储。有关 Copy Activity 支持作为源和接收器的数据存储列表,see Supported data stores and formats

注意:要在数据工厂中配置 HTTP 连接器之前测试用于数据检索的 HTTP 请求,请了解有关标头和正文要求的 API 规范。您可以使用 Postman 或网络浏览器等工具进行验证。

https://docs.microsoft.com/en-us/azure/data-factory/connector-http

这是 POST 的示例自定义活动:

{
    "name": "HttpSourceDataInput",
    "properties": {
        "type": "HttpFile",
        "linkedServiceName": {
            "referenceName": "<HTTP linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "relativeUrl": "<relative url>",
            "requestMethod": "Post",
            "requestBody": "<body for POST HTTP request>"
        }
    }
}

您可以查看 ADF 相关示例here。也可以查找this 以获取更多参考。 希望对您有所帮助。

【讨论】:

  • 感谢您的回复。 ADF 现在有用于 REST API 的连接器。您只需要放入标题,它就会连接到端点。我在质疑如何处理 Python 代码的数据部分中指定的聚合。
【解决方案2】:

问题解决了。 PYTHON代码的数据部分(不带\)放在Azure数据工厂复制Activity的请求体中,请求方式为POST。

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2023-02-16
    • 2022-08-05
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多