- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 Django 项目连接到 AWS S3。
settings.py 包含以下内容:
AWS_ACCESS_KEY_ID = #ID
AWS_SECRET_ACCESS_KEY = #Key
AWS_STORAGE_BUCKET_NAME = #Bucket
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'backend/static'),
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
python manage.py collectstatic
You have requested to collect static files at the destination location as specified in your settings.
This will overwrite existing files! Are you sure you want to do this?
Type 'yes' to continue, or 'no' to cancel: yes Traceback (most recent call last): File "manage.py", line 22, in execute_from_command_line(sys.argv) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/init.py", line 381, in execute_from_command_line utility.execute() File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/init.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/base.py", line 316, in run_from_argv self.execute(*args, **cmd_options) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/management/base.py", line 353, in execute output = self.handle(*args, **options) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 188, in handle collected = self.collect() File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect handler(path, prefixed_path, storage) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 353, in copy_file self.storage.save(prefixed_path, source_file) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/django/core/files/storage.py", line 49, in save return self._save(name, content) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/storages/backends/s3boto3.py", line 506, in _save self._save_content(obj, content, parameters=parameters) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/storages/backends/s3boto3.py", line 521, in _save_content obj.upload_fileobj(content, ExtraArgs=put_parameters) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/boto3/s3/inject.py", line 621, in object_upload_fileobj ExtraArgs=ExtraArgs, Callback=Callback, Config=Config) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/boto3/s3/inject.py", line 539, in upload_fileobj return future.result() File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/s3transfer/futures.py", line 106, in result return self._coordinator.result() File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/s3transfer/futures.py", line 265, in result raise self._exception File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/s3transfer/tasks.py", line 126, in call return self._execute_main(kwargs) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/s3transfer/tasks.py", line 150, in _execute_main return_value = self._main(**kwargs) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/s3transfer/upload.py", line 692, in _main client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/botocore/client.py", line 357, in _api_call return self._make_api_call(operation_name, kwargs) File "/home/seokchan/server/mdocker/lib/python3.5/site-packages/botocore/client.py", line 661, in _make_api_call raise error_class(parsed_response, operation_name) botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow All",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::<bucket name>/*"
}
]
}
最佳答案
这是 AWS S3 访问问题。
在 S3 存储桶控制台中,我将存储桶的公共(public)访问权限编辑为公共(public)。
注意:仅当您打算公开文件时才这样做,例如您使用它来为您的网站提供文件,例如图像、css 等每个人都需要访问的东西。
关于django - [Django][AWS S3] botocore.exceptions.clienterror 调用 PutObject 操作时发生错误(访问被拒绝),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54788998/
我面临着一个关于 S3 存储桶策略的谜团,它阻止我的 Php S3Client 来自 PutObject。我得到的错误是: Error executing "PutObject" on "https:
我对我的 s3 用户登录拥有完全权限: { "Statement": [ { "Effect": "Allow", "Action": "s3:*",
我想在将图像上传到 S3 后获取文件的链接(或文件名也可以)。我使用以下代码上传并且有效。 s3Bucket.putObject(data, function(err, data){
我按照 http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html#iam-policy-example
我编写了以下代码来将文件上传到亚马逊 s3。 var upload = async function() { var uploadURLs = [] for (var i = 0; i {
我在尝试将图像文件放入 S3 时遇到一些问题, exception = "com.amazonaws.SdkClientException"; message = "Unable to ca
我正在像这样将表单直接上传到 aws s3: for (var i = 0; i < imgUploadList.length; i++) { var params = {
当我尝试使用 aws java sdk 将文件上传到 s3 时,收到有关 InvalidRedirectLocation 的错误。 Exception in thread "main" com.ama
下面的代码在本地工作并将文件从目录上传到 S3。它使用 Boto3 和 Python 3。 s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS
我们正在使用适用于 Java 的 AWS SDK S3 版本 2.4.2。当我们尝试使用单个连接为多个文件放置对象 (s3.putObject(PutObjectRequest.builder().b
我已经建立了一个 AWS 账户。并且正在尝试将我的第一个程序化 PUT 放入 S3。我已经使用控制台创建了一个桶并将东西放在那里。我还创建了一个子目录 (myFolder) 并将其公开。我创建了 .a
尝试使用 putObject() 函数将 CSV 文件上传到我的 S3 存储桶时,如果文件大于大约 1 MB,它将超时。我能够成功上传的最大 CSV 文件是 1048 KB(25500 行),我尝试上
在保存到 Amazon S3 时大约有一次\每周文件上传失败 (1\300)。以下代码运行良好,足以确认文件已正确保存,但我忍不住认为还有更好的方法。当文件确实失败时,不会抛出任何异常,所以我永远无法
我正在使用以下代码将文件放入 S3 存储中。我发现它非常慢。秒表指示 18 秒+。有什么建议或其他经验吗? // upload the file to S3 Amazo
我正在尝试将图像上传到 S3,但是当我调用 s3.putObject(params, callback) 时,我的回调永远不会被调用,也不会记录任何错误。 以下是相关代码: var params =
我的目标是允许一个用户将对象放入 s3 存储桶中。我想过应用存储桶策略。我知道您不能拒绝所有用户的 PutObjects,然后通过对所需用户的允许来覆盖它。我曾希望使用条件“ArnNotEquals”
我正在使用独立的 PHP-S3 类: http://undesigned.org.za/2007/10/22/amazon-s3-php-class 我已经尝试了所有现成的教程,下载了源码,更改了相应
你知道方法吗 - public PutObjectResult putObject(PutObjectRequest putObjectRequest) 在 AmazonS3Client 中阻塞? 最
我需要在使用 putObject() 时模拟 AWS S3。 调用该函数时,我需要创建具有用户元数据值的文件。我试图在网上找到一些代码示例,但我只找到了这个基本代码: var AWSMock = re
使用适用于 Javascript 的 aws-sdk 我遇到了一个奇怪的问题,即在将文本放入对象后,特殊字符没有被翻译 这是我的代码: var AWS = require('aws-sdk'); AW
我是一名优秀的程序员,十分优秀!