實驗室概觀
在此 AWS 實驗室中,您可以使用兩個 Python 指令碼來獲得 Amazon Simple Queue Service (Amazon SQS) 的實際體驗。Amazon SQS 是一項全受管的訊息佇列服務,可協助分離雲端應用程式中的元件,並且旨在提供可靠且可擴充的通訊方式。
Amazon SQS 可降低與管理和操作訊息導向的中介軟體相關的複雜工作及開銷。開發人員可以使用它來專注處理差異化的工作。例如,您可以使用 Amazon SQS 作為事件來源,來調用一個 Lambda 函數,該函數在每次將影像上傳到 Amazon Simple Storage Service (Amazon S3) 儲存貯體時會執行影像分析。或者,您也可以使用 Amazon SQS 將訊息從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體傳送到另一個 EC2 執行個體以進行處理。
Amazon SQS 提供兩種類型的訊息佇列:標準佇列和先進先出 (FIFO) 佇列。標準佇列提供最大輸送量、盡力提供最佳排序,以及至少交付一次。FIFO 佇列的設計旨在確保訊息只會完全依照它們的傳送順序處理一次。
Amazon SQS 的運作機制如下:
- 分散式應用程式的元件 (製作者) 會將訊息傳送至 Amazon SQS 中的佇列 (稱為加入佇列的動作)。此訊息包含訊息接收者執行任務所需的所有資訊。
- 該訊息會在佇列中等待,直到取用程式 (分散式應用程式的另一個元件) 擷取並處理該訊息 (稱為清除佇列的動作) 為止。
- 取用程式會處理訊息,然後將其從佇列中刪除,以防止該訊息再次被接收和處理。
在此實驗室中,您可以使用兩個 Python 指令碼,以深入了解 Amazon SQS 的運作方式以及如何利用其功能。第一個 Python 指令碼 (receive.py) 是接收者,旨在持續監聽並接收 SQS 佇列的訊息。此指令碼展示連線至佇列和即時擷取訊息的程序。
第二個 Python 指令碼 (send.py) 是生產者,它提供了一個讓您解決的程式碼挑戰。目標是完成編寫的必要程式碼,以將訊息傳送到 SQS 佇列。此實驗室可協助您了解將訊息傳送至佇列以及從佇列接收訊息的過程,以便您可以將此知識應用在實際案例中。
目標
此實驗室結束後,您將能夠執行下列動作:
- 使用主控台和 AWS Command Line Interface (AWS CLI) 檢閱 SQS 佇列。
- 檢閱並了解 receive.py 指令碼的功能。
- 執行 receive.py 指令碼來監聽 BackgroundCheckApp 佇列。
- 更新 send.py 指令碼以將 Hello World 訊息傳送至 BackgroundCheckApp 佇列。
- 測試 send.py 指令碼以確認其是否將訊息正確傳送至 SQS 佇列。
技術知識先決條件
若要成功完成此實驗室,您應該具有:
- AWS 服務的基本知識。
- 使用 AWS Cloud9 編輯和測試 Python 指令碼的適應能力。
持續時間
此實驗室需要 30 分鐘的時間來完成。
圖示圖例
此實驗室使用各種圖示提醒您注意不同類型的指示和注意事項。下列清單說明各圖示的用途:
- 命令:您必須執行的命令。
- 預期輸出:您可使用的範例輸出,以驗證命令的輸出內容或經過編輯的檔案。
- 注意:提示、秘訣或重要指引。
- 考量事項:暫停一下,思考如何將某概念應用在自有環境,或與他人討論目前這個主題。
- 提示:問題或挑戰的提示。
- 任務完成:實驗室練習中的結論或摘要重點。