Сервер синтаксического анализа (aws-mongolab) не получает изображения

Я начал использовать сервер синтаксического анализа с mongolab и AWS, все работает нормально, но изображения не извлекаются, я где-то читал, что мне нужно установить «fileKey». Я попытался добавить его в консоль AWS, как показано на рисунке ниже. Однако он все еще не работает? Я делаю что-то не так, мне нужно добавить его также в appDelegate в моем проекте IOS Swift? Как мне это сделать?

введите здесь описание изображения


person saner    schedule 19.02.2016    source источник


Ответы (2)


здравомыслящий,

ОБНОВЛЕНИЕ. По состоянию на 12:00 по тихоокеанскому стандартному времени 9 марта 2016 г. Решение AWS-Elastic-Beanstalk" rel="nofollow noreferrer">Parse Server on AWS Elastic Beanstalk" ВКЛЮЧАЕТ свойство среды FILE_KEY и анализируется приложением. Таким образом, нет необходимости проходить этот процесс ниже, но он по-прежнему полезен для любых других обновлений приложений, которые вам понадобятся в будущем. /END Обновить

Просто чтобы прояснить вашу проблему, я предполагаю, что вы не можете получить доступ ни к одному из своих «устаревших» файлов синтаксического анализа (загруженных в ваше приложение до переноса), и у вас нет проблем с доступом к новым загруженным файлам. файлы? Если это так, читайте дальше.

Проблема: невозможно получить какие-либо файлы, которые были загружены в ваше приложение до миграции на сервер Parse на AWS Elastic Beanstalk.

Проблема: перенесенный сервер синтаксического анализа не может получить устаревшие файлы (размещенные в корзине S3, принадлежащей Parse) из-за неправильного пути, в котором отсутствует ключ файла синтаксического анализа. Например. Если вы выполните простой GET для объекта, связанного с файлом, вы получите следующее:

"url":http://files.parsetfss.com/invalid-file-key/tfss-0a209bb7-8497-4e4f-8cdf-a5d4190a48c4-myTwins.jpg

Параметр URL-адреса /invalid-file-key/ является отсутствующим компонентом и был введен сервером Parse в качестве заполнителя по умолчанию, если ключ файла не предоставлен. После внесения предложенных ниже изменений тот же запрос вернет правильный URL-адрес с заменой /invalid-file-key/ на ваш /фактический ключ файла/.

Чтобы узнать больше о файлах синтаксического анализа, см. мой другой Stack Overflow. ответ относительно файлов разбора до/после переноса.

Решение. Установка имени свойства FILE_KEY в свойстве среды EB, как вы сделали, является правильной, но, к сожалению, вам потребуется внести дополнительные изменения в файл index.js на сервере Parse, чтобы действительно прочитать свойство «Ключ файла». Есть два способа обновить приложение Parse Server. Консоль Elastic Beanstalk или интерфейс командной строки Elastic Beanstalk (EB CLI). Оба решения представлены ниже:

Добавление файла Parse Files «File Key» к существующему серверу Parse Server на AWS Elastic Beanstalk.

(Консоль) Обновите версию приложения с помощью Консоли управления AWS Elastic Beanstalk:

Это решение включает в себя загрузку существующей версии приложения EB (в виде архива .zip) вашего сервера Parse, локальное изменение файла index.js, его резервное копирование и, наконец, загрузку изменений на ту же страницу версий приложения в качестве новой версии приложение. Загрузите и отредактируйте текущую версию приложения Parse Server EB:

  • Откройте консоль Elastic Beanstalk.
  • В списке регионов выберите регион, в который входит приложение, с которым вы хотите работать.
  • На странице консольных приложений Elastic Beanstalk щелкните имя приложения, в которое вы хотите добавить новую версию приложения.
  • В области навигации щелкните Версии приложения.

    введите здесь описание изображения

  • Щелкните ссылку на ZIP-файл в разделе «Источник», чтобы загрузить приложение локально.

  • Разархивируйте приложение
  • Отредактируйте файл index.js в корне приложения и добавьте строку, выделенную желтым цветом. введите здесь описание изображения
  • Сохраните файл index.js.
  • Заархивируйте приложение (ПРИМЕЧАНИЕ Заархивируйте только корневые объекты в разархивированной папке, а не в папке, содержащей объекты.)

Загрузите новую версию вашего приложения Parse Server:

  • На странице Application Versions EB вашего приложения Parse Server щелкните Upload.

  • Укажите метку версии и описание, выберите обновленное ZIP-приложение и нажмите Загрузить.

  • Это загрузит «новую версию» вашего приложения, в то время как предыдущая версия все еще работает.

Разверните новую версию приложения Parse Server:

  • Выберите только что загруженную версию и нажмите Развернуть.

  • Выберите свою среду из раскрывающегося списка и нажмите «Развернуть».

Последний шаг: добавьте свойство среды FILE_KEY, как показано на снимке экрана. Нажмите Применить.

Если у вас возникнут проблемы с этим решением, следуйте этим инструкциям по развертыванию EB: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.deployment.html

(CLI) Использование интерфейса командной строки Elastic Beanstalk (EB CLI< /а>):

Это решение использует EB CLI для загрузки, редактирования и развертывания новой версии вашего приложения Parse Server.

  • mkdir tmp-app-папка
  • cd tmp-app-папка
  • eb init (выберите регион, приложение и среду, в которой выполняется код)
  • eb labs download (загружает код из среды EB)
  • Внесите необходимые изменения в файл index.js.
  • eb deploy (перестроение приложения)
  • eb setenv FILE_KEY= (приложение снова перестраивается) Готово.

Получение ключа файла Parse. Ключ файла Parse можно получить в консоли Parse.com. Войдите на Parse.com, выберите свое приложение и скопируйте «Файловый ключ» в разделе «Настройки приложения» > «Безопасность и ключи». Примечание. Parse делает «Ключ файла» доступным только на «бета-панели».

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

person Dennis H    schedule 05.03.2016

Похоже, вы пропустили fileKey в файле index.js.

Получить ключ файла из панели синтаксического анализа

введите здесь описание изображения

ПЕРЕЙДИТЕ к вашему файлу index.js сервера синтаксического анализа и установите значение filekey.

var api = new ParseServer({ databaseURI: databaseUri || 'mongodb://localhost:27017/dev', appId: 'xxx', clientKey: 'xxx', masterKey: 'xxx', fileKey: 'xxx' });

person sohail059    schedule 17.03.2016