загрузить файл прямо в S3, используя python - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу загрузить файл, полученный с http-адреса, прямо в корзину amazon s3 вместо локальной системы.Я запускаю python в 64-битной операционной системе Windows.

Я пытался указать URL-адрес корзины Amazon S3 в качестве второго аргумента функции urlretrieve для python во время извлечения файла.

urllib.request.urlretrieve(url, amazon s3 bucket url)

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

1 Ответ

0 голосов
/ 03 апреля 2019

Похоже, что вы хотите запустить команду на компьютере Windows (локальном или работающем в Amazon EC2), которая скопирует содержимое страницы, идентифицированной по URL, прямо в Amazon S3.

Этоневозможно.Нет вызова API для Amazon S3, который извлекает контент из другого места.

Вам нужно загрузить файл из Интернета, а затем загрузить его в AmazonS3.Код будет выглядеть примерно так:

import boto3
import urllib.request

urllib.request.urlretrieve('http://example.com/hello.txt', '/tmp/hello.txt')

s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'mybucket', 'hello.txt')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...