Я создаю приложение zappa, чтобы я мог выполнять функцию лямбды, когда объект создается в моем ведомости S3. На данный момент, когда я пытаюсь обновить приложение zappa, zappa update dev
я получаю эту ошибку:
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the GetBucketNotification operation: Access Denied
Я настроил свои учетные данные AWS в своей системе Mac, поэтому я предполагаю, что ошибка связана с моей политикой в ??Bucket, которая не позволяет это уведомление о событии.
Вот моя политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow All",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::****-bucket/*"
},
{
"Sid": "Deny All Actions On All But Media and Static Unless Defined User",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::***********:root"
},
"Action": "s3:*",
"NotResource": [
"arn:aws:s3:::****-bucket/media/*",
"arn:aws:s3:::****-bucket/static/*",
"arn:aws:s3:::****-bucket/media_thumbnail/*"
]
}
]
}
Любая моя конфигурация CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Вот мой zappa_settings.json
:
{
"dev": {
"aws_region": "us-east-2",
"django_settings": "zappatest.settings",
"profile_name": "default",
"project_name": "zappatest",
"runtime": "python3.6",
"s3_bucket": "zappa-*******",
"vpc_config" : {
"SubnetIds": [ "subnet-******", "subnet-*******", "subnet-*******" ],
"SecurityGroupIds": [ "sg-******" ]
},
"events": [{
"function": "zappatest.lambda_function",
"event_source": {
"arn": "arn:aws:s3:::*****-bucket/media/",
"events": [
"s3:ObjectCreated:*"
]
}
}]
}
}
Является ли ошибка из-за моей безопасности в политике безопасности или чего-то еще?
python,django,amazon-web-services,amazon-s3,
Я создаю приложение zappa, чтобы я мог выполнять функцию лямбды, когда объект создается в моем ведомости S3. На данный момент, когда я пытаюсь обновить приложение zappa, zappa update dev
я получаю эту ошибку:
botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the GetBucketNotification operation: Access Denied
Я настроил свои учетные данные AWS в своей системе Mac, поэтому я предполагаю, что ошибка связана с моей политикой в ??Bucket, которая не позволяет это уведомление о событии.
Вот моя политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow All",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::****-bucket/*"
},
{
"Sid": "Deny All Actions On All But Media and Static Unless Defined User",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::***********:root"
},
"Action": "s3:*",
"NotResource": [
"arn:aws:s3:::****-bucket/media/*",
"arn:aws:s3:::****-bucket/static/*",
"arn:aws:s3:::****-bucket/media_thumbnail/*"
]
}
]
}
Любая моя конфигурация CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Вот мой zappa_settings.json
:
{
"dev": {
"aws_region": "us-east-2",
"django_settings": "zappatest.settings",
"profile_name": "default",
"project_name": "zappatest",
"runtime": "python3.6",
"s3_bucket": "zappa-*******",
"vpc_config" : {
"SubnetIds": [ "subnet-******", "subnet-*******", "subnet-*******" ],
"SecurityGroupIds": [ "sg-******" ]
},
"events": [{
"function": "zappatest.lambda_function",
"event_source": {
"arn": "arn:aws:s3:::*****-bucket/media/",
"events": [
"s3:ObjectCreated:*"
]
}
}]
}
}
Является ли ошибка из-за моей безопасности в политике безопасности или чего-то еще?
00Python, Django, амазонки-веб-сервисы, амазонка-s3,