Поместите объект json в s3 через boto3, выдает ошибку Access Denied при добавлении тегов - PullRequest
0 голосов
/ 18 июня 2020

В моем бессерверном приложении я пытаюсь сохранить объект json в корзине s3.

    file_name = data['date'] + ".json"
    s3 = boto3.resource('s3')
    obj = s3.Object(data_bucket_name, file_name)
    json_data = json.dumps(data)
    tags = urllib.parse.urlencode({"key1": "value1",
                                   "key2": "value2"})

    obj.put(Body=json_data, Tagging=tags)

Лямбда-функция имеет политику S3CrudPolicy для сегмента.

Когда я запускаю код локально из Intellij, он работает без ошибок. Я вижу теги на объекте в s3.

Но когда я запускаю код после его развертывания в AWS, код выдает следующую ошибку.

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

Когда я удаляю свойство Tagging из вызова obj.put(Body=json_data), оно работает без ошибок локально и удаленно.

Я не смог найти никакой информации, какие разрешения необходимы лямбда-функции для записи тегов в объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...