Как перейти с Файлового API на Google Cloud Storage?
Вчера я получил сообщение от Google, в котором говорится, что API файлов будет отключен 28 июля, и рекомендуется перейти на Google Cloud Storage.
В настоящее время я использую Files API следующим образом - после получения письма я сохраняю его вложение (только изображения) в blobstore -
from google.appengine.api import files
bs_file = files.blobstore.create(mime_type=ctype, _blobinfo_uploaded_filename='screenshot_'+image_file_name)
try:
with files.open(bs_file, 'a') as f:
f.write(image_file)
files.finalize(bs_file)
blob_key = files.blobstore.get_blob_key(bs_file)
Позже я захожу в Blobstore и прикрепляю те же изображения к другому отправляемому письму:
attachments = []
for at_blob_key in message.attachments:
blob_reader = blobstore.BlobReader(at_blob_key)
blob_info = blobstore.BlobInfo.get(at_blob_key)
if blob_reader and blob_info:
filename = blob_info.filename
attachments.append((filename, blob_reader.read()))
if len(attachments) > 0:
email.attachments = attachments
email.send()
Теперь я должен использовать Google Cloud Storage вместо Blobstore. Облачное хранилище Google не является бесплатным, поэтому я должен включить биллинг. В настоящее время размер сохраненных данных в Blobstore составляет 0,27 ГБ, что является небольшим, так что, похоже, мне не придется много платить. Но я боюсь включить биллинг, так как некоторые другие части моего кода могут привести к огромным счетам (и, похоже, нет способа включить биллинг только для Google Cloud Storage).
Итак, есть ли способ продолжить использование Blobstore для хранения файлов в моем случае? Что еще я могу использовать бесплатно вместо Google Cloud Storage (как насчет Google Drive)?