gpt4 book ai didi

google-app-engine - 将 App Engine Blobkey 解码为 Google Cloud Storage 文件名

转载 作者:太空宇宙 更新时间:2023-11-03 15:19:03 26 4
gpt4 key购买 nike

我有一个充满 BlobKey 的数据库,这些 BlobKey 是以前通过标准 Google App Engine 上传的 create_upload_url()过程,并且通过设置 gs_bucket_name 参数,每次上传都进入同一个 Google Cloud Storage 存储桶。

我想做的是能够解码现有的 blobkeys,这样我就可以获得他们的 Google Cloud Storage 文件名。我知道我可以一直在使用 gs_object_name来自 FileInfo class 的属性(property),除了:

You must save the gs_object_name yourself in your upload handler or this data will be lost. (The other metadata for the object in GCS is stored in GCS automatically, so you don't need to save that in your upload handler.

意思是 gs_object_name 属性仅在上传处理程序中可用,如果我当时没有保存它,那么它就会丢失。

此外,create_gs_key()没有成功,因为它取而代之的是使用谷歌存储文件名并创建一个 blobkey。

那么,我如何获取之前通过应用引擎上传到 Google Cloud Storage 存储桶的 blobkey,并获取它的 Google Cloud Storage 文件名? ( python )

最佳答案

您只能在上传处理程序 (fileInfo.gs_object_name) 中获取云存储文件名并将其存储在您的数据库中。之后它丢失了,似乎没有保存在 BlobInfo 或其他元数据结构中。

Google says: Unlike BlobInfo metadata FileInfo metadata is not persisted to datastore. (There is no blob key either, but you can create one later if needed by calling create_gs_key.) You must save the gs_object_name yourself in your upload handler or this data will be lost.

https://developers.google.com/appengine/docs/python/blobstore/fileinfoclass

更新:我能够在 Blobstore-Viewer 中解码 SDK-BlobKey:“encoded_gs_file:base64-encoded-filename-here”。然而,真实的东西不是 base64 编码的。

create_gs_key(filename, rpc=None) ... Google 说:“将加密的 blob key 作为字符串返回。”有谁猜到为什么这是加密的?

关于google-app-engine - 将 App Engine Blobkey 解码为 Google Cloud Storage 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19130113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com