[英]HTTP trigger azure function get image from blob storage error
[英]Unable to get Blob SAS URL using Azure Function Blob trigger
我正在使用 Blob 触发器 Azure function 在任何文件上传到容器时获取 Blob 文件数据。
public static void Run(Stream myBlob,string BlobTrigger,System.Uri uri, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes + URL: {uri}");
}
使用上述方法,我能够获取上传的项目的 URL。 目前,上述代码是使用 Azure 提供的 Develop in Portal 选项生成的。
有什么方法可以获取已上传的 Blob 文件的SAS URL ?
从我们这边复制之后。 这是我每次上传 blob 时如何实现的。
using System;
using System.IO;
using Azure.Storage;
using Azure.Storage.Blobs;
using Azure.Storage.Sas;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
namespace FunctionApp10
{
public static class Function1
{
[FunctionName("Function1")]
public static void Run([BlobTrigger("samples-workitems/{name}", Connection = "ConnectionStore")]Stream myBlob, Uri uri, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
BlobSasBuilder blobSasBuilder = new BlobSasBuilder()
{
BlobContainerName = "<YOURCONTAINERNAME>",
BlobName = name,
ExpiresOn = DateTime.UtcNow.AddMinutes(5),
};
blobSasBuilder.SetPermissions(BlobSasPermissions.All);
string accountName = "<YOURACCOUNTNAME>";
string accountKey = "<YOURACCOUNTKEY>";
var sasToken = blobSasBuilder.ToSasQueryParameters(new StorageSharedKeyCredential(accountName, accountKey)).ToString();
var sasUrl = uri.AbsoluteUri + "?" + sasToken;
Console.WriteLine(sasUrl);
}
}
}
结果:
在存储帐户中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.