การสร้างและปรับใช้โดยใช้ Serverless Framework
AWS Lambda สามารถสร้างและปรับใช้โดยใช้เฟรมเวิร์กแบบไร้เซิร์ฟเวอร์ ช่วยให้คุณสร้างทริกเกอร์ AWS Lambda และปรับใช้สิ่งเดียวกันได้โดยการสร้างบทบาทที่ต้องการ เฟรมเวิร์กแบบไร้เซิร์ฟเวอร์ช่วยให้จัดการโปรเจ็กต์ขนาดใหญ่ได้ง่ายขึ้น เหตุการณ์และทรัพยากรที่จำเป็นจะถูกเขียนขึ้นในที่เดียวและมีเพียงไม่กี่คำสั่งที่ช่วยในการปรับใช้ฟังก์ชันการทำงานทั้งหมดบนคอนโซล AWS
ในบทนี้คุณจะได้เรียนรู้รายละเอียดวิธีการเริ่มต้นใช้งาน AWS serverless framework
ติดตั้ง Serverless Framework โดยใช้การติดตั้ง npm
ในการเริ่มต้นคุณต้องติดตั้งก่อน nodejs. คุณสามารถตรวจสอบ nodejs ได้ดังนี้ -
คุณจะต้องใช้คำสั่งต่อไปนี้เพื่อติดตั้งแบบไร้เซิร์ฟเวอร์โดยใช้แพ็คเกจ npm -
npm install -g serverless
เมื่อ npm เสร็จสิ้นให้รันคำสั่งแบบเซิร์ฟเวอร์ซึ่งแสดงรายการคำสั่งที่จะใช้ในการสร้างและปรับใช้ฟังก์ชัน AWS Lambda สังเกตภาพหน้าจอด้านล่าง -
คุณยังสามารถใช้ sls แทน serverless sls เป็นคำสั่งชวเลขสำหรับเซิร์ฟเวอร์
ในกรณีที่คุณต้องการความช่วยเหลือเกี่ยวกับคำสั่ง sls, คุณสามารถใช้คำสั่งต่อไปนี้ -
sls create --help
สำหรับการสร้างเฟรมเวิร์กแบบไร้เซิร์ฟเวอร์คุณต้องทำตามขั้นตอนด้านล่าง -
ขั้นตอนที่ 1
ในการเริ่มใช้เฟรมเวิร์กแบบไร้เซิร์ฟเวอร์เราจำเป็นต้องเพิ่มข้อมูลรับรอง โดยสิ่งนี้คุณสามารถเป็นผู้ใช้ก่อนในคอนโซล AWS ดังนี้ -
ขั้นตอนที่ 2
คลิกที่ Next:Permissionsปุ่มเพื่อเพิ่มสิทธิ์ คุณจะต้องแนบนโยบายที่มีอยู่หรือการเข้าถึงของผู้ดูแลระบบให้กับผู้ใช้รายนี้
ขั้นตอนที่ 3
คลิก Create Userเพื่อเพิ่มผู้ใช้ จะแสดงคีย์การเข้าถึงและคีย์ลับซึ่งเราต้องกำหนดค่าเฟรมเวิร์กไร้เซิร์ฟเวอร์ -
กำหนดค่า AWS Serverless Framework
ให้เราดูวิธีกำหนดค่า AWS serverless framework คุณสามารถใช้คำสั่งต่อไปนี้เพื่อจุดประสงค์นี้ -
sls config credentials --provider aws --key accesskey --secret secretkey
โปรดทราบว่ารายละเอียดของข้อมูลรับรองที่ป้อนนั่นคือไฟล์ access key และ secret key จะถูกเก็บไว้ในไฟล์ file /aws/credentials.
ขั้นแรกสร้างโฟลเดอร์ที่คุณต้องการจัดเก็บไฟล์โครงการของคุณ
ต่อไปเราจะเริ่มงานใน aws-serverless โฟลเดอร์
สร้าง AWS Lambda โดยใช้ Serverless Framework
ตอนนี้ให้เราสร้างฟังก์ชัน Lambda ด้วยเฟรมเวิร์กไร้เซิร์ฟเวอร์โดยใช้ขั้นตอนที่ระบุด้านล่าง -
ขั้นตอนที่ 1
ต่อไปนี้เป็นรายละเอียดสำหรับเซิร์ฟเวอร์ create คำสั่ง -
ขั้นตอนที่ 2
ตอนนี้เราต้องกำหนดแม่แบบซึ่งมีดังต่อไปนี้ -
AWS-nodejs, aws-nodejs-typescript, aws-nodejs-ecma-script, aws-python, aws-python3, aws-groovy-gradle etc.
ขั้นตอนที่ 3
เราจะใช้ประโยชน์จาก aws-nodejsเทมเพลตเพื่อสร้างโครงการแรกของเราโดยใช้เฟรมเวิร์กไร้เซิร์ฟเวอร์ คำสั่งสำหรับวัตถุประสงค์เดียวกันดังที่แสดงไว้ที่นี่ -
sls create --template aws-nodejs
โปรดทราบว่าคำสั่งนี้สร้างต้นแบบสำหรับเทมเพลต aws-nodejs
ขั้นตอนที่ 4
ตอนนี้เปิดโฟลเดอร์ที่สร้างใน IDE ที่นี่เราใช้รหัส Visual Studio และโครงสร้างโฟลเดอร์มีดังนี้ -
ขั้นตอนที่ 5
มี 2 ไฟล์ที่สร้างขึ้น: handler.js และ Serverless.yml
รายละเอียดฟังก์ชันพื้นฐานของ AWS Lambda แสดงอยู่ใน handler.js ดังต่อไปนี้ -
'use strict';
module.exports.hello = (event, context, callback) => {
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'Go Serverless v1.0! Your function executed successfully!',
input: event,
}),
};
callback(null, response);
// Use this code if you don't use the http event with the LAMBDA-PROXY integration
// callback(null, { message: 'Go Serverless v1.0! Your function executed successfully!', event });
};
ไฟล์นี้ Serverless.yml มีรายละเอียดการกำหนดค่าของเฟรมเวิร์กไร้เซิร์ฟเวอร์ดังที่แสดงด้านล่าง -
# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config Examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
# docs.serverless.com
#
# Happy Coding!
service: aws-nodejs # NOTE: update this with your service name
# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
# frameworkVersion: "=X.X.X"
provider:
name: aws
runtime: nodejs6.10
# you can overwrite defaults here
# stage: dev
# region: us-east-1
# you can add statements to the Lambda function's IAM Role here
# iamRoleStatements:
# - Effect: "Allow"
# Action:
# - "s3:ListBucket"
# Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] }
# - Effect: "Allow"
# Action:
# - "s3:PutObject"
# Resource:
# Fn::Join:
# - ""
# - - "arn:aws:s3:::"
# - "Ref" : "ServerlessDeploymentBucket"
# - "/*"
# you can define service wide environment variables here
# environment:
# variable1: value1
# you can add packaging information here
#package:
# include:
# - include-me.js
# - include-me-dir/**
# exclude:
# - exclude-me.js
# - exclude-me-dir/**
functions:
hello:
handler: handler.hello
# The following are a few example events you can configure
# NOTE: Please make sure to change your handler code to work with those events
# Check the event documentation for details
# events:
# - http:
# path: users/create
# method: get
# - s3: ${env:BUCKET}
# - schedule: rate(10 minutes)
# - sns: greeter-topic
# - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000
# - alexaSkill: amzn1.ask.skill.xx-xx-xx-xx
# - alexaSmartHome: amzn1.ask.skill.xx-xx-xx-xx
# - iot:
# sql: "SELECT * FROM 'some_topic'"
# - cloudwatchEvent:
# event:
# Example:
# - "aws.ec2"
# detail-type:
# - "EC2 Instance State-change Notification"
# detail:
# state:
# - pending
# - cloudwatchLog: '/aws/lambda/hello'
# - cognitoUserPool:
# pool: MyUserPool
# trigger: PreSignUp
# Define function environment variables here
# environment:
# variable2: value2
# you can add CloudFormation resource templates here
#resources:
# resources:
# NewResource:
# Type: AWS::S3::Bucket
# Properties:
# BucketName: my-new-bucket
# Outputs:
# NewOutput:
# Description: "Description for the output"
# Value: "Some output value"
ตอนนี้เราจำเป็นต้องเพิ่มการเปลี่ยนแปลงในไฟล์ serverless.yml ตามความต้องการของเรา คุณสามารถใช้คำสั่งตามที่ระบุด้านล่าง -
คุณสามารถใช้คำสั่งต่อไปนี้สำหรับ Service -
service: aws-nodejs # NOTE: update this with your service name
ตอนนี้เปลี่ยนบริการที่นี่และเพิ่มชื่อให้กับโฟลเดอร์ของเราตามที่แสดง -
service: aws-serverless # NOTE: update this with your service name
รายละเอียดผู้ให้บริการมีดังรูป -
provider:
name: aws
runtime: nodejs6.10
ผู้ให้บริการคือ aws และรันไทม์คือ nodejs6.10. เราจำเป็นต้องเพิ่มไฟล์region ที่เราจะดำเนินการและ stage, นั่นคือ dev or prodสภาพแวดล้อมสำหรับโครงการ ดังนั้นนี่คือรายละเอียดล่าสุดของผู้ให้บริการ: ผู้ให้บริการ -
name: aws
runtime: nodejs6.10
# you can overwrite defaults here
stage: prod
region: us-east-1
บทบาท IAM
iam roleนั่นคือรหัสสำหรับสิทธิ์ในการทำงานกับ Lambda จะแสดงที่นี่ในไฟล์ .yml ไฟล์ -
# iamRoleStatements:
# - Effect: "Allow"
# Action:
# - "s3:ListBucket"
# Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] }
# - Effect: "Allow"
# Action:
# - "s3:PutObject"
# Resource:
# Fn::Join:
# - ""
# - - "arn:aws:s3:::"
# - "Ref" : "ServerlessDeploymentBucket"
# - "/*"
โปรดทราบว่าเราจำเป็นต้องให้รายละเอียดของบทบาทนั่นคือสิทธิ์ที่จำเป็นกับบริการอื่น ๆ ของ AWS ในส่วนด้านบน
รายละเอียด AWS Lambda Handler
ชื่อของฟังก์ชันการส่งออกใน handler.jsสวัสดี ดังนั้นตัวจัดการคือชื่อของไฟล์ตามด้วยชื่อการส่งออก
functions:
hello:
handler: handler.hello
รายละเอียดทรัพยากรเกี่ยวกับบริการ s3 ที่เพิ่มตามที่แสดงด้านล่างที่นี่ -
# you can add CloudFormation resource templates here
#resources:
# resources:
# NewResource:
# Type: AWS::S3::Bucket
# Properties:
# BucketName: my-new-bucket
# Outputs:
# NewOutput:
# Description: "Description for the output"
# Value: "Some output value"
ปรับใช้ AWS Lambda โดยใช้ Serverless Framework
ให้เราปรับใช้ฟังก์ชันแลมด้าข้างต้นกับคอนโซล AWS คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อจุดประสงค์นี้ -
ขั้นตอนที่ 1
ขั้นแรกคุณจะต้องใช้คำสั่งต่อไปนี้ -
sls deploy
ขั้นตอนที่ 2
ตอนนี้คุณควรเห็นฟังก์ชันในคอนโซล AWS แล้วดังที่แสดง รายละเอียดของ AWS แบบไร้เซิร์ฟเวอร์จะถูกบันทึกไว้ในการสร้างระบบคลาวด์ของ AWS เพื่อจุดประสงค์นี้ไปที่บริการ AWS แล้วเลือกCloudFormation. รายละเอียดของ AWS Lambda แสดงดังต่อไปนี้ -
สังเกตว่าชื่อที่กำหนดคือชื่อโครงการตามด้วยขั้นตอนที่ใช้
ขั้นตอนที่ 3
สร้างบทบาท IAM สำหรับ AWS Lambda และกลุ่มบันทึกสำหรับ AWS cloudwatch ถัง S3 ถูกสร้างขึ้นซึ่งมีการจัดเก็บรายละเอียดรหัสและรายละเอียดการกำหนดค่า
สิ่งนี้สร้างขึ้นโดยคำสั่ง sls deploy. คุณไม่จำเป็นต้องระบุบทบาท iam แต่จะถูกสร้างขึ้นตามค่าเริ่มต้นในช่วงdeploy เวที.
ขั้นตอนที่ 4
ลำดับเหตุการณ์โดยละเอียดจะแสดงอยู่ด้านล่างในบริการการก่อตัวของคลาวด์
รหัส AWS Lambda
รหัส AWS Lambda และการตั้งค่าการดำเนินการแสดงอยู่ในภาพหน้าจอด้านล่าง -
เมื่อคุณทดสอบฟังก์ชัน Lambda คุณจะพบผลลัพธ์ต่อไปนี้ -
เอาต์พุตบันทึกสำหรับฟังก์ชันข้างต้นแสดงที่นี่ -
นอกจากนี้เรายังสามารถทดสอบฟังก์ชัน AWS Lambda โดยใช้คำสั่งแบบไร้เซิร์ฟเวอร์ดังที่แสดงด้านล่าง -
sls invoke --function hello
ไวยากรณ์ของคำสั่งเรียกใช้แสดงที่นี่ -
sls invoke --function hello
คำสั่งเรียกใช้นี้เรียกใช้ฟังก์ชัน AWS Lambda และแสดงผลลัพธ์ในพรอมต์คำสั่งดังที่แสดงด้านล่าง -
คุณยังสามารถทดสอบฟังก์ชัน Lambda ก่อนที่จะปรับใช้และคำสั่งเดียวกันโดยใช้คำสั่งต่อไปนี้ -
sls invoke local --function hello
โปรดทราบว่าไม่สามารถทดสอบภายในเครื่องได้เสมอไปเนื่องจากไม่สามารถจำลองทรัพยากรเช่น S3 และ DynanoDB บนสภาพแวดล้อมภายในเครื่องได้ เฉพาะการเรียกใช้ฟังก์ชันพื้นฐานเท่านั้นที่สามารถทดสอบได้ในเครื่อง
การใช้ API Gateway และ AWS Lambda กับ Serverless Framework
ให้เราดูวิธีสร้างโครงการใหม่เพื่อทำงานกับ Lambda และ api gateway คุณสามารถใช้คำสั่งต่อไปนี้เพื่อจุดประสงค์นี้ -
sls create --template aws-nodejs
ตอนนี้เปิด aws-apiโครงการในรหัสภาพ คุณจะเห็นว่าไฟล์handler.js และ serverless.ymlไฟล์ที่สร้างขึ้น ให้เราทำการเปลี่ยนแปลงเพื่อเพิ่ม api gateway
คุณจะต้องทำการเปลี่ยนแปลงต่อไปนี้ใน serverless.yml -
ตอนนี้มีการเพิ่มรายละเอียดกิจกรรมสำหรับการเปิดใช้งาน API เกตเวย์ด้วย AWS Lambda -
มีสิ่งใหม่เพิ่มเข้ามาที่นี่เรียกว่า events. เราได้ระบุเหตุการณ์เป็นhttpพร้อมกับเส้นทางและวิธีการ
พา ธ คือจุดสิ้นสุดที่เราจะใช้เมื่อสร้างพา ธ เกตเวย์ api และเมธอดที่ใช้คือ GET
สังเกตว่าตัวจัดการคือ handler.helloและสวัสดีเป็นชื่อการส่งออกจาก handler.js
โปรดทราบว่าคุณไม่จำเป็นต้องปรับใช้เกตเวย์ api ที่นี่เนื่องจากเฟรมเวิร์กไร้เซิร์ฟเวอร์จะดำเนินการ
ตอนนี้เราจะเรียกใช้ไฟล์ sls deploy คำสั่งเพื่อสร้างฟังก์ชัน AWS Lambda พร้อมทริกเกอร์เป็น api gateway.
sls deploy
สังเกตว่ารายละเอียดการปรับใช้อยู่ในรายการด้านบน มันให้Geturl ที่มีจุดสิ้นสุดเป็นรายละเอียดเส้นทาง เวทีคือprodใช้ใน url เช่นเดียวกัน ชื่อของฟังก์ชันคือaws-api-prod-hello.
ให้เรากด url และดูผลลัพธ์ คุณสามารถดูคำตอบต่อไปนี้ที่เราได้รับจาก api-gateway get url -
{"message":"Go Serverless v1.0! Your function executed
successfully!","input":{"resource":"/first-api","path":"/first-api","httpMethod":
"GET","headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,
image/webp,image/apng,*/*;q=0.8","Accept-Encoding":"gzip, deflate, br","Accept-Language":"en-US,en;q=0.9","CloudFront-Forwarded-Proto":
"https","CloudFront-Is-Desktop-Viewer":"true","CloudFront-Is-Mobile-Viewer":
"false","CloudFront-Is-SmartTV-Viewer":"false","CloudFront-Is-Tablet-Viewer":
"false","CloudFront-Viewer-Country":"IN","Host":"nvbhfdojfg.execute-api.us-east-1.
amazonaws.com","upgrade-insecure-requests":"1","User-Agent":"Mozilla/5.0
(Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/66.0.3359.181 Safari/537.36","Via":"2.0 707912794802dbb4825c79b7d8626a5d.cloudfront.net (CloudFront)","X-Amz-Cf-Id":"j70MMqkWFp6kmvuauzp_nvTbI-WwKIQmm2Jl5hzSoN6gkdvX11hh-g==",
"X-Amzn-Trace-Id":"Root=1-5b13f9ef-5b012e36b7f40b5013a326fc","X-Forwarded-For":"157.33.133.217, 54.182.242.73","X-Forwarded-Port":"443","X-Forwarded-Proto":"https"},
"queryStringParameters":null,"pathParameters":null,"stageVariables":null,
"requestContext":{"resourceId":"pes5sy","resourcePath":"/first-api","httpMethod":
"GET","extendedRequestId":"H6P9fE-MoAMFdIg=","requestTime":"03/Jun/2018:14:23:
43 +0000","path":"/prod/first-api","accountId":"625297745038","protocol":"HTTP/1.1",
"stage":"prod","requestTimeEpoch":1528035823928,"requestId":"b865dbd6-6739-11e8-b135
-a30269a8ec58","identity":{"cognitoIdentityPoolId":null,"accountId":null,
"cognitoIdentityId":null,"caller":null,"SourceIp":"157.33.133.217","accessKey":null,
"cognitoAuthenticationType":null,"cognitoAuthenticationProvider":null,"userArn":null,
"userAgent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/66.0.3359.181 Safari/537.36","user":null},"apiId":"nvbhfdojfg"},"body":null,
"isBase64Encoded":false}}
รายละเอียดเหตุการณ์ยังมีอยู่ในผลลัพธ์เมื่อคุณกด url httpMethod คือ GET และ queryStringParameters เป็นโมฆะเนื่องจากไม่มีสิ่งใดส่งผ่านในสตริงแบบสอบถาม รายละเอียดกิจกรรมมอบให้input ซึ่งเราได้ระบุไว้ในตัวจัดการ AWS Lambda -
ผลลัพธ์ที่เราได้รับจากเกตเวย์ api เป็นเพียงไฟล์ body รายละเอียดเช่น message และ input. การตอบสนองถูกควบคุมทั้งหมดโดยเกตเวย์ api และวิธีแสดงเป็นเอาต์พุต
ตอนนี้ให้เราส่งอินพุตไปยัง GET url ในสตริงการสืบค้นและดูการแสดงผล -
จากนั้นคุณจะเห็นผลลัพธ์ของ querystring ดังที่แสดงด้านล่าง -
{"message":"Go Serverless v1.0! Your function executed
successfully!","input":{"resource":"/first-api","path":"/first-api","httpMethod":
"GET","headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,
image/webp,image/apng,*/*;q=0.8","Accept-Encoding":"gzip, deflate,
br","Accept-Language":"en-US,en;q=0.9","CloudFront-Forwarded-Proto":"https",
"CloudFront-Is-Desktop-Viewer":"true","CloudFront-Is-Mobile-Viewer":"false",
"CloudFront-Is-SmartTV-Viewer":"false","CloudFront-Is-Tablet-Viewer":"false",
"CloudFront-Viewer-Country":"IN","Host":"nvbhfdojfg.execute-api.us-east-1.amazonaws.com",
"upgrade-insecure-requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36","Via":"2.0
8b1d3263c2fbd0a2c270b174d7aa3d61.cloudfront.net (CloudFront)","X-Amz-Cf-Id":"JIBZw3I-blKbnpHP8LYXPVolCgdW5KmEukZS4at9mi4vrWBMI-UKNw==",
"X-Amzn-Trace-Id":"Root=1-5b13ff90-7d6e38d4c0e4a5d4e6184f30","X-Forwarded-For":
"157.33.133.217, 54.182.242.127","X-Forwarded-Port":"443","X-Forwarded-Proto":"https"},"queryString
Parameters":{"displaymessage":"Hello"},"pathParameters":null,"stageVariables":null,
"requestContext":{"resourceId":"pes5sy","resourcePath":"/first-api","httpMethod":
"GET","extendedRequestId":"H6TeiG34oAMFguA=","requestTime":"03/Jun/2018:14:47:44 +0000","path":"/prod/first-api","accountId":"625297745038","protocol":"HTTP/1.1",
"stage":"prod","requestTimeEpoch":1528037264252,"requestId":"12e5dca3-
673d-11e8-8966-69fcf43bd4db","identity":{"cognitoIdentityPoolId":null,"accountId":null,
"cognitoIdentityId":null,"caller":null,"exmpleIp":"157.33.133.217","accessKey":null,
"cognitoAuthenticationType":null,"cognitoAuthenticationProvider":null,"userArn":null,
"userAgent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/66.0.3359.181 Safari/537.36","user":null},"apiId":"nvbhfdojfg"},"body":
null,"isBase64Encoded":false}}
ให้เราเปลี่ยนฟังก์ชัน AWS Lambda เพื่อแสดงรายละเอียดสตริงการสืบค้นตามที่แสดงด้านล่าง -
'use strict';
module.exports.hello = (event, context, callback) => {
const response = {
statusCode: 200,
body: JSON.stringify({
message:(event.queryStringParameters && event.queryStringParameters.displaymessage!="") ? event.queryStringParameters.displaymessage : 'Go Serverless v1.0! Your function executed successfully!'
}),
};
callback(null, response);
// Use this code if you don't use the http event with the LAMBDA-PROXY integration
// callback(null, { message: 'Go Serverless v1.0! Your function executed successfully!', event });
};
สังเกตว่าเราได้เปลี่ยนข้อความตามสตริงการสืบค้น display message. สิ่งนี้จะปรับใช้ฟังก์ชันนี้อีกครั้งและตรวจสอบผลลัพธ์ จะแสดงรายละเอียดที่มีอยู่ในข้อความแสดงตัวแปรสตริงการสืบค้นดังที่แสดงด้านล่าง
ตอนนี้ให้เราเพิ่ม post วิธีการกับเหตุการณ์ที่สร้างขึ้นดังแสดงด้านล่าง -
ตอนนี้ปรับใช้การเปลี่ยนแปลงที่เกิดขึ้นและคุณสามารถดูผลลัพธ์ต่อไปนี้จากคำสั่งปรับใช้ -
โปรดทราบว่าการทดสอบโพสต์ url ในเบราว์เซอร์โดยตรงจะไม่ให้รายละเอียด คุณควรทดสอบโพสต์ url ในpostman.
หากต้องการรับบุรุษไปรษณีย์ไปที่ https://www.getpostman.com/apps. ดาวน์โหลดแอปตามระบบปฏิบัติการของคุณ เมื่อติดตั้งแล้วคุณจะสามารถทดสอบโพสต์ url ของคุณได้ตามที่แสดงด้านล่าง -
นี่แสดงข้อความที่เราได้เพิ่มในฟังก์ชัน Lambda