【问题标题】:How do i write an Azure Blob storage trigger that transfers to a data lake如何编写传输到数据湖的 Azure Blob 存储触发器
【发布时间】:2018-03-17 00:34:05
【问题描述】:
我想创建一个 Blob 存储触发器,它将任何文件放入 Blob 存储(一个快速过程)并将它们传输到 Data Lake 存储(而不是另一个 Blob 存储位置)。
这个可以吗?
可以使用 JavaScript 完成,还是需要 C#?
是否存在显示如何执行此操作的示例代码?如果是这样,请您指点我吗?
注意:我们创建了一个从 Blob 存储到数据湖存储的管道。这不是我在这里要问的。
【问题讨论】:
标签:
azure
azure-storage
azure-data-lake
azure-blob-storage
【解决方案1】:
您可能会使用 Azure 函数或 Azure 逻辑应用来检测 Blob 存储上的新文件,然后调用您的 webhook 来触发管道或自行执行移动。
【解决方案2】:
这个可以吗?
正如 jamesbascle 提到的,我们可以使用 Azure 函数来做到这一点。
可以使用 JavaScript 完成,还是需要 C#?
可以使用 javascript 或 C# 来完成。
是否存在显示如何执行此操作的示例代码?如果是这样,请您指点我吗?
如何创建Blob存储触发函数,请参考this document。我们还可以从this document 获取 C#/javascript 演示代码。
JavaScript 代码
module.exports = function(context) {
context.log('Node.js Blob trigger function processed', context.bindings.myBlob);
context.done();
};
C# 代码
[FunctionName("BlobTriggerCSharp")]
public static void Run([BlobTrigger("samples-workitems/{name}")] Stream myBlob, string name, TraceWriter log)
{
log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}