Я новичок в функции лямбда AWS, и я пытаюсь добавить свой существующий код в AWS лямбда. Мой существующий код выглядит следующим образом:Как написать функцию AWS лямбда?
import boto3
import slack
import slack.chat
import time
import itertools
from slacker import Slacker
ACCESS_KEY = ""
SECRET_KEY = ""
slack.api_token = ""
slack_channel = "#my_test_channel"
def gather_info_ansible():
.
.
def call_snapshot_creater(data):
.
.
def call_snapshot_destroyer(data):
.
.
if __name__ == '__main__':
print "Calling Ansible Box Gather detail Method first!"
ansible_box_info = gather_info_ansible()
print "Now Calling the Destroyer of SNAPSHOT!! BEHOLD THIS IS HELL!!"
call_snapshot_destroyer(ansible_box_info)
#mapping = {i[0]: [i[1], i[2]] for i in data}
print "Now Calling the Snapshot Creater!"
call_snapshot_creater(ansible_box_info)
Теперь я пытаюсь создать функцию лямбда с нуля на AWS консоли следующим образом (а привет мир)
from __future__ import print_function
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
print("value1 = " + event['key1'])
print("value2 = " + event['key2'])
print("value3 = " + event['key3'])
print("test")
return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
и испытуемый образец события на AWS консоли:
{
"key3": "value3",
"key2": "value2",
"key1": "value1"
}
Я действительно не знаю, как поставить свой код в AWS лямбда сог, если я даже добавить модули в лямбда-консоль и запустить его он выдает мне ошибку:
Unable to import module 'lambda_function': No module named slack
Как решить эту проблему и импортировать мой код в лямбда?
что/как именно я буду ставить внутри лямбда-функции? я имею в виду, должен ли я просто вызвать другие методы изнутри lambda_handler? – Kittystone
@ Юсуф, скажите, пожалуйста, какова должна быть структура моего test.py? Я имею в виду, что я вызываю другие методы изнутри функции lambda_handler?? – Kittystone
Если вы хотите импортировать другие модули, вам необходимо загрузить пакет. Вы не сможете импортировать модули, создав лямбда-функцию с консоли. zip-пакет из 1. сценария python, содержащий функцию lambda handler, где вы будете импортировать все модули и 2. Все модули, которые вы импортируете в сценарии python. – MYGz