作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对 MS Azure 的世界还很陌生。我正在尝试使用 Python 获取保存在我的 blob 存储中的一堆文件( block blob)的文件名和最后修改日期。这是我正在使用的代码:
import datetime
from azure.storage.blob import BlockBlobService
blob_service = BlockBlobService(account_name=account, account_key=acckey,protocol='http', request_session=sess)
blob_service.get_blob_to_path(container, pdfname, pdflocal)
generator = blob_service.list_blobs(container)
filenames = []
for blob in generator:
print (blob.name)
pdflocal = './' + blob.name
properties=blob_service.get_blob_to_path(container, blob.name,pdflocal)
date_year = datetime.datetime.fromtimestamp(os.path.getmtime("./"+blob.name) ).strftime('%Y-%m-%d %H:%M:%S')
print (date_year)
filenames.append(blob.name)
print len(filenames)
这里的问题是,代码尝试创建我的文件的副本,因此上次修改日期被更新为当前日期和时间。如何访问 Azure ML Studio 中实际的上次修改日期和时间?
我读到了有关 Blob.Properties.LastModified 的内容,但它似乎在 python 中不起作用。这里令人困惑的事情之一是关于转换 CloudBlob 中的 blob。我不确定这是否必须在 Python 脚本中完成,因为存储资源管理器中的 blob 具有三种类型: block 、页面和追加。我在这里遗漏了什么吗?
最佳答案
听起来您想获得 last_modified
在 Azure ML Studio 中使用 Python 来获取 Azure 上 blob 的属性。请尝试使用下面的代码。
for blob in generator:
last_modified = blob.properties.last_modified
print(last_modified)
你可以尝试编码<object>.__dict__
如果您不确定哪些属性是否存在,可以在Python交互式环境中显示Python对象的属性,例如如下。
# Show the properties of a Blob object
>>> blob.__dict__
{'content': '', 'metadata': {}, 'snapshot': None, 'name': 'test.tmp',
'properties': <azure.storage.blob.models.BlobProperties object at 0x7f4f8f870110>}
# Show the properties of the BlobProperties Object
>>> blob.properties.__dict__
{'content_length': 99831, 'blob_type': 'BlockBlob', 'append_blob_committed_block_count': None,
'last_modified': datetime.datetime(2016, 11, 23, 5, 46, 10, tzinfo=tzutc()), 'content_range': None, 'etag': '"0x8D4136407173436"', 'page_blob_sequence_number': None, 'content_settings': <azure.storage.blob.models.ContentSettings object at 0x7f4f8f870510>, 'copy': <azure.storage.blob.models.CopyProperties object at 0x7f4f8f870650>, 'lease': <azure.storage.blob.models.LeaseProperties object at 0x7f4f8f870810>}
关于python - 如何在 Microsoft Azure 中提取 Blob 存储中的 Blob 的上次修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40976398/
我是一名优秀的程序员,十分优秀!