Boto3 InvalidAccessKeyId в generate_presigned_post - PullRequest
0 голосов
/ 02 апреля 2020

Я создаю AWS Lambda и API, используя библиотеку Chalice Python. Мои AWS учетные данные вводятся с помощью рабочего процесса github aws -actions и могут chalice deploy. Конечные точки работают и отлично разворачиваются до AWS.

Проблема заключается в следующем:

Я использую Boto3 для создания предварительно загруженной формы загрузки, используя ее функцию generate_presigned_post, расположенную здесь в документации: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-presigned-urls.html

Но когда я использую ответ от этой функции и генерирую html с ним, после отправки файлов для загрузки, он возвращает меня

<Error>
<Code>InvalidAccessKeyId</Code>
<Message>
The AWS Access Key Id you provided does not exist in our records.
</Message>

Я проверил все, и кажется, что он использует неправильный AWS_ACCESS_KEY, но если он отлично разворачивается до AWS, я решил, что это не проблема (по крайней мере, на данный момент). Я использую клиент boto3, и кажется, что он автоматически находит aws учетные данные, но, похоже, он не находит мой (или что-то еще происходит) и предоставляет неправильный AWS_ACCESS_KEY.

import boto3

S3_CLIENT = boto3.client('s3')
BUCKET = 'bucket_name'

response = S3_CLIENT.generate_presigned_post(
            BUCKET,
            Key="{$filename}",
            Fields=None,
            Conditions=None,
            ExpiresIn=3600
        )

Возвращает правильный ответ, но когда интегрированная с формой и используемая, форма возвращает ошибку.

...