Я пытаюсь сделать вызов API для внешней системы, используя AWS Lambda.Это будет использоваться для сбора информации о файлах по мере их поступления в корзину S3.
Я получаю сообщение об ошибке 403 при попытке выполнить вызов REST API.Я считаю, что есть проблема с тем, как я форматирую имя пользователя и пароль, необходимые для аутентификации.Нужно ли это делать особым образом для подключения Python 3.6 Lambdas?
import boto3
import requests
s3 = boto3.resource('s3')
myurl = "https://my-url/"
# These will be stored in AWS KMS for production system
username = 'username'
passkey = 'passkey'
headers = {
"Accept": "application/json",
"Content-Type": "application/json; charset=utf-8"
}
def lambda_handler(event, context):
bucket = s3.Bucket('mybucket')
for obj in bucket.objects.all():
file_name = obj.key.split('/', 2).pop()
file_name_no_ext = file_name[:-5]
if file_name != '':
if file_name.endswith('.json'):
Final_File_name = file_name_no_ext + '.mxf'
url = myurl + 'mypath/'+ Final_File_name
response = requests.get(url, headers=headers, auth=(username, passkey))