当前位置: 首页 > 知识库问答 >
问题:

Azure函数:C#获取blob URI

归俊
2023-03-14

我有一个Azure函数,每当图像上传到Azure存储帐户中的容器时就会触发该函数。我读流并做一些动作。

我还想获取触发函数的blob的uri,但我如何做到这一点?我必须使用额外的输入/输出吗?

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

共有3个答案

宋飞掣
2023-03-14

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

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

然后将名称添加为另一个函数参数:

public static void Run(Stream myBlob, string name, TraceWriter log) 
魏英勋
2023-03-14

根据 Web 作业的 blob 文档,只需添加一个字符串 blobTrigger 参数:

public static void Run(Stream myBlob, string blobTrigger, TraceWriter log) 
井学
2023-03-14

如果您真的想要完整的URI,而不仅仅是blob相对路径(这是<code>string blobTrigger</code>提供的),您需要执行以下操作:

公共静态空运行(CloudBlockBlob myBlob, TraceWriter日志){//...}

此时,您可以使用CloudBlockBlob对象模型来获取URI(例如,StorageUri或其他一些相关的属性)和获取流(例如,BeginDownloadToStream)。请注意,当您这样做时,您不能再直接接收流作为输入参数。

 类似资料:
  • 我有函数应用,它连接到blob,读取文件内容并将内容发布到API。该函数在Visual Studio的调试中完美运行。我遇到的问题是,部署时无法从 Azure 工作。我得到的错误是: 问题Id:系统。MYFUNCTION处的ArgumentNullException。FA . file manager . blob container manager . getcloudblob containe

  • 我想利用AZURE Function应用程序从AZURE BLOB存储中读取XLSX文件。该函数应由REST API调用来调用。我可以访问blob并下载文件,但我很难用pandas直接读取文件内容。我找了几个小时,但是找不到解决办法。我的最新方法是这样的: 在MS homepage*上,有一个从blob下载文件并随后进行处理的例子,但由于我使用的是功能应用程序,如果我没有遗漏任何内容,那么首先下载

  • 我正在尝试使用 azure 函数读取 azure blob 内容。 容器名称始终相同,Blob名称由触发该函数的队列消息传递。 当我运行此函数时,函数超时(超过5分钟)。 带有blob名称的队列消息是正确的并显示出来,blob只包含一个长json,大约是292kb。 我尝试在创建新blob时直接触发该函数,但它返回了一个带有流的对象,您知道任何方法使该流可读吗? 使用上面的代码,我可以正确获取bl

  • 我想知道无论如何都有从Azure Cosmos获得所有数据库的列表。我看到一个可能的解决办法在这里。然而,如果我只知道连接字符串,有没有任何东西可以做它?

  • 我有一个angular应用程序和一个Azure Functions应用程序。这两个应用程序都经过Azure AD的身份验证。虽然我在放入正确的凭据后调用Functions应用程序的功能,但它工作正常。Angular应用程序正在将令牌附加到调用中,用于验证Azure函数。然而,在Azure函数中,我需要根据用户设置一些逻辑,但无法找到如何获取调用该函数的用户的信息。我尝试ClaimsPrincipa