如何从最新的 blob 文件夹 azure blob 容器中获取最新文件



我里面有azure blob container名为azure-con的文件夹,里面有文件夹test-data这个文件夹,根据日期年份和分钟0创建多个文件夹,1在这个2122等等。

我想从最新的文件夹路径获取文件将是-

azure-con/1/22/333.json

尝试了这段代码,但对我不起作用,无法使用 LastModified 获取其中的最新文件夹和文件 -

 var containerName = "azure-con";  
  var latestBlob = containerName
    .OfType<CloudBlockBlob>()
    .OrderByDescending(m => m.Properties.LastModified).FirstOrDefault();

            //var blobName = "azure-con/1/22/333.json";
            I want to pass this above blobName from latestBlob code which gives latest file path
            var storageAccount = CloudStorageAccount.Parse(connectionString);
            var blobClient = storageAccount.CreateCloudBlobClient();
            var container = blobClient.GetContainerReference(containerName);
            var blob = container.GetBlockBlobReference(blobName);

这是一种使用 Pandas 和 Python 获取最新文件名的方法。绝对不是大规模的最佳选择,但可以解释。

 def get_latest_file_name_in_blob(conn_url):
        """
        Retrieves the file name of the latest file in a specific blob in Azure Blob store.
        """
        from azure.storage.blob import ContainerClient
        import pandas as pd
    
        container = ContainerClient.from_container_url(container_url=conn_url)
    
        file_date_df = pd.DataFrame(columns=['blob_name', 'last_modified'])
        count = 0
    
        for blob in container.list_blobs():
            file_date_df.loc[count] = [f'{blob.name}', f'{blob.last_modified}']
            count = count + 1
    
        file_date_df['last_modified'] = pd.to_datetime(file_date_df['last_modified'], format='%Y-%m-%d %H:%M:%S')
    
        return file_date_df.loc[file_date_df['last_modified'] == file_date_df['last_modified'].max()]['blob_name']

最新更新