ด้วย AWS Step Functions และ Amazon SQS

ระดับ: กลาง
ระยะเวลา: 10 นาที

ในบทแนะนำสอนการใช้งานนี้ คุณจะเรียนรู้วิธีการใช้ AWS Step Functions และ Amazon SQS เพื่อออกแบบและเรียกใช้เวิร์กโฟลว์แบบไร้เซิร์ฟเวอร์ที่จัดประสานกับไมโครเซอร์วิสตามคิวข้อความ Step Functions คือ บริการจัดประสานแบบไร้เซิร์ฟเวอร์ที่ช่วยให้คุณประสานงานบริการของ AWS หลายๆ บริการอย่างง่ายดายลงในเวิร์กโฟลว์ที่ยืดหยุ่นซึ่งง่ายต่อการแก้จุดบกพร่องและการเปลี่ยนแปลง Amazon SQS เป็นบริการของ AWS ที่ช่วยให้ส่วนประกอบของแอปพลิเคชันสามารถสื่อสารกันในระบบคลาวด์ได้

บทแนะนำสอนการใช้งานนี้จะจำลองคำขอยืนยันคลังข้อมูลจากคำสั่งซื้อที่เข้ามาในแอปพลิเคชันอีคอมเมิร์ซ ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์กระบวนการสั่งซื้อ Step Functions จะส่งคำขอยืนยันคลังสินค้าไปที่คิวบน SQS ฟังก์ชัน AWS Lambda จะทำหน้าที่เป็นไมโครเซอร์วิสของคลังข้อมูลซึ่งใช้คิวเพื่อบัฟเฟอร์คำขอ เมื่อได้รับคำขอ จะทำการตรวจสอบคลังข้อมูลและส่งผลลัพธ์กลับไปยัง Step Functions เมื่องานใน Step Functions ได้รับการกำหนดค่าไว้เช่นนี้ จะเรียกว่ารูปแบบการเรียกกลับ รูปแบบการเรียกกลับให้คุณผสานงานแบบอะซิงโครนัสในเวิร์กโฟลว์ของคุณ เช่น ไมโครเซอร์วิสการยืนยันคลังข้อมูลในบทแนะนำสอนการใช้งานนี้

tmt-orchestrate-microservices-with-message-queues-on-step-functions-diagram

คุณต้องมีบัญชี AWS จึงจะเข้าถึงบทแนะนำนี้ได้

สร้างบัญชีฟรี

ไม่มีค่าบริการเพิ่มเติมสำหรับ AWS Step Functions หรือ Amazon SQS ทรัพยากรต่างๆ ที่คุณสร้างขึ้นในบทแนะนำสอนการใช้งานนี้จะมีคุณสมบัติแบบ Free Tier

ดูรายละเอียด AWS Free Tier »

ก. เปิด AWS Management Console เพื่อให้คุณเปิดคำแนะนำทีละขั้นตอนนี้ค้างไว้ได้ เมื่อหน้าจอโหลดข้อมูลแล้ว ให้ใส่ชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเริ่มต้นใช้งาน จากนั้นพิมพ์ SQS ในแถบค้นหาแล้วเลือก Simple Queue Service เพื่อเปิดคอนโซลบริการ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-1a

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-1a

ข. หากหน้าเริ่มต้นของคอนโซล SQS ปรากฏขึ้นดังที่แสดงในภาพหน้าจอ ให้คลิก Get Started Now (เริ่มต้นใช้งานตอนนี้) หากคุณไม่เห็นหน้านี้ ให้ข้ามไปยังขั้นตอนถัดไป

tmt-orchestrate-microservices-with-message-queues-on-step-functions-1b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-1b

ในขั้นตอนนี้ คุณจะได้สร้างและกำหนดค่าคิวของ Amazon SQS ตัวคิวมีความน่าเชื่อถือ บัฟเฟอร์ที่ปรับขนาดได้หลากหลายที่จัดเก็บข้อความขณะมีการรับส่งระหว่างแอปพลิเคชันหรือไมโครเซอร์วิสที่มีการกระจาย คิวจะช่วยในการปลดแอปพลิเคชัน เชื่อมต่อไมโครเซอร์วิส รวมงาน หรือจัดเก็บการแจ้งเตือน
กรณีการใช้งานของเราในบทแนะนำสอนการใช้งานนี้จะจำลองการจัดเก็บคำขอยืนยันคลังข้อมูลจากคำสั่งซื้อที่เข้ามาในแอปพลิเคชันอีคอมเมิร์ซ


ก. ก่อนอื่น เราจะสร้างคิวอย่างง่ายที่จัดเก็บคำสั่งซื้อที่สั่งไว้ในร้านค้า ป้อนOrders (คำสั่งซื้อ) ในช่องQueue Name (ชื่อคิว)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2a

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2a

ข. สำหรับบทแนะนำสอนการใช้งาน เราไม่ต้องการคำสั่งซื้อที่เข้มงวด ดังนั้นเราจึงไม่ทำการเปลี่ยนแปลงใดๆ กับประเภทของคิว ออกจากคิวมาตรฐานที่เลือก

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2b

ค. คุณสามารถกำหนดค่าคิวของคุณเพื่อแก้ไขการตั้งค่าต่างๆ ได้ เช่น ระยะเวลาการเก็บรักษา ขนาดข้อความสูงสุด และเวลาหน่วงในการจัดส่ง สำหรับบทแนะนำสอนการใช้งานนี้ เราจะเก็บค่าพารามิเตอร์เริ่มต้นเอาไว้ เลือกสร้างคิวด่วน

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2c

ง. ระบบจะสร้างคิวใหม่ของคุณขึ้นแล้วเลือกไว้ในรายการคิว

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-2d

ขั้นตอนถัดไปของคุณคือ การออกแบบเวิร์กโฟลว์ที่อธิบายลักษณะคำสั่งซื้อของอีคอมเมิร์ซที่จะประมวลผล เวิร์กโฟลว์จะอธิบายถึงกระบวนการในฐานะเป็นชุดงานแยกส่วนที่ต้องสามารถทำซ้ำไปเรื่อยๆ ได้
จากนั้น คุณจะออกแบบเวิร์กโฟลว์ของคุณใน AWS Step Functions เวิร์กโฟลว์ของคุณจะส่งคำขอยืนยันคลังข้อมูลจากไมโครเซอร์วิส ไมโครเซอร์วิสหลายรายการใช้คิวเพื่อรับคำขอ ในบทแนะนำสอนการใช้งานนนี้ คุณจะได้ใช้ฟังก์ชัน AWS Lambda เพื่อเป็นตัวแทนไมโครเซอร์วิส


ก. เปิด คอนโซล AWS Step Functions เลือก Author with code snippets (เขียนด้วยส่วนย่อยของโค้ด) แล้วตั้งชื่อเครื่องสถานะของคุณว่า InventoryStateMachine

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3c

ข. แทนที่เนื้อหาของหน้าต่างคำจำกัดความของเครื่องสถานะด้วยคำจำกัดความของเครื่องสถานะ Amazon States Language (ASL) ด้านล่างนี้ Amazon States Language คือ ภาษาที่มีโครงสร้างเหมือนกับ JSON ที่ใช้เพื่อจำกัดความเครื่องสถานะของคุณ

เครื่องสถานะนี้ใช้สถานะของงานเพื่อป้อนข้อความในคิว SQS สถานะของงานถูกกำหนดค่าไว้สำหรับรูปแบบการเรียกกลับ เมื่อคุณต่อท้าย .waitForTaskToken เข้ากับทรัพยากรของคุณ Step Functions จะเพิ่มโทเค็นของงานเข้ากับเพย์โหลด JSON และรอการเรียกกลับ ไมโครเซอร์วิสจะสามารถส่งผลลัพธ์กลับไปยัง Step Functions โดยการเรียกใช้ Step Functions API

{
  "Comment": "An example of the Amazon States Language for starting a callback task.",
  "StartAt": "Check Inventory",
  "States": {
    "Check Inventory": {
      "Type": "Task",
      "Resource": "arn:aws:states:::sqs:sendMessage.waitForTaskToken",
      "Parameters": {
        "QueueUrl": "<INSERT SQS QUEUE URL HERE>",
        "MessageBody": {
          "MessageTitle": "Callback Task started by Step Functions",
          "TaskToken.$": "$$.Task.Token"
        }
      },
      "Next": "Notify Success",
      "Catch": [
      {
        "ErrorEquals": [ "States.ALL" ],
        "Next": "Notify Failure"
      }
      ]
    },
    "Notify Success": {
      "Type": "Pass",
      "Result": "Callback Task started by Step Functions succeeded",
      "End": true
    },
    "Notify Failure": {
      "Type": "Pass",
      "Result": "Callback Task started by Step Functions failed",
      "End": true
    }
  }
}
tmt-orchestrate-microservices-with-message-queues-on-step-functions-3d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3d

ค. คัดลอก URL ของคิว SQS ของคุณจากคอนโซล SQS และวางลงในคำจำกัดความของเครื่องสถานะของคุณ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3e

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3e

ง. คลิกปุ่มรีเฟรชเพื่อให้ Step Functions แปลคำจำกัดความของเครื่องสถานะ ASL ไปยังเวิร์กโฟลว์การแสดงผลด้วยภาพ คุณจะเห็นได้ชัดเจนว่ากระบวนการได้รับการอธิบายอย่างถูกต้องเมื่อตรวจสอบเวิร์กโฟลว์การแสดงผลด้วยภาพ เมื่อไมโครเซอร์วิสส่งผลลัพธ์กลับมา เครื่องสถานะจะแสดงความคืบหน้าว่าเป็นรุ่นสำเร็จ หากมีความผิดปกติ คุณสามารถจับข้อผิดพลาดนั้นและหารุ่นที่ถูกต้องเพื่อดำเนินการแก้ไขได้

คลิก Next (ถัดไป)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3f

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3f

จ. หลังจากนั้น คุณจะเพิ่มบทบาท IAM ไปที่เวิร์กโฟลว์ของคุณ เลือก Create an IAM role for me (สร้างบทบาท IAM สำหรับฉัน) และตั้งชื่อว่า inventory-state-machine-role Step Functions จะทำการวิเคราะห์เวิร์กโฟลว์ของคุณและสร้างนโยบาย IAM ที่มีทรัพยากรที่ใช้โดยเวิร์กโฟลว์ของคุณ คลิก Create state machine (สร้างเครื่องสถานะ) คุณจะเห็นแบนเนอร์สีเขียวอ่อนระบุว่าสร้างเครื่องสถานะเรียบร้อยแล้ว

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3g

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-3g

AWS IAM คือ บริการบนเว็บที่ช่วยคุณควบคุมการเข้าถึงทรัพยากร AWS อย่างปลอดภัย ในขั้นตอนนี้ คุณจะได้สร้างบทบาท IAM ที่จะอนุญาตให้ Step Functions เข้าถึง SQS ได้


ก. ในอีกหน้าต่างเบราว์เซอร์หนึ่ง ให้เปิด AWS Management Console เมื่อหน้าจอโหลดแล้ว ให้พิมพ์ IAM ในแถบค้นหา จากนั้นเลือก IAM เพื่อเปิดคอนโซลบริการ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4a

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4a

ข. คลิกที่ Roles (บทบาท) จากนั้นคลิก Create Role (สร้างบทบาท)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4b

ค. บนหน้า Create Role (สร้างบทบาท) ให้เลือก AWS Service (บริการของ AWS) เอาไว้ จากนั้นเลือก Lambda แล้วคลิก Next: Permissions (ถัดไป: การอนุญาต)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4c

ง. ในหน้าจอสร้างบทบาท ให้แนบ
นโยบาย AmazonSQSFullAccess และ AWSStepFunctionsFullAccess คลิก Next: Tags (ถัดไป: แท็ก) จากนั้นคลิก Next: Review (ถัดไป: ตรวจสอบ)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4d

จ. ป้อนชื่อบทบาทเป็น inventory-lambda-role แล้วคลิก Create role (สร้างบทบาท)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4e

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-4e

ในขั้นตอนนี้ คุณจะสร้างฟังก์ชัน Lambda ที่จะจำลองไมโครเซอร์วิสคลังข้อมูล ฟังก์ชัน Lambda จะดึงข้อความจาก SQS และจะส่งข้อความกลับไปยัง Step Functions ซึ่งแสดงผลของคำขอ


ก. คลิก Services (บริการ) พิมพ์ Lambda ในกล่องข้อความค้นหา จากนั้นเลือก Lambda เพื่อเปิดคอนโซลบริการ

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5a

ข. เลือก Create function (สร้างฟังก์ชัน)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5b

ค. เลือก Author from scratch (เขียนใหม่ตั้งแต่ต้น) เอาไว้ ถัดไป ให้กำหนดค่าฟังก์ชัน Lambda แรกของคุณดังนี้:

สำหรับชื่อ ให้พิมพ์ว่า Inventory (คลังข้อมูล)
สำหรับรันไทม์ให้เลือก Node.js 8.10
สำหรับบทบาท ให้เลือก Use an existing role (ใช้บทบาทที่มี)

เลือก inventory-lambda-role จากรายการ
คลิก Create function (สร้างฟังก์ชัน)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5c

ง. แทนที่เนื้อหาหน้าต่างโค้ดของฟังก์ชันด้วยโค้ดต่อไปนี้ จากนั้นคลิก Save (บันทึก)

console.log('Loading function');
          const aws = require('aws-sdk');

          exports.handler = (event, context, callback) => {
              const stepfunctions = new aws.StepFunctions();

              for (const record of event.Records) {
                  const messageBody = JSON.parse(record.body);
                  const taskToken = messageBody.TaskToken;

                  const params = {
                      output: "\"Callback task completed successfully.\"",
                      taskToken: taskToken
                  };

                  console.log(`Calling Step Functions to complete callback task with params ${JSON.stringify(params)}`);

                  stepfunctions.sendTaskSuccess(params, (err, data) => {
                      if (err) {
                          console.error(err.message);
                          callback(err.message);
                          return;
                      }
                      console.log(data);
                      callback(null);
                  });
              }
          };
tmt-orchestrate-microservices-with-message-queues-on-step-functions-5d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5d

จ. เลือก SQS tigger ตั้งปุ่มสลับไปที่ Enable (เปิดใช้งาน) สำหรับคิว Orders (คำสั่งซื้อ) คลิก Add (เพิ่ม) แล้วคลิก Save (บันทึก)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5e

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-5e

เวิร์กโฟลว์ไร้เซิร์ฟเวอร์พร้อมดำเนินการแล้ว การดำเนินการเครื่องสถานะเป็นอินสแตนซ์หนึ่งของเวิร์กโฟลว์ของคุณและจะเกิดขึ้นในแต่ละครั้งที่ Step Functions รันและทำงาน ในแต่ละเครื่องสถานะ Step Functions จะมีการดำเนินการหลายรายการพร้อมๆ กันซึ่งคุณสามารถควบคุมได้จากคอนโซล Step Functions (ซึ่งคุณกำลังจะได้ทำในขั้นตอนถัดไป) หรือใช้ AWS SDK, การดำเนินการ API ของ Step Functions หรือ AWS CLI การดำเนินงานจะรับอินพุต JSON และสร้างเอาต์พุต JSON


ก. คลิก Services (บริการ) พิมพ์ Step (ขั้นตอน) ในแถบการค้นหา จากนั้นเลือก Step Functions เพื่อเปิดคอนโซลบริการ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6a

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6a

ข. ในหน้าจอ State machines (เครื่องสถานะ) ให้คลิก InventoryStateMachine ของคุณ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6b

ค. คลิก เริ่มดำเนินการ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6c

ง. กล่องโต้ตอบการดำเนินการใหม่จะปรากฏขึ้นมา ซึ่งคุณสามารถป้อนข้อมูลอินพุตสำหรับเครื่องสถานะของคุณได้ โดยเครื่องสถานะนี้จะไม่เป็นไปตามอินพุต คุณสามารถใช้อินพุตเริ่มต้นได้ คลิก เริ่มดำเนินการ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6d

จ. เมื่อเวิร์กโฟลว์ของคุณเริ่มดำเนินการ สีบานหน้าต่างเวิร์กโฟลว์การแสดงผลด้วยภาพจะเปลี่ยนไปตามแต่ละขั้นตอน รอสักครู่เพื่อให้ดำเนินการเสร็จสมบูรณ์ จากนั้น ในบานหน้าต่าง Execution details (รายละเอียดการดำเนินการ) ให้คลิก Input (อินพุต) และ Output (เอาต์พุต) เพื่อดูอินพุตและผลลัพธ์ของเวิร์กโฟลว์ของคุณ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6e

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6e

ฉ. Step Functions ช่วยให้คุณสามารถตรวจสอบขั้นตอนต่างๆ ในการดำเนินการของเวิร์กโฟลว์ได้ รวมถึงอินพุตและเอาต์พุตของแต่ละสถานะ คลิกบนแต่ละงานในเวิร์กโฟลว์ของคุณและเปิดช่อง Input (อินพุต) และ Output (เอาต์พุต) ใต้ส่วน Step details (รายละเอียดขั้นตอน) คุณจะเห็นว่าเพย์โหลดอินพุตของคุณที่นำเข้าไปยังเครื่องสถานะได้ถูกส่งต่อจากแต่ละขั้นตอนไปยังอีกขั้นตอนหนึ่งแล้ว และเพย์โหลดนั้นจะอัปเดตเมื่อแต่ละขั้นตอนเสร็จสิ้น

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6f

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6f

ช. เลื่อนลงมายังส่วน Execution event history (ประวัติเหตุการณ์การดำเนินการ) คลิกผ่านแต่ละขั้นตอนของการดำเนินการเพื่อดูวิธีที่ Step Functions เรียกใช้ SQS และส่งต่อเพย์โหลดระหว่างฟังก์ชัน

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6g

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6g

ซ. ขึ้นอยู่กับเอาต์พุตบน InventoryStateMachine ของคุณ เวิร์กโฟลว์ของคุณอาจสิ้นสุดลงด้วยความสำเร็จหรือล้มเหลว
ในสถานการณ์จริง คุณอาจต้องตัดสินใจลองใช้งานอีกครั้งหรือดำเนินการด้วยวิธีอื่น โดยขึ้นอยู่กับข้อความแสดงข้อผิดพลาดที่ได้รับ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6h

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-6h

ในขั้นตอนนี้ คุณจะยกเลิกทรัพยากรที่เกี่ยวข้องกับ AWS Step Functions และ AWS Lambda
ข้อสำคัญ: การยกเลิกทรัพยากรที่ไม่ได้ใช้งานจะช่วยลดต้นทุนและเป็นแนวทางปฏิบัติที่ดีที่สุด คุณเสียค่าบริการหากไม่ได้ลบทรัพยากรออก


ก. ที่ด้านบนของหน้าต่างคอนโซล AWS Step Functions ให้คลิก State machines (เครื่องสถานะ)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7a

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7a

ข. ในหน้าต่างเครื่องสถานะ ให้คลิก InventoryStateMachine และเลือก Delete (ลบ) ยืนยันการดำเนินการโดยการเลือก Delete state machine (ลบเครื่องสถานะ) ในกล่องโต้ตอบ เครื่องสถานะของคุณจะถูกลบในหนึ่งหรือสองนาทีเมื่อ Step Functions ยืนยันแล้วว่าการดำเนินการที่ค้างอยู่ทั้งหมดได้เสร็จสิ้นแล้ว

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7b

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7b

ค. ถัดไป คุณจะลบฟังก์ชัน Lambda คลิก Services (บริการ) ในเมนู AWS Management Console จากนั้นเลือก Lambda

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7c

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7c

ง. ในหน้าจอ Functions (ฟังก์ชัน) ให้คลิกฟังก์ชัน Inventory (คลังข้อมูล) ที่คุณสร้างขึ้นสำหรับบทแนะนำสอนการใช้งานนี้ แล้วเลือก Actions (การดำเนินการ) และ Delete (ลบ) ยืนยันการลบโดยการคลิก Delete (ลบ) อีกครั้ง

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7d

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7d

จ. สุดท้าย คุณจะลบบทบาท IAM ของคุณ คลิก Services (บริการ) ในเมนู AWS Management Console จากนั้นเลือก IAM

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7e

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7e

ฉ. เลือกบทบาท IAM ที่คุณสร้างขึ้นสำหรับบทแนะนำสอนการใช้งาน จากนั้นคลิก Delete role (ลบบทบาท) ยืนยันการลบโดยการคลิก Yes, Delete (ใช่ ลบออก) บนกล่องโต้ตอบ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7f

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7f

ช. ในรายการคิว เลือกคิวOrders (คำสั่งซื้อ) จากนั้น จากQueue Actions (การดำเนินการคิว) เลือกDelete Queue (ลบคิว)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7g

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7g

ซ. กล่องข้อความ Delete Queues (ลบคิว) จะแสดงขึ้น คุณสามารถลบคิวของคุณได้ ถึงแม้ว่าคุณจะยังมีข้อความอยู่ข้างในก็ตาม เลือก Yes, Delete Queue (ใช่ ลบคิว) คิวจะถูกลบ

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7h

(คลิกเพื่อซูม)

tmt-orchestrate-microservices-with-message-queues-on-step-functions-7h

คุณได้ดำเนินการจัดประสานไมโครเซอร์วิสในระบบคลาวด์เข้ากับคิวข้อความโดยใช้ AWS Step Functions และ Amazon SQS Step Functions มีความเหมาะสมอย่างยิ่งเมื่อคุณต้องการประสานงานทรัพยากรแอปพลิเคชันของคุณเมื่อต้องพิจารณาถึงผลิตภาพและความคล่องตัวเป็นหลัก

เมื่อคุณได้เรียนรู้วิธีการจัดประสานไมโครเซอร์วิสตามคิวแล้ว คุณสามารถดำเนินการต่อไปยังบทแนะนำสอนการใช้งานถัดไป ซึ่งคุณจะได้เรียนรู้วิธีการใช้งาน Step Functions เพื่อจัดการกับข้อผิดพลาด คุณจะได้สร้างเครื่องสถานะที่มีช่อง Retry และ Catch ที่ตอบสนองต่อโค้ดตอบสนองจาก API จำลองที่สร้างขึ้นตามประเภทข้อความแสดงข้อผิดพลาด ซึ่งกระบวนการนี้เรียกว่าการจัดการกับข้อผิดพลาดของฟังก์ชัน