Я создаю flask приложение под названием Neuroethics_Behavioral_Task
.
У меня также есть ведро s3 под названием neuroethics-task
. В каталог root я загрузил файл с именем experiment.js
и изображение test.png
.
Я следовал инструкциям в этих двух частях документации Heroku о s3:
В первой ссылке сказано следующее о том, как получить доступ к ресурсам, которые вы загрузили на s3
После загрузки ресурсов вы можете обратиться к их публикациям c URL (например, http://s3.amazonaws.com/bucketname/filename) в коде вашего приложения. Эти файлы теперь будут обслуживаться непосредственно из S3, освобождая ваше приложение для обслуживания только динамических c запросов.
Так что у меня есть эта строка в заголовке одного из html шаблонов.
<script href="http://s3.amazonaws.com/neuroethics-task/experiment.js"></script>
Я также попытался включить изображение, скопировав путь непосредственно на s3 (что отличается от документов heroku). Вот эта строка.
<img src='s3://neuroethics-task/test.png'
Проблема в том, что ничего не происходит, когда я захожу на веб-страницу, которая должна использовать javascript из эксперимента. js в настоящее время, когда Я пытаюсь использовать приложение Flask ЛОКАЛЬНО .
Я подозреваю, что, возможно, все будет работать, если я отправлю sh героку ... Но мне нужно, чтобы в первую очередь было запущено и отлажено локальное отлаженное решение. Поэтому мне нужно выяснить, как правильно ссылаться на эти файлы.
Я получал сообщения об ошибках раньше, когда использовал src=
и когда у меня были варианты префикса URL. Но теперь, когда я попадаю на страницу, которая должна загрузить experiment.js
, ничего не происходит. experiment.js
использует javascript фреймворк под названием JsPsych, который в основном работает как приложение stati c - от jspsych не происходит перенаправлений. Вы должны создать шаблон html для flask, но все, что вам нужно сделать для этого шаблона, это включить ссылку на файл experiment.js
.
Поскольку experiment.js
просто нет пока не загружается, и поскольку в этом шаблоне нет других html, поскольку все они находятся в пределах experiment.js
, ничего не происходит.
У меня установлены переменные окружения:
$ export AWS_ACCESS_KEY_ID=jhdfshfjskdhfj
$ export AWS_SECRET_ACCESS_KEY=jlsjfklksfjlfh
Я не уверен, какие настройки разрешений мне нужны на s3. Для моего ведра у меня есть
Block public access to buckets and objects granted through new access control lists (ACLs) -- Off
Block public access to buckets and objects granted through any access control lists (ACLs)-- Off
Block public access to buckets and objects granted through new public bucket or access point policies -- On
Block public and cross-account access to buckets and objects through any public bucket or access point policies -- On
Итак ... что здесь не так? Я просто хочу, чтобы мой javascript хотя бы загрузился.