Python 如何对AWS Lambda功能进行故障排除?
我在AWS中创建了一个lambda函数,显然它抛出了一个错误。这是:Python 如何对AWS Lambda功能进行故障排除?,python,amazon-web-services,testing,aws-lambda,Python,Amazon Web Services,Testing,Aws Lambda,我在AWS中创建了一个lambda函数,显然它抛出了一个错误。这是: import json from urllib.error import HTTPError, URLError from urllib.request import Request, urlopen import boto3 #Create a SSM Client to access parameter store ssm = boto3.client('ssm') def lambda_handler(event, c
import json
from urllib.error import HTTPError, URLError
from urllib.request import Request, urlopen
import boto3
#Create a SSM Client to access parameter store
ssm = boto3.client('ssm')
def lambda_handler(event, context):
# TODO implement
#return {
# 'statusCode': 200,
# 'body': json.dumps('Hello from Lambda!')
#}
slack_message = {
'text' = f'Hello World'
}
#retrieve webhook url from parameter store
webhook_url = ssm.get_parameter(Name='slackwebhookurl', WithDecryption=True)
#make request to the API
req = Request(webhook_url['Parameter']['Value'],
json.dumps(slack_message).encode('utf-8'))
try:
response = urlopen(req)
response.read()
print("Messge posted to Slack")
except HTTPError as e:
print(f'Request failed: {e.code} {e.reason})
except URLError as e:
print(f'Server Connection failed: {e.reason})
它由AWS SNS通知触发。它应该为slack频道获取一个webhook url,然后将通知发送给slack
有人知道问题出在哪里吗
如果不明显,有人能告诉我如何测试AWS Lambda函数的教程吗
谢谢。AWS Lambda具有内置测试功能。如果函数使用
事件中的值,您可以单击测试按钮并配置输入
日志将显示在Lambda控制台中
此外,请确保与AWS Lambda函数关联的IAM角色具有AWSLambdabasiceExecutionRole
权限策略,以便它可以写入CloudWatch日志。然后,您可以转到该功能的“监视”选项卡,单击“查看CloudWatch中的日志”查看过去的日志
您可以在代码中添加print()
语句,这些语句将显示在日志中。您可以从Cloudwatch共享完整的日志详细信息吗?它是与S3、EC2、Lambda等一起提供的AWS服务之一。您可能需要激活Cloudwatch,并为其配置一些设置以输出日志,但这在故障排除方面是值得做的,假设您还没有这样做。谢谢John,我将尝试这些功能。