如何从http rest端点获取数据作为数据工厂的输入?
我的用例是每小时从其余的HTTP GET获取新数据,并将其更新/插入到天蓝色的文档数据库中。
您可以像这样创建一个端点并放入其余端点吗?
{
"name": "OnPremisesFileServerLinkedService",
"properties": {
"type": "OnPremisesFileServer",
"description": "",
"typeProperties": {
"host": "<host name which can be either UNC name e.g. \\\\server or localhost for the same machine hosting the gateway>",
"gatewayName": "<name of the gateway that will be used to connect to the shared folder or localhost>",
"userId": "<domain user name e.g. domain\\user>",
"password": "<domain password>"
}
}
}
我要添加什么样的组件来创建数据转换工作 - 我看到有很多东西,如hdinsight,数据湖和批处理,但不确定差异或适当的服务是什么,只需简单地插入新的设置为azure documentDb。
答案 0 :(得分:0)
我认为最简单的方法是使用Azure Logic Apps。 您可以使用Azure Logic App连接器中的Http Connector调用任何Restfull服务。
所以你可以根据时间表或基于其他一些GET监听器在流程中进行GET和POST / PUT等:
以下是它的文档:
https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-connector-http/
答案 1 :(得分:0)
To do this with Azure Data Factory you will need to utilize Custom Activities.
Similar question here: Using Azure Data Factory to get data from a REST API
If Azure Data Factory is not an absolute requirement Aram's suggestion might serve you better utilizing Logic Apps.
Hope that helps.
答案 2 :(得分:0)
这可以通过Data Factory实现。如果您希望按计划运行批次并且只有一个位置用于监视和管理,那么这一点尤其有用。我们的GitHub仓库中有一个示例代码,用于HTTP加载程序在此处填充https://github.com/Azure/Azure-DataFactory。然后,将数据从blob移动到docdb的操作将使用我们的DocDB连接器为您执行插入操作。这里有一个关于如何使用此连接器的示例https://azure.microsoft.com/en-us/documentation/articles/data-factory-azure-documentdb-connector/以下是您将完成场景的简要步骤
创建自定义.NET活动以使您的数据变为blob。
创建DocumentDb类型的链接服务。
创建AzureStorage类型的链接服务。
使用AzureBlob类型的输入数据集。
使用DocumentDbCollection类型的输出数据集。
创建并安排包含自定义活动的管道,使用BlobSource和DocumentDbCollectionSink的复制活动将活动安排到所需的数据集频率和可用性。
除此之外,选择运行转换的位置(HDI,Data Lake,Batch)将取决于您的I / O和性能要求。在这种情况下,您可以选择在Azure Batch或HDI上运行自定义活动。