проблемы с отображением изображений с помощью get_serving_url () на локальном сервере разработки - PullRequest
0 голосов
/ 29 января 2019

Я загрузил несколько примеров изображений в корзину GCS и пытаюсь сгенерировать URL-адрес на основе изображения следующим образом:

    filename = "/gs/ABC/abc.jpeg"
    blobkey = blobstore.create_gs_key(filename)
    serving_url = images.get_serving_url(blobkey, secure_url=True)

Обслуживающий_круг, который я получаю, выглядит примерно так http://127.0.0.1:8080/_ah/img/encoded_gs_file:dGVzdGltYWdlczEvaWc=

Но каждый раз, когда я получаю доступ к URL-адресу в браузере, я получаю следующее сообщение в журнале консоли:

Не удается найти BLOB-объект с ключом encoded_gs_file: dGVzdGltYWdlczEvaWc = s200

Любая идея, почему это не такт работает?Любая помощь будет оценена.

1 Ответ

0 голосов
/ 30 января 2019

Я считаю, что appengine localhost использует поддельную GCS, смонтированную из локальной временной папки (отсюда и префикс encoded_gs_file:).

Вы можете получить библиотеку cloudstorage для доступа к вашим реальным корзинам, указавимена блоков и выполнение

cloudstorage.common.set_access_token(gcs_token)

, где gcs_token равно выводу

gcloud auth application-default print-access-token

См. этот ответ для получения дополнительной информации: https://stackoverflow.com/a/33838216/4458510

Однако я 'я не уверен, что blobstore.create_gs_key() & images.get_serving_url() можно принудительно использовать нелокальные пути.

На самом деле у меня есть сценарий инициализации, который заполняет мой локальный хост данными из рабочей среды, возможно, вы захотите создать такой, который загружает эти файлы и внедряет их в вашу локальную среду.

...