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

如何将仅限 Azure Blob 的存储帐户与 Azure Functions 配合使用 - 尝试创建 Blob 快照

燕正卿
2023-03-14

我正在尝试设置一个函数,以便在每次向Blob容器推送更改时对其进行快照。Azure Functions中有一些非常简单的功能可以做到这一点,但它仅适用于通用存储帐户。我正在尝试使用仅限blob的存储帐户来执行此操作。我对Azure很陌生,所以我可能完全错误,但我无法找到很多有用的信息。有什么方法可以做到这一点吗?

共有2个答案

尹俊雅
2023-03-14

在Visual Studio中:

我曾尝试为名为<code>joyblobstorage

正如错误信息所示,Microsoft.Azure.WebJobs.Host:存储帐户“joyblobstorage”是不受支持的类型“Blob-Only/ZRS”。支持的类型为“常规用途”。

在门户中:

我尝试创建一个功能应用程序并使用现有存储,但它找不到我的blob only存储帐户。门户中的Azure功能设置不应允许我们选择仅blob存储帐户。请参阅屏幕截图。

结论:

无法为仅Blob存储创建快照。在官方留档中,您可以看到存储帐户要求。

在应用服务中创建函数应用时,必须创建或链接到支持Blob、队列和表存储的通用Azure存储帐户。

此外,在应用程序设置参考中,您可以看到

AzureWebJobsStorage

Azure Functions 运行时将此存储帐户连接字符串用于除 HTTP 触发函数之外的所有函数。存储帐户必须是支持 Blob、队列和表的通用帐户。

AzureWebJobsDashboard

可选的存储帐户连接字符串,用于存储日志并将其显示在门户的监视器选项卡中。存储帐户必须是支持blob、队列和表的通用帐户。

以下是反馈,Azure应用程序服务团队已经解释了存储帐户的要求,您可以参考。

柳杰
2023-03-14

正如@joy wang提到的,Azure函数运行时需要一个通用存储帐户。

配置 AzureWebJobsStorage 和 AzureWebJobsDashboard 设置(Azure 门户中的 local.settings.json 或 Appsettings Blade)需要常规用途存储帐户:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "my general purpose storage account connection string",
    "AzureWebJobsDashboard": "my general purpose storage account connection string",
    "MyOtherStorageAccountConnectionstring": "my blob only storage connection string"
  }
}

如果要创建BlobTrigger函数,可以指定另一个连接字符串,并在每次创建/更新blob时创建快照:

[FunctionName("Function1")]
public static async Task Run([BlobTrigger("test-container/{name}",
        Connection = "MyOtherStorageAccountConnectionstring")]CloudBlockBlob myBlob,
        string name, TraceWriter log)
{
    log.Info($"C# Blob trigger function Processed blob\n Name:{name}");
    await myBlob.CreateSnapshotAsync();
}
 类似资料:
  • 请帮助解决此问题。 我有两个Azure blob存储帐户store age1和storage2,如何编写一个Azure函数,一旦将任何文件上传到存储帐户,该函数就会触发。

  • 我刚刚创建了一个Azure应用服务来托管一个Web应用程序,我想打开应用程序日志记录。我已经在应用程序本身中启用了它。 使用Azure门户,我试图配置应用程序以在诊断日志下进行日志记录,但在我创建了一个新的存储帐户来保存日志blob后,它不允许我在存储帐户中创建具有blob访问权限的容器。我一直从门户网站上收到“错误:Error”。我还尝试创建一个文件容器,但失败了,出现了相同的错误。 为什么我不

  • 我测试了在新的Azure门户中创建经典存储帐户(manage.windowsazure.com)和“新”存储帐户。将它们设置为类似的,并运行相同的代码来创建和配置队列。但指标仅显示门户中的经典存储帐户(能够在新门户中看到这两个帐户) 我已经像这样设置了ServiceProperties,并且可以在获取服务属性或查看Azure门户时成功地看到保存的这些更改。 当我使用Microsoft Azure

  • 问题内容: 我的权限记录绑定到我的应用程序中的每个帐户。每个帐户可以具有一个或多个基于帐户类型的权限记录。这是示例: 上面的查询将为其中一个帐户产生这样的数据: 正如您在上方看到的,此帐户已分配了4条记录。访问类型可以是“完全”或“仅查看” 。访问级别可以是州“ S”,城市“ C”或建筑物“ B”。用户一次只能分配一个访问级别,因此,例如,不存在用户可以分配城市和州级别的情况。我的问题是,针对特定

  • 我有一个MVC4项目,我正在使用Azure网站预览运行。 我的问题是,当我将网站部署到azure时,我无法将blob上传到blob存储容器中,但是当我在本地调试时,上传工作正常。 这是我在部署并尝试上载到容器时得到的异常和堆栈跟踪: 找不到有效的帐户信息组合。在微软。WindowsAzure。存储CloudStorageAccount。微软的b__0(字符串错误)。WindowsAzure。存储C