我正在尝试为 ADLS2 存储实现 Azure blob 触发器
这是一个简单的触发器。
public class Function1
{
[FunctionName("Function1")]
public void Run([BlobTrigger("sample/my-directory/{name}", Connection = "AzureWebJobsStorage")]Stream myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
}
但是当我上传新文件到容器sample/my-directory时,它没有触发我的blob触发器。
但同样,如下面的屏幕截图所示,我的连接字符串有效。我可以使用StorageExplorer中的相同连接字符串连接到存储,并且下面的依赖项显示其连接良好。
这是我的local.settings.json文件
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=xxx;EndpointSuffix=core.windows.net",
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=xxx;EndpointSuffix=core.windows.net",,
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
请分享您的想法,我错过了什么或我的方法错了?
我可以看到,在连接的服务上,Azure 存储:aplledossdevuksstd
的连接字符串名称已替换为连接字符串值,但只需要提供一个示例连接字符串名称。它的值将自动存储在Secrets.json
中。
或者,您可以在local.settings.json中添加连接字符串,并在< code>Function1.cs中添加连接字符串名称
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<YOUR CONNECTION STRING>",
"FUNCTIONS_WORKER_RUNTIME": "dotnet"
}
}
using System;
using System.IO;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace FunctionApp3
{
public class Function1
{
[FunctionName("Function1")]
public void Run([BlobTrigger("samples/dir1/{name}", Connection = "AzureWebJobsStorage")]Stream myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}
}
}
结果:
我正在使用应用服务计划进行 azure 函数,并添加了 blob 触发器,但是当任何文件上传到 blob 容器时,函数没有触发.或者有时它花了太多时间,然后在它开始触发之后。任何建议将不胜感激 它应该在新文件上传到 Blob 容器时触发该函数。
我在 Azure 数据工厂中具有事件触发器,它在 Azure Blob 存储中创建新 Blob 时触发。但我的触发器在创建 Blob 时没有触发。 已按照以下链接进行操作,但卡在下面提到的点:Azure 数据工厂:事件未启动管道。 环境详情: 事件网格已注册,ADF为v2并将参数传递给管道。我的问题是我是否需要激活Azure存储事件订阅?如果是这样,我的事件处理程序应该是什么(在我的情况下是ADF
问题内容: 我的整个项目都使用(Bluebird)Promises,但是有一个使用EventEmitter的特定库。 我想要实现以下目标: 我在Promises链中读了EventEmitter的答案。这给了我一种执行’connect’事件的回调的方法。这是我到目前为止所到之处 现在如何进一步链接“ eventB”? 问题答案: 我假设您想为每个事件做不同的事情。即使由的动作触发,您也可以将其视为另
如果你使用blob存储触发器阅读Azure WebJobs上的留档,它们会提到这不是很可靠: WebJobs SDK扫描日志文件以查看新的或更改的blob。这个过程不是实时的;在创建blob后的几分钟或更长时间内,函数可能不会被触发。此外,存储日志是在“尽力而为”的基础上创建的;无法保证所有事件都将被捕获。在某些情况下,日志可能会丢失。如果您的应用程序无法接受blob触发器的速度和可靠性限制,建议
我正在使用Azure Databricks中的spark解析Azure blob存储中的文件。blob作为DBFS挂载。现在我在笔记本上使用硬编码文件名(dbfs文件名)。但是每当创建新blob时,我希望用新的dbfs名称触发笔记本。我检查了使用Azure函数我可以得到一个blob触发器。我可以从Azure函数启动databricks笔记本/作业吗?对blob的操作需要相当长的时间。在这种情况下使
我有两个blob触发器,我想触发。一个有效,一个无效! 我使用Azure Storage Explorer来确保blob被上传到每个blob,< code>scanFiles永远不会触发,而< code>scanExports似乎总是会触发。 问题:什么会导致某些blob无法触发Azure函数?
当我的函数方法签名如下时,我有一个成功触发的v3 WebJob: 然而,当我添加一个输出blob时,BlobTrigger永远不会触发。 下面的文档如下:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#output
我有一个blob触发器Azure函数,每次将新文件添加到我的blob存储时都会调用该函数。我自动获取该文件的名称作为输入。除了名称之外,我还需要附加到给定文件的元数据。我一直在研究数据输入绑定,但我无法理解它。我需要做些什么才能将文件元数据作为输入?或者,甚至只是在我的函数中访问它?