我里面有azure blob container
名为azure-con
的文件夹,里面有文件夹test-data
这个文件夹,根据日期年份和分钟0
创建多个文件夹,1
在这个21
,22
等等。
我想从最新的文件夹路径获取文件将是-
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']