簡體   English   中英

如何在 Azure Python SDK 中列出從“a”到“z”的 blob 名稱?

[英]How to list blob names from 'a' to 'z' in Azure Python SDK?

目前我有以下列出我的 blob 容器中的所有 blob:

blobs = container_client.list_blobs()

但是,我正在尋找一種方法來列出以“a”到“z”中的任何字母開頭的所有 blob。 我已經閱讀了有關 name_starts_with 參數的信息,但似乎我只能指定一個字母,而不是一個范圍。 例如:

blobs_with_a = container_client.list_blobs(name_starts_with='a')

有沒有辦法指定blob可以開始的字母范圍而不是指定單個字符?

一種解決方法是檢查 blob 的第一個字母,確保其 ASCII 值范圍從 97 到 122。下面是對我有用的代碼。

import os
from azure.storage.blob import BlockBlobService

ACCOUNT_NAME = "<STORAGE_ACCOUNT_NAME>"
CONTAINER_NAME = "<CONTAINER>"
SAS_TOKEN='<SAS_TOKEN>'

blob_service = BlockBlobService(account_name=ACCOUNT_NAME,account_key=None,sas_token=SAS_TOKEN)

# Lists All Blobs
print("\nList blobs in the container")
generator = blob_service.list_blobs(CONTAINER_NAME)
for blob in generator:
    blobname=blob.name
    if(ord(blobname[0])>=97 and ord(blobname[0])<=122):
        print(blobname)

樣本結果:

我的存儲帳戶中的 Blob

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM