首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对AWS Lambda函数进行故障排除?

如何对AWS Lambda函数进行故障排除?
EN

Stack Overflow用户
提问于 2020-11-03 05:13:10
回答 1查看 47关注 0票数 0

我在AWS中创建了一个lambda函数,显然它抛出了一个错误。这就是它:

代码语言:javascript
复制
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通知触发的。它应该抓取一个松弛频道的webhook url,然后将通知发送给Slack。

有人能看到问题出在哪里吗?

如果不明显,是否有人可以指导我如何测试AWS Lambda函数的教程?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-11-03 12:10:25

AWS Lambda具有内置测试功能。如果函数使用来自event的值,您可以单击Test按钮并配置输入。

日志将显示在Lambda控制台中。

此外,确保与AWS Lambda函数关联的IAM角色具有AWSLambdaBasicExecutionRole权限策略,以便它可以写入CloudWatch日志。然后,您可以转到该功能的监视选项卡,然后单击查看CloudWatch中的日志以查看过去的日志。

您可以在代码中添加print()语句,这些语句将出现在日志中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64653411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档