AWS Lambda, Произошла ошибка (InvalidToken) при вызове операции PutObject: Предоставленный токен неправильно сформирован или иным образом недействителен
Я создал приложение Django и попытался развернуть его с помощью Zappa и AWS Lambda.
Мое развертывание прошло успешно, но изображение не было загружено в AWS S3 для вызова API.
Это мой журнал ошибок cloudwatch
Все ключи доступа были проверены правильно и корректно работают в локальной среде. Как я могу решить эту проблему?
Мой settings.py
AWS_ACCESS_KEY_ID = env("AWS_S3_ACCESS_KEY_ID")
AWS_SECRET_ACCESS_KEY = env("AWS_S3_SECRET_ACCESS_KEY")
AWS_S3_REGION_NAME = "ap-northeast-2"
AWS_STORAGE_BUCKET_NAME = env("AWS_STORAGE_BUCKET_NAME")
AWS_S3_CUSTOM_DOMAIN = (
f"{AWS_STORAGE_BUCKET_NAME}.s3.{AWS_S3_REGION_NAME}.amazonaws.com"
)
AWS_DEFAULT_ACL = "public-read"
этот вопрос решен в этой статье
from django.conf import settings
from storages.backends.s3boto3 import S3Boto3Storage
class SecurityTokenWorkaroundS3Boto3Storage(S3Boto3Storage):
def _get_security_token(self):
return None
class MediaStorage(SecurityTokenWorkaroundS3Boto3Storage):
location = settings.MEDIAFILES_LOCATION
class StaticStorage(SecurityTokenWorkaroundS3Boto3Storage):
location = settings.STATICFILES_LOCATION