[docs]classAzureBlobStorageContainerLoader(BaseLoader):"""Load from `Azure Blob Storage` container."""
[docs]def__init__(self,conn_str:str,container:str,prefix:str=""):"""Initialize with connection string, container and blob prefix."""self.conn_str=conn_str"""Connection string for Azure Blob Storage."""self.container=container"""Container name."""self.prefix=prefix"""Prefix for blob names."""
[docs]defload(self)->List[Document]:"""Load documents."""try:fromazure.storage.blobimportContainerClientexceptImportErrorasexc:raiseImportError("Could not import azure storage blob python package. ""Please install it with `pip install azure-storage-blob`.")fromexccontainer=ContainerClient.from_connection_string(conn_str=self.conn_str,container_name=self.container)docs=[]blob_list=container.list_blobs(name_starts_with=self.prefix)forblobinblob_list:loader=AzureBlobStorageFileLoader(self.conn_str,self.container,blob.name,)docs.extend(loader.load())returndocs