【问题标题】:How to set blob properties in an Azure Function?如何在 Azure 函数中设置 blob 属性?
【发布时间】:2020-05-21 20:30:02
【问题描述】:

This example 展示了如何使用 C# 设置 blob 属性,例如 ContentType。如何在以下 Azure 函数中完成此操作?方法签名不使用CloudBlob 对象,而是使用Stream 对象来读取blob。

[FunctionName("MyFunction")]
public static async Task Run([BlobTrigger("container-name/folder-name/{name}", Connection = "ConnectionString")]Stream myBlob, string name, ILogger log, Binder binder)
{
    // How to change the ContentType property?
}

【问题讨论】:

  • Inheritance Stream -> CloudBlobStream 这只是在内存中使用它。将其转换为cloudBlobStream
  • 您能提供一个工作示例的答案吗?我更改了方法签名,但对象上没有“属性”字段。
  • 不要更改方法签名。将其保留为流并将其附加到 cloudblob 对象。试试类似stackoverflow.com/questions/19161869/… 的东西,因为我没有这样的环境。
  • 您提供的链接中没有 CloudBlobStream?
  • 该链接显示了将cloudblobstream 结合使用的示例。它应该是你正在寻找的。将stream 转换为memorystream,然后将其读入cloudblob 对象。

标签: c# azure azure-functions azure-blob-storage


【解决方案1】:

请使用以下代码(我使用的是visual studio 2017,并创建函数v2):

using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using Microsoft.WindowsAzure.Storage.Blob;

namespace FunctionApp3
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static void Run([BlobTrigger("container-name/folder-name/{name}", Connection = "AzureWebJobsStorage")]ICloudBlob myBlob, string name, ILogger log)
        {
            log.LogInformation("...change blob property...");

            //specify the property here
            myBlob.Properties.ContentType = "text/html";

            //commit the property
            myBlob.SetPropertiesAsync();
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多