Сбой Python с помощью x-amz-security-token cv2.VideoCapture - PullRequest
0 голосов
/ 07 мая 2019

Я создаю миниатюры из изображений / видео в S3 bucket, используя opencv. Вместо того, чтобы загружать изображения / видео с S3, я хотел бы использовать предварительно назначенные URL-адреса aws s3 непосредственно в opencv.

После работали без проблем, если мы передаем
1. изображения / видео из локально, например: cv2.VideoCapture (test.mp4)
2. Предварительно подписанный URL без x-amz-security-token.
Пример: https://bucket/key?AWSAccessKeyId={id_value}&Expires={date_value}&Signature={signature_value}

но в Python происходит сбой, если у предварительно подписанного URL-адреса есть токен x-amz-security-token
Пример: https://bucket/key?AWSAccessKeyId={id_value}&Expires={date_value}&x-amz-security-token={token_value}&Signature={signature_value}

Следующий фрагмент кода Python

import boto3 
import cv2
s3_client = boto3.client('s3')
url = s3_client.generate_presigned_url(
    ClientMethod='get_object',
    Params={'Bucket': bucket, 'Key': key}
    )
cap = cv2.VideoCapture(url)

захват видео должен работать без сбоев Python, но Python.exe перестал работать с ошибкой «проблема привела к тому, что программа перестала работать правильно. Пожалуйста, закройте программу» в windows

тот же код имеет ошибку 'ошибка сегментации (код сброшен)' в Linux

...