翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
の構築 AWS CodeBuild Step Functions を使用した プロジェクト
このサンプルプロジェクトでは、 の使用方法を示します。 AWS Step Functions を構築するための AWS CodeBuild プロジェクトを実行し、テストを実行してから、結果に基づいて Amazon SNS通知を送信します。
ステップ 1: ステートマシンを作成する
-
Step Functions コンソール
を開き、[ステートマシンの作成] を選択します。 -
Start a CodeBuild build
検索ボックスに「」と入力し、返された検索結果から CodeBuild ビルドを開始するを選択します。 -
[次へ] を選択して続行します。
-
デモを実行して読み取り専用の ready-to-deploy ワークフローを作成するか、ビルドを選択して編集可能なステートマシン定義を作成し、ビルド後にデプロイできます。
このサンプルプロジェクトは、以下のリソースをデプロイします。
-
An AWS CodeBuild buid (構築)
-
Amazon SNSトピック
-
An AWS Step Functions ステートマシン
-
関連 AWS Identity and Access Management (IAM) ロール
次の図は、 CodeBuild ビルドサンプルプロジェクトのワークフローグラフを示しています。
-
-
[テンプレートの使用] を選択して選択を続行します。
次のステップは、前の選択肢によって異なります。
-
デモの実行 – によってデプロイされたリソースを使用して読み取り専用プロジェクトを作成する前に、ステートマシンを確認できます。 AWS CloudFormation を に AWS アカウント.
ステートマシンの定義を表示でき、準備ができたら、デプロイと実行を選択してプロジェクトをデプロイし、リソースを作成します。
デプロイでは、リソースとアクセス許可の作成に最大 10 分かかる場合があります。スタック ID リンクを使用して、 の進行状況をモニタリングできます。 AWS CloudFormation.
デプロイが完了すると、コンソールに新しいステートマシンが表示されます。
-
構築 – ワークフロー定義を確認して編集できます。カスタムワークフローの実行を試みる前に、サンプルプロジェクトのプレースホルダーの値を設定する必要がある場合があります。
注記
アカウントにデプロイされたサービスには、標準料金が適用される場合があります。
ステップ 2: ステートマシンを実行する
-
[ステートマシン] ページで、サンプルプロジェクトを選択します。
-
サンプルプロジェクトページで、[実行を開始] を選択します。
-
[実行を開始] ダイアログボックスで、以下の操作を行います。
-
(オプション) 生成されたデフォルトを上書きするカスタム実行名を入力します。
非ASCII名前とログ記録
Step Functions は、 ASCII以外の文字を含むステートマシン、実行、アクティビティ、およびラベルの名前を受け入れます。このような文字は Amazon では機能しないため CloudWatch、 でメトリクスを追跡できるようにASCII、文字のみを使用することをお勧めします CloudWatch。
-
(オプション) 入力ボックスに、入力値を として入力しますJSON。デモを実行している場合は、このステップをスキップできます。
-
[実行のスタート] を選択します。
Step Functions コンソールで実行の詳細ページに移動し、グラフビューで状態を選択して、ステップの詳細ペインの関連情報を確認できます。
-
ステートマシンのコード例
このサンプルプロジェクトのステートマシンは、 CodeBuild および Amazon と統合されますSNS。
このステートマシンの例を参照して、Step Functions がステートマシンを使用して CodeBuild プロジェクトを構築し、ジョブが成功したか失敗したかに関するメッセージを含む Amazon SNSトピックを送信します。
Step Functions が他の を制御する方法の詳細については、「」を参照してください。 AWS サービスについては、「」を参照してくださいサービスと Step Functions の統合。
{
"Comment": "An example of using CodeBuild to run tests, get test results and send a notification.",
"StartAt": "Trigger CodeBuild Build",
"States": {
"Trigger CodeBuild Build": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:startBuild.sync",
"Parameters": {
"ProjectName": "CodeBuildProject-Dtw1jBhEYGDf"
},
"Next": "Get Test Results"
},
"Get Test Results": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:batchGetReports",
"Parameters": {
"ReportArns.$": "$.Build.ReportArns"
},
"Next": "All Tests Passed?"
},
"All Tests Passed?": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.Reports[0].Status",
"StringEquals": "SUCCEEDED",
"Next": "Notify Success"
}
],
"Default": "Notify Failure"
},
"Notify Success": {
"Type": "Task",
"Resource": "arn:aws:states:::sns:publish",
"Parameters": {
"Message": "CodeBuild build tests succeeded",
"TopicArn": "arn:aws:sns:sa-east-1:123456789012:StepFunctionsSample-CodeBuildExecution3da9ead6-bc1f-4441-99ac-591c140019c4-SNSTopic-EVYLVNGW85JP"
},
"End": true
},
"Notify Failure": {
"Type": "Task",
"Resource": "arn:aws:states:::sns:publish",
"Parameters": {
"Message": "CodeBuild build tests failed",
"TopicArn": "arn:aws:sns:sa-east-1:123456789012:StepFunctionsSample-CodeBuildExecution3da9ead6-bc1f-4441-99ac-591c140019c4-SNSTopic-EVYLVNGW85JP"
},
"End": true
}
}
}
他の で Step Functions を使用するIAMときに を設定する方法の詳細については、「」を参照してください。 AWS サービスについては、「」を参照してくださいStep Functions が統合サービスのIAMポリシーを生成する方法。