近日,亞馬遜宣佈發佈新的AWS Step Functions集成,包括他們的計算、數據庫、消息傳遞、分析和機器學習服務,這使得用戶可以把這些服務作爲狀態機工作流中的步驟。藉助AWS Step Functions,亞馬遜提供了一種抽象的方法來連接和協調活動,充分利用高度可伸縮的運行時,可視化工作流表示,並且內置了重試、監控和日誌機制。
藉助有限狀態機方法,爲了執行各種功能和工作,執行任務以及使用順序或並行執行、決策和“互生狀態(alternate states)”的能力等都可以使用狀態和任務來實現。Step Functions使用基於JSON的定義來創建這些工作流(稱爲亞馬遜狀態語言),分析模板並將其可視化,從而幫助提供流程洞察力。使用亞馬遜狀態語言,工程師可以通過實現一組狀態來定義狀態機,這些狀態集執行一些工作、實現狀態之間的轉換、應用錯誤處理等等。因此,AWS Step Functions提供了建立完整工作流的功能,類似於Azure上Logic Apps。
除了之前提供的AWS Lambda集成支持之外,亞馬遜現在還宣佈支持對其他多個開箱即用的服務進行集成。這樣,不用編寫額外的代碼就可以交換數據和使用邏輯了。亞馬遜總共提供了8個服務的集成,每個服務都實現了自己的任務,如公告所述。
-
DynamoDB——從Amazon DynamoDB表中獲取已有的數據項;把一個新的數據項存入DynamoDB表。
-
AWS Batch——提交一個AWS Batch作業,等待它完成。
-
Amazon ECS——使用任務定義運行一項Amazon ECS或AWS Fargate任務。
-
Amazon SNS——向亞馬遜簡單通知服務(SNS)主題發佈一條消息;
-
Amazon SQS——向亞馬遜簡單隊列服務(SQS)發送一條消息。
-
AWS Glue——啓動一個AWS Glue作業。
-
Amazon SageMaker——創建一個Amazon SageMaker訓練作業;創建一個SageMaker轉換作業(要了解更多信息,請閱讀“Amazon SageMaker的新特性:工作流、算法和認證”)。
AWS Step Functions的入門教程有許多,隨着新集成的發佈,亞馬遜還提供了幾個示例來展示這些新功能。此外,這些示例也可以從Step Functions控制檯獲得,它使用AWS CloudFormation提供了這些示例使用的所有資源。這些示例可以讓你更熟悉這些功能,爲進一步開發解決方案奠定基礎。
英文原文
https://www.infoq.com/news/2018/12/amazon-step-function-integration