繁体   English   中英

Azure函数:C#获取blob URI

[英]Azure Functions: C# Get blob URI

我有一个Azure函数,每当将映像上载到Azure存储帐户中的容器时,就会触发该函数。 我阅读了信息流并执行了一些操作。

我也想获取触发函数的Blob的uri,但是我该怎么做? 我是否需要使用其他输入/输出?

public static void Run(Stream myBlob, TraceWriter log) 
{
    //get byte array of the stream
    byte[] image = ReadStream(myBlob);
    // ...
}

如果您真的想要完整的URI,而不仅仅是blob相对路径( string blobTrigger将为您提供string blobTrigger ),那么您需要执行以下操作:

public static void Run(CloudBlockBlob myBlob, TraceWriter log) { // ... }

那时,您可以使用CloudBlockBlob对象模型来获取URI(例如StorageUri或其他一些相关的道具)并获取流(例如BeginDownloadToStream )。 请注意,执行此操作时,您将无法再直接将Stream作为输入参数接收。

在绑定中,可以为Blob路径定义一个变量名:

"path": "foo/{name}.bar",

然后添加name作为另一个函数参数:

public static void Run(Stream myBlob, string name, TraceWriter log) 

根据webjobs的blob文档 ,您可以简单地添加一个string blobTrigger参数:

public static void Run(Stream myBlob, string blobTrigger, TraceWriter log) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM