Как загрузить видео в корзину S3, используя подписанный URL, созданный Python Boto v2.38.0? - PullRequest
0 голосов
/ 29 марта 2019

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

мы используем Boto версии 2.38.0 для создания подписанного URL.

conn = boto.connect_s3()
key = "test_key"
bucket = "test_bucket"

signed_url = conn.generate_url(
    expires_in=600,
    method="PUT",
    bucket=bucket,
    key=key,
    headers={'Content-Type': 'application/octet-stream'}
)

Я могу загрузить файл с помощью binary , но я не могу загрузить файл с form-data .Я также попробовал multipart / form-data для того же самого.Итак, не могли бы вы предложить мне запрос на загрузку видео с подписанным URL с использованием POSTMAN ?

Любая помощь будет высоко оценена.

Спасибо.

1 Ответ

1 голос
/ 29 марта 2019

Вы можете использовать boto's build_post_form_args для получения данных формы HTML, необходимых для выполнения подписанного запроса на публикацию:

conn = connection.S3Connection(
    aws_access_key_id=settings.AWS_ACCESS_KEY_ID,
    aws_secret_access_key=settings.AWS_SECRET_ACCESS_KEY,
)

data = conn.build_post_form_args(
    bucket_name=bucket_name,
    acl='public-read',
    storage_class=None,
    http_method="https",
)

Вы получите словарь, содержащий имена и значения полей формыа также URL для POST.

...