ClientError:您提供的AWS Access Key ID在我们的记录

时间:2017-01-19 06:56:22

标签: django amazon-web-services amazon-s3 boto3

我正在使用在带有S3的ubuntu EC2实例上运行的Django网站来托管我的静态和媒体。当我尝试将图像文件上传到模型时,我会收到以下内容。

“调用PutObject操作时发生错误(InvalidAccessKeyId):我们的记录中不存在您提供的AWS访问密钥ID。”

我有一个使用AmazonS3FullAccess的iam用户,我将正确的Access密钥复制并粘贴到我的settings.py文件中。我能够运行collectstatic并通过终端访问存储桶,我甚至可以在我的网站上正确地提供静态服务,但没有用户可以上传图像或文件。我运行并重新运行配置,但仍然没有运气。

以下是我的utils.py和settings.py中的相关代码:

utils.py

from storages.backends.s3boto3 import S3Boto3Storage


class StaticStorage(S3Boto3Storage):
    location = 'static'

class MediaStorage(S3Boto3Storage):
    location = 'media'

settings.py

AWS_ACCESS_KEY_ID = 'access_key'

AWS_SECRET_ACCESS_KEY = 'secret_key'

S3_REGION_NAME ='aws_region'


DEFAULT_FILE_STORAGE = 'my-project.utils.MediaStorage'
AWS_STORAGE_BUCKET_NAME = 'my-project-bucket'
STATICFILES_STORAGE = 'my-project.utils.StaticStorage'

AWS_S3_CUSTOM_DOMAIN = '//%s.s3-aws_region.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

MEDIA_URL = AWS_S3_CUSTOM_DOMAIN + 'media/'
STATIC_URL = AWS_S3_CUSTOM_DOMAIN + 'static/'

MEDIA_ROOT = MEDIA_URL
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'

我的/.aws/config和凭证文件也有相同的副本并粘贴了ID和密钥。 任何和所有的帮助将不胜感激

0 个答案:

没有答案