本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Step Functions 主控台提供將儲存的工作流程匯出和下載為 AWS CloudFormation or AWS SAM (SAM) 範本的功能。對於 AWS 區域 該支援 AWS Infrastructure Composer,它還可讓您將工作流程匯出至 Infrastructure Composer 並導覽至 Infrastructure Composer 主控台,您可以在其中繼續使用新產生的範本。
範本組態選項
此功能提供下列選項。如果您選擇匯出和下載 IaC 範本檔案,主控台會顯示適用於已儲存狀態機器的選項以供選取。如果您要匯出至 Infrastructure Composer,Step Functions 主控台會自動實作適用於您狀態機器的組態。
-
包含主控台代表您建立IAM的角色 – 此選項會匯出執行角色政策。它會建構 範本中的 IAM角色,並將其連接至狀態機器資源。只有在狀態機器具有由主控台建立的執行角色時,此選項才適用。
-
包含 CloudWatch 日誌群組 – 在範本中建構 CloudWatch 日誌群組,並將其連接至狀態機器資源。只有在狀態機器已連接 CloudWatch 日誌群組,且日誌層級未設定為 時,此選項才適用
OFF
。 -
將資源參考取代為 DefinitionSubstitutions - 此選項DefinitionSubstitutions會為下列元件產生 :
-
分散式映射 S3 欄位。
-
Activity
資源。匯出包含任何Run Activity
任務的 AWS CloudFormation 範本中的Activity
資源。匯出也提供DefinitionSubstitutions
參考建立Activity
的資源。 -
所有服務整合
S3URI
的承載欄位中的任何ARN
或 。 -
除了
ARN
和S3URI
欄位之外,匯出還會DefinitionSubstitutions
為其他常用的服務整合承載欄位產生 。特定服務整合如下:-
athena:startQueryExecution
-
batch:submitJob
-
dynamodb:getItem
,dynamodb:updateItem
,dynamodb:updateItem
,dynamodb:deleteItem
-
ecs:runTask
-
glue:startJobRun
-
http:invoke
-
lambda:invoke
-
sns:publish
-
sqs:sendMessage
-
states:startExecution
-
-
匯出和下載工作流程的 IaC 範本
將您的工作流程匯出至 IaC 範本檔案
-
開啟 Step Functions 主控台
,然後選取您要使用的狀態機器。在繼續下一個步驟之前,請確定狀態機器的任何變更都已儲存。 -
從動作功能表中選取匯出至 CloudFormation 或 SAM 範本。
-
CloudFormation 從出現的對話方塊中選取類型為 SAM或 。
-
如果您選取CloudFormation範本,接下來選擇 JSON或 YAML檔案格式。
-
如果您選取SAM範本,則不會顯示任何格式選項。SAM 範本預設為YAML檔案格式。
-
-
展開其他組態。預設會選取所有選項。檢閱並更新 IaC 範本選項的選擇。這些選項會在上一節中詳細說明,標題為 範本組態選項。
如果 選項不適用於您的特定工作流程,則不會顯示在對話方塊中。
-
選擇下載以匯出和下載產生的 IaC 範本檔案。
將您的工作流程直接匯出至 AWS Infrastructure Composer
將您的工作流程匯出至 Infrastructure Composer
-
開啟 Step Functions 主控台
,然後選取您要使用的狀態機器。在繼續下一個步驟之前,請確定狀態機器的任何變更都已儲存。 -
從動作功能表中選取匯出至基礎設施編寫器。
-
隨即顯示匯出至基礎設施編寫器對話方塊。您可以使用 Transfer 儲存貯體名稱欄位中顯示的預設名稱,或輸入新的名稱。Amazon S3 儲存貯體的名稱必須是全域唯一的,並遵循儲存貯體命名規則。
-
選擇確認並建立專案,將您的工作流程匯出至基礎設施編寫器。
-
若要在 Infrastructure Composer 中儲存專案和工作流程定義,請啟用本機同步模式。
注意
如果您之前已使用匯出至基礎設施編寫器功能,並使用預設名稱建立 Amazon S3 儲存貯體,則 Step Functions 可以在儲存貯體仍然存在時重新使用此儲存貯體。接受對話方塊中的預設儲存貯體名稱,以重新使用現有儲存貯體。
Amazon S3 傳輸儲存貯體組態
Step Functions 為傳輸工作流程所建立的 Amazon S3 AES 儲存貯體會使用 256 加密標準自動加密物件。Step Functions 也會將儲存貯體設定為使用儲存貯體擁有者條件,以確保只有您的 AWS 帳戶 能夠將物件新增至儲存貯體。
預設儲存貯體名稱使用字首 states-templates
、10 位數英數字串,以及 AWS 區域 您在 中建立工作流程的 :states-templates-
。為了避免將額外費用新增至您的 AWS 帳戶,我們建議您在完成將工作流程匯出至 Infrastructure Composer 後,立即刪除 Amazon S3 儲存貯體。amzn-s3-demo-bucket
-us-east-1
適用標準 Amazon S3 定價
所需的許可
若要搭配 Infrastructure Composer 使用此步驟函數匯出功能,您需要特定許可才能下載 AWS SAM 範本並將範本組態寫入 Amazon S3。
若要下載 AWS SAM 範本,您必須具有使用下列API動作的許可:
若要讓 Step Functions 將函數的組態寫入 Amazon S3,您必須具有使用下列API動作的許可:
如果您無法將函數組態匯出至 Infrastructure Composer,請檢查您的帳戶是否具有執行這些操作所需要的許可。