Azure文件共享同一文件SMB挂载与REST端修改日期不一致问题
Azure文件共享SMB与REST日期显示差异解析
一、2012年的修改日期存储位置
2012年的修改日期是作为文件的SMB/NTFS兼容元数据存储在Azure文件共享的文件属性中的。当你通过Windows资源管理器(SMB协议)复制文件时,原文件的NTFS时间戳属性(包括创建时间、修改时间、访问时间)会被完整保留并存储到Azure文件共享中,但这类属性属于SMB专属的元数据字段,并非Azure存储服务默认对外暴露的通用属性。
二、SMB与REST显示日期不同的原因
两种访问方式依赖的协议和读取的元数据维度存在本质差异:
- SMB挂载方式:通过SMB协议连接时,Azure文件共享会将存储的SMB/NTFS元数据直接映射为Windows系统可识别的文件时间戳,因此会展示原文件的修改日期(2012年),和原驱动器显示的结果一致。
- REST方式(存储资源管理器、Python API):默认调用Azure存储的REST接口时,返回的是Azure存储服务层面的
Last Modified时间——也就是文件被写入到Azure文件共享的时间(2024年,即你完成复制操作的时间)。REST接口不会主动返回SMB专属元数据,需通过特定操作获取:- 存储资源管理器:默认视图不显示SMB时间戳,需手动开启自定义列或通过属性面板查看SMB相关属性;
- Python API:需调用
get_file_properties()方法,从返回结果的smb_properties.last_write_time字段中读取原文件的修改日期。
内容的提问来源于stack exchange,提问作者Tomasz
相关产品推荐
相关产品推荐

