在 Google App Engine (GAE) 中,应用程序的文件存储和下载位置取决于您使用的环境(标准环境或灵活环境)以及您选择的存储解决方案。以下是一些常见的文件存储和下载位置的说明:
在 Google App Engine 的标准环境中,您不能直接在文件系统中存储持久性文件。标准环境的文件系统是临时的,应用程序的文件在实例重启或更新时会丢失。因此,您通常会使用 Google Cloud Storage 来存储和下载文件。
示例代码(Python):
from google.cloud import storage
def download_blob(bucket_name, source_blob_name, destination_file_name):
"""Downloads a blob from the bucket."""
storage_client = storage.Client()
bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)
print(f'Blob {source_blob_name} downloaded to {destination_file_name}.')
在 Google App Engine 的灵活环境中,您可以使用本地文件系统来存储文件,但这些文件在实例重启时可能会丢失。因此,仍然建议使用 Google Cloud Storage 来存储持久性文件。
同样,您可以使用 Google Cloud Storage 来存储和下载文件,方法与标准环境相同。
无论您使用的是标准环境还是灵活环境,下载文件的常见步骤如下:
以下是一个生成 Google Cloud Storage 文件下载链接的示例:
from google.cloud import storage
def generate_signed_url(bucket_name, blob_name):
"""Generates a signed URL for the given blob."""
storage_client = storage.Client()
bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(blob_name)
url = blob.generate_signed_url(version="v4", expiration=timedelta(minutes=15), method="GET")
print(f'Signed URL: {url}')
return url
领取专属 10元无门槛券
手把手带您无忧上云