在现代云计算环境中,无服务器函数(ServerlessFunctions)因其灵活性和成本效益而越来越受欢迎。它们允许开发者快速部署代码,而无需管理底层服务器。本文将指导您如何在AWS上创建一个无服务器函数,也称为Lambda函数,并进行基本测试。
首先,您需要一个AWS账户。如果您还没有,请访问AWS官网并按照指示创建账户。创建账户可能需要一些时间,因此请耐心等待。
拥有AWS账户后,您可以登录到AWS控制台。如果您最近使用过Lambda,它应该出现在控制台的顶部。如果没有,您可以点击“查看所有服务”来找到它,它位于“计算”类别下。
点击“Lambda”服务后,您将看到Lambda函数列表。如果您是第一次使用,列表应该是空的。点击“创建函数”按钮开始定义您的函数。
您可以选择“从头开始编写”来创建一个新的函数。为您的函数命名,并从运行时下拉菜单中选择Python 3.9。这将创建一个单一的Python函数,AWS将在Web客户端调用Lambda时调用它。
为了使函数能够被标准Web客户端调用,需要进行一些额外的设置。点击“高级设置”,勾选“启用函数URL”。这将为您提供一个Web地址的函数。接下来,选择“无”作为认证类型。虽然警告说这不是一个安全的配置,但因为只是做一个演示应用,所以暂时可以使用。
创建函数后,您可以在右侧看到函数的公共URL。点击它将从浏览器发送一个GET请求到您的函数。
为了进一步测试,将使用Postman。如果您还没有Postman账户,请创建一个。以下是如何使用Postman向您的新函数发送请求:
如果您想让函数执行更复杂的操作,您需要向它发送一些数据。将请求类型切换为POST,并为请求添加一个主体。
import json
def lambda_handler(event, context):
request = event['body']
request_obj = json.loads(request)
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json',
},
'body': "{}, {} {}!".format(request_obj['Greeting'], request_obj['Title'], request_obj['Name'])
}
当您通过函数URL调用Lambda时,请求数据包含在事件对象的body字段中。因为它是一个原始字符串,需要从事件中提取它并使用json.loads将其转换为对象。然后可以访问字段并使用它们构建一个新的字符串。
将上述代码粘贴到您的Lambda函数中,并点击“部署”。现在,发送新的请求,它应该可以正常工作了!您已经成功创建了一个Lambda函数。