Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建azure函数以访问多个azure blob存储帐户?_Azure_Azure Functions_Azure Storage Blobs - Fatal编程技术网

如何创建azure函数以访问多个azure blob存储帐户?

如何创建azure函数以访问多个azure blob存储帐户?,azure,azure-functions,azure-storage-blobs,Azure,Azure Functions,Azure Storage Blobs,请帮助解决此问题 我有两个Azure blob存储帐户storage1和storage2,如何编写一个Azure函数,在任何文件上载到存储帐户时触发该函数。您只需创建两个函数,在这两个不同的blob上触发,并创建一个处理文件的方法,如下所示: 职能1: public static class Function1 { [FunctionName("Function1")] public static void Run([BlobTrigger("samples-workitems/

请帮助解决此问题


我有两个Azure blob存储帐户storage1和storage2,如何编写一个Azure函数,在任何文件上载到存储帐户时触发该函数。

您只需创建两个函数,在这两个不同的blob上触发,并创建一个处理文件的方法,如下所示:

职能1:

public static class Function1
{
    [FunctionName("Function1")]
    public static void Run([BlobTrigger("samples-workitems/{name}", Connection = "")]Stream myBlob, string name, ILogger log)
    {
        log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
        new MySharedCode().Process(myBlob, name, log);            
    }
}
职能2:

public static class Function2
{
    [FunctionName("Function2")]
    public static void Run([BlobTrigger("samples-workitems/{name}", Connection = "AzureWebJobsStorage2")]Stream myBlob, string name, ILogger log)
    {
        new MySharedCode().Process(myBlob, name, log);
    }
}
并具有一些共享代码,用于处理上载的文件:

class MySharedCode
{
    internal void Process(Stream myBlob, string name, ILogger log)
    {
        // Process the file
    }
}
在设置文件中,您必须设置存储连接字符串:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "{connection string to storage1}",
    "AzureWebJobsStorage2": "{connection string to storage2}",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
  }
}
这对我来说很好。这个想法基于这个github线程:

您尝试过本教程吗?:是的,Tamas,我浏览了本博客,但我必须编写多个azure函数来触发多个存储帐户。我可以通过创建azure事件网格触发器来实现此场景,该触发器使用单个azure函数触发多个存储帐户。