Скрипт Python, развернутый на heroku, должен открыть URL (AWS S3) для загрузки файла - PullRequest
0 голосов
/ 26 сентября 2019

Я настраиваю скрипт на python с флягой, развернутой на героку.Этот скрипт создает файл и загружает / передает его в AWS S3.Затем скрипт генерирует URL для загрузки файла с S3.Локально все работает нормально, но когда я хочу использовать его в Heroku, ничего не происходит.

Я попытался решить эту проблему с помощью webbrowser.open () :

objectUrl = s3_client.generate_presigned_url(ClientMethod='get_object',
    Params={'Bucket': bucket,'Key': key})
response = webbrowser.open(str(objectUrl),new=2,autoraise=1)

или urllib.request.urlretrieve () :

objectUrl = s3_client.generate_presigned_url(ClientMethod='get_object',Params= 
    {'Bucket': bucket,'Key': key})
response = urllib.request.urlretrieve(str(objectUrl))

Я ожидал, что если я выполню код на Heroku, как я это делал локально, скрипт откроет новую вкладку и загрузит файл илипросто загружает его.

Но если я попробую это с webbrowser.open (), журнал Heroku даст мне следующее значение для "response"

2019-09-26T13:09:06.203012+00:00 app[web.1]: False

и с urllib.request.urlretrieve ()Я получил:

2019-09-26T14:11:44.853183+00:00 app[web.1]: ('/tmp/tmp6jf3cx09', <http.client.HTTPMessage object at 0x7fcc15cd6ba8>)

С последним я надеялся, что он скачал файл локально, но я думаю, что это папка tmp Heroku?

Я хочу использовать этот сайт с iOS иMac / Windows, поэтому он должен начать загрузку на каждом из устройств.

...