Хорошего дня.Google app engine - В чем разница между средой разработки приложений и приложениями google app engine
Я пытаюсь написать приложение, использующее движок google и python для сохранения и получения изображения в облачном хранилище Google. Я исследовал, и я знаю, что среда разработки отличается от среды приложения, например: когда я пишу код для dev, мне не нужно объявлять пользователя для аутентификации ... Таким образом, это означает код разработчика и код приложения разные.
, например, о моем Dev код:
BUCKET_NAME = os.environ.get('BUCKET_NAME',
app_identity.get_default_gcs_bucket_name())
BUCKET = '/' + BUCKET_NAME
logger.debug('BUCKET_NAME: %s' % BUCKET_NAME)
def create_file(filename, filedata, **kwargs):
"""
Create a file.
:param filename:
:param filedata:
:param kwargs:
:return:
"""
bucket_filename = BUCKET + '/' + filename
write_retry_params = gcs.RetryParams(backoff_factor=1.1)
gcs_file = gcs.open(bucket_filename,
'w',
content_type=kwargs.get('content_type', 'image/jpeg'),
options=kwargs.get('options', {}),
retry_params=write_retry_params)
gcs_file.write(filedata)
gcs_file.close()
blobstore_filename = '/gs' + bucket_filename
return blobstore.blobstore.create_gs_key(blobstore_filename)
Эта функция будет создавать и сохранять файл на локальный хранилищу. Например, эта ссылка сохраненного изображения (BLOB):
http://localhost:8000/datastore/edit/blob_key
Но, это просто LOCALHOST. И я не понимаю, как файл (изображение) будет создан, сохранен и восстановлен в облачном хранилище Google в прикладной среде.
Это не ясно для меня.
Не могли бы вы помочь мне объяснить более подробно о разных средах разработчиков и окружении приложений? И как использовать dev-код в среде приложения?
Hi @ ChrisC73, Большое спасибо за объяснение. Но, пожалуйста, объясните мне, могу ли я использовать этот код для сохранения этого файла в облачном хранилище Google? Должен ли я проходить аутентификацию с помощью моего пользователя? Я думаю, что я должен это сделать, но я не могу найти какие-либо документы, которые расскажут об этом случае. В моем случае мне нужно сохранить файл в gcs, а не сохранить в локальный GCS. Просьба помочь. – SWdream
@SWDream: вашему приложению GAE должны быть назначены права доступа к используемому ковку GCS. См. [Здесь] (http://stackoverflow.com/questions/19607855/how-to-authenticate-with-the-google-cloud-storage-library-for-app-engine) для получения дополнительной информации. Обратите внимание, что ведро GCS по умолчанию, созданное для приложения, автоматически предоставит доступ к этому приложению. Однако я не уверен, что если вы можете использовать местоположение GCS из локальной панели запуска GAE. – ChrisC73
Спасибо большое за всех. Я буду исследовать больше и верну вас. – SWdream