【问题标题】:How to properly lazy load images from a blob container?如何从 blob 容器中正确延迟加载图像?
【发布时间】:2020-10-28 12:14:50
【问题描述】:

我愿意实施一种延迟加载方法来加载存储在azure存储帐户内的“images”文件夹中的图像。

我的 flutter 应用中有一个容器,每当用户向下滚动底部时,都会根据最新(时间戳)从存储中加载 10 张新图像。

我查看了从以下位置检索到的样本:https://azuresdkdocs.blob.core.windows.net/$web/python/azure-storage-blob/12.0.0b5/index.html#id20

from azure.storage.blob.aio import ContainerClient

container = ContainerClient.from_connection_string(conn_str="my_connection_string", container_name="my_container")

blob_list = []
async for blob in container.list_blobs():
    blob_list.append(blob)
print(blob_list)

但这不是我需要的。我正在寻找一种方法来发出 get 请求,该请求将在调用该函数时检索我的一组新图像..

感谢您的建议!

【问题讨论】:

    标签: python azure containers lazy-loading azure-blob-storage


    【解决方案1】:

    我能够通过使用 marker 延续对象实现延迟加载方法

    例子:

    mark=req.params.get('NextMarker')
    entit = table_service.query_entities('UserRequests','PartitionKey eq \'' + emailAddress + '\'',num_results=21,select= '..', marker=mark)
    Dict = {"NextMarker": entit.next_marker}
    return json.dumps(Dict)
    

    这样我每次都可以在 http get 请求中发送标记以获取第二批。

    我希望有一天这对某人有所帮助!

    【讨论】:

      【解决方案2】:

      如果您想按 blob 创建时间列出 blob,很遗憾,Azure list blobs API 不支持(SDK 基于 API)。 Blob 创建时间属于 Blob 属性,正如the official doc 所指出的,不能将 Blob 属性设置为请求参数。

      因此,如果您想为每个请求获取所有新图像,也许您应该首先获取一个 blob 列表并自己对它们进行排序并剪下您需要的项目。您需要编写一些额外的代码。但是,如果您使用 Azure PowerShell 来执行此操作,则可以更轻松地实现整个过程。 You can refer to this similar requirement.

      【讨论】:

        猜你喜欢
        • 2022-10-25
        • 1970-01-01
        • 2020-08-12
        • 2023-03-07
        • 1970-01-01
        • 2011-04-17
        • 2013-10-05
        • 2012-05-18
        • 1970-01-01
        相关资源
        最近更新 更多