通过数据块列出 azure 存储帐户中的所有容器

List down all container within a storage account of azure through databricks

我想通过 databricks 从 azure 订阅中动态获取所有存储帐户和容器。
因此,我可以遍历容器中的每个文件并获取我之前完成的文件及其大小。
现在我想动态设置我的存储帐户和容器以在我的数据块环境中进行处理。

根据我的经验和我对数据块存储帐户中所有操作的理解,身份验证发生在 Azure 存储帐户级别。在这种情况下,如果您尝试通过服务主体或存储帐户访问密钥访问存储帐户,两者都在存储帐户级别,您可以列出存储帐户中的容器。但我们没有列出存储帐户的选项在订阅内。作为解决方法,您可以使用 powershell 来获取订阅中的存储帐户并将这些值传递给您的逻辑。

您可以使用以下代码获取存储帐户中的容器列表。

from azure.storage.blob.blockblobservice import BlockBlobService
blob_service = BlockBlobService(account_name='storageaccount', account_key='accesskey')
containers = blob_service.list_containers()
for c in containers:
    print(c.name)