当文件在 blob 存储中被修改时自动触发快照
Automatically trigger the snapshot when file has modified in blob storage
我使用 Azure blob 存储来备份 data.The 备份是由从 CosmosDB 中提取的 Azure 数据工厂完成的。存储备份数据的结构是:数据存储帐户-->容器-->我每天保存的JSON个文件。但是,备份只是覆盖,我将无法下载以前的数据。
我意识到有一个 Create Snapshot 按钮,当我 select JSON 文件(Blob)并单击该按钮时,我可以得到JSON 文件的快照,当这些 JSON 文件的时间戳发生变化时,如何自动生成快照?换句话说,一旦数据工厂打包了今天的数据,就会创建今天的快照。
您可以创建一个 azure function with blob trigger。如果文件被修改,函数就会执行,抓图逻辑应该放在函数中。
这里是示例代码(注意:第一个参数myBlob
,将类型改为CloudBlockBlob
):
public static class Function1
{
[FunctionName("Function1")]
public static void Run([BlobTrigger("images/{name}", Connection = "AzureWebJobsStorage")]CloudBlockBlob myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name}");
log.LogInformation("take snapshots for blob: " + name);
myBlob.SnapshotAsync().Wait();
}
}
这里是 local.settings.json 中的设置:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "connection string of the azure storage account",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
我使用 Azure blob 存储来备份 data.The 备份是由从 CosmosDB 中提取的 Azure 数据工厂完成的。存储备份数据的结构是:数据存储帐户-->容器-->我每天保存的JSON个文件。但是,备份只是覆盖,我将无法下载以前的数据。
我意识到有一个 Create Snapshot 按钮,当我 select JSON 文件(Blob)并单击该按钮时,我可以得到JSON 文件的快照,当这些 JSON 文件的时间戳发生变化时,如何自动生成快照?换句话说,一旦数据工厂打包了今天的数据,就会创建今天的快照。
您可以创建一个 azure function with blob trigger。如果文件被修改,函数就会执行,抓图逻辑应该放在函数中。
这里是示例代码(注意:第一个参数myBlob
,将类型改为CloudBlockBlob
):
public static class Function1
{
[FunctionName("Function1")]
public static void Run([BlobTrigger("images/{name}", Connection = "AzureWebJobsStorage")]CloudBlockBlob myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name}");
log.LogInformation("take snapshots for blob: " + name);
myBlob.SnapshotAsync().Wait();
}
}
这里是 local.settings.json 中的设置:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "connection string of the azure storage account",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}