Google cloud storage 如何在tensorflow模型中使用python访问google云存储桶中最新上传的对象
我正在研究tensorflow模型,我想利用最新的ulpoad对象,以便从上传的对象获得输出。是否有方法使用python访问上传到Google云存储桶的最新对象。没有直接方法从Google云存储获取最新上传的对象。但是,使用对象的元数据有一个变通方法 上传到谷歌云存储的每个对象都有不同的元数据。有关更多信息,请访问文档。其中一个元数据是“上次更新的”。此值是上次更新对象的时间戳。这只能在3种情况下发生: A) 该对象是第一次上载的 B) 该对象已上载并被替换,因为它已存在 C) 对象的元数据已更改 如果不更新对象的元数据,则可以使用以下解决方法:Google cloud storage 如何在tensorflow模型中使用python访问google云存储桶中最新上传的对象,google-cloud-storage,python-3.5,Google Cloud Storage,Python 3.5,我正在研究tensorflow模型,我想利用最新的ulpoad对象,以便从上传的对象获得输出。是否有方法使用python访问上传到Google云存储桶的最新对象。没有直接方法从Google云存储获取最新上传的对象。但是,使用对象的元数据有一个变通方法 上传到谷歌云存储的每个对象都有不同的元数据。有关更多信息,请访问文档。其中一个元数据是“上次更新的”。此值是上次更新对象的时间戳。这只能在3种情况下发生: A) 该对象是第一次上载的 B) 该对象已上载并被替换,因为它已存在 C) 对象的元数据已更
blob.update
获取blob.metadata
,然后使用与上面相同的逻辑使用该日期
附加说明:
要使用自定义元数据,您需要使用前缀x-goog-meta-
,如查看和编辑对象元数据文档中的部分所述
因此,[CUSTOM\u METADATA\u KEY]应该类似于
x-goog-meta-UPLOAD
,[CUSTOM\u METADATA\u VALUE]应该是[CURRENT\u TIMESTAMP\u DURING\u UPLOAD]
下面是我用来抓取最新更新对象的
实例化您的客户机
从google.cloud导入存储
#首先建立你的客户
storage\u client=storage.client()
通过前缀定义bucket\u name
和任何其他路径
#拿上你的衣服
bucket_name='你光荣的bucket name'
前缀='special directory/in/your/bucket'#可选
迭代客户端返回的blob
将这些存储为元组记录既快捷又高效
blob=[(blob,blob.updated)用于存储中的blob\u client.list\u blob(
你的名字,
前缀=前缀,
)]
根据第二个元组值对列表进行排序
#根据更新的键排序并获取最新值
latest=sorted(blob,key=lambda tup:tup[1])[-1][0]
string\u data=最新。下载\u作为\u string()
元数据密钥和谷歌云存储
一行
#假设存储_客户端如上所述
#latest是blob数据的字符串格式响应
latest=storage\u client.list\u blob(bucket\u name,prefix=prefix)]中blob的排序([(blob,blob.updated)],key=lambda tup:tup[1])[-1][0]。下载为字符串()