代码之家  ›  专栏  ›  技术社区  ›  Adam

Azure Blob存储-发送图像名称列表并获取图像列表

  •  0
  • Adam  · 技术社区  · 7 年前

    我面临一个问题。我必须在xamarin.forms应用程序中实现从Azure Blob存储区加载多个图像的解决方案。

    我想知道如何发送图像名称列表并从Azure Blob存储帐户获取图像列表。

    谢谢您!

    1 回复  |  直到 7 年前
        1
  •  2
  •   Josh Carlisle    7 年前

    Azure Blob没有强查询\搜索故事。如果您知道容器,那么您可以一直迭代该容器中的blob,但这将非常低效,而且不太理想。您也可以使用AzureSearch为blob存储(及其内容)编制索引,但我发现这对您的用例来说是多余的。

    我的建议是在可搜索的数据源中存储对blob的引用。如果你已经为你的应用程序准备了一个数据源(比如SQL),我会使用它。

    一种廉价的方法是在创建新的blob时使用一个Azure函数或逻辑应用程序来触发,并存储以后需要查找的数据(例如文件名)以及blob引用。表存储是一种非常便宜的方法,或者您可以使用任何您喜欢的数据存储。然后,您可以在Azure函数(或您选择的主机)中托管一个API端点,Xamarin应用程序可以在其中传递文件名并返回结果。

    使用Azure函数,写入表存储的BLOB触发器的代码非常少,将遵循如下模式:

    public static void Run(
            [BlobTrigger("mycollection/{name}")] BlobProperties blobProperties,
            [Table("blobdata")]IAsyncCollector<MyBlobDataPoco> tableData,
            string name, TraceWriter log)
        {
            var myData = new MyBlobDataPoco() { Filename = name, Container= "mycollection" };
            tableData.AddAsync(myData);
    
        }