コードスニペットを使用して Amazon SNS メッセージを送信する状態を作成する​ - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コードスニペットを使用して Amazon SNS メッセージを送信する状態を作成する​

AWS Step Functions特定のものと統合するAWS のサービスAmazon Simple Notification Service (Amazon SNS) など このチュートリアルでは、Amazon SNS を使用して SMS 対応デバイスにテキストメッセージを送信するコードスニペットを生成します。ステートマシン定義から Amazon SNS に直接パラメータを渡します。

Step Functions が他のAWS のサービスAmazon ステートメント言語から直接、以下を参照してください。

前提条件

ステップ 1: コードスニペットの生成

コードスニペットを生成するには、ステートマシン定義の編集からスタートする必要があります。

  1. AWS Management Console にサインインして、[Step Functions] コンソールを開きます。

  2. 選択ワークフローをコードで記述する

  3. を使用する場合タイプ、デフォルトのを選択したままにしますStandard

    デフォルトのHelloWorldステートマシンは下に表示されます定義

    
                        HelloWorld 定義
  4. の [] からコードスニペットの生成ドロップダウンリストで、Amazon SNS: メッセージを発行する

    [Generate SNS Publish task state] (SNS Publish タスク状態を生成する) ウィンドウが表示されます。

  5. []送信先、選択電話番号[] ページで、電話番号を入力します。

  6. 選択電話番号を入力表示されたドロップダウンリストで、下のボックスに電話番号を入力します。

    [+][country code][subscriber number including area code] の形式を使用します。例: +12065550123

  7. [Message] (メッセージ) で、[Enter message] (メッセージを入力) を選択し、SMS メッセージとして送信するテキストを入力します。

    注記

    [Specify message at runtime with state input] (実行時に状態の入力を使用してメッセージを指定する) を選択することもできます。このオプションを使用すると、参照パスを使用して、ステートマシン実行の入力からメッセージを選択できます。詳細については、次を参照してください。

でオプションを設定するとSNS Publish タスク状態を生成しますの [] ページで、プレビューセクションが、Amazonの州の言語コードで更新されますTask必要なオプションで述べてください。

例えば、これらのオプションを選択します。


                SNS の状態オプション

これらのオプションが選択された場合、[Preview] (プレビュー) 領域に表示される生成されたコードスニペットは次のようになります。

"Amazon SNS: Publish a message": { "Type": "Task", "Resource": "arn:aws:states:::sns:publish", "Parameters": { "Message": "Hello from Step Functions!", "PhoneNumber": "+12065550123" }, "Next": "NEXT_STATE" }
注記

[Task state options] (タスク状態のオプション) セクションで、RetryCatch、および TimeoutSeconds の各オプションも設定できます。Step Functions のエラー処理 を参照してください。

ステップ 2: ステートマシン定義を更新する

Amazon SNS オプションを設定したので、生成されたコードスニペットをステートマシン定義に貼り付け、​既存の Amazon ステートメント言語コードを更新します。​

  1. [Preview] (プレビュー) セクションのコードを確認したら、[Copy to clipboard] (クリップボードにコピー) を選択します。

  2. ステートマシン定義の HelloWorld 状態の閉じ括弧の後ろにカーソルを置きます。​

    
                        HelloWorld 状態の末尾にカーソルを置きます。

    カンマを入力し、Enterをクリックして新しい行を開始します。コードスニペットをステートマシン定義に貼り付けます。

  3. Amazon SNS: Publish a message 状態の最期の行を、​"Next": "NEXT_STATE" から "End": true に変更します。​

  4. HelloWorld 状態の最期の行を、​"End": true から "Next": "Amazon SNS: Publish a message" に変更します。​

  5. [Visual Workflow] (ビジュアルワークフロー) ペインの 
       refresh
    を選択します。ビジュアルワークフローをチェックして、新しい状態が含まれていることをチェックします。

    
                        ビジュアルワークフローの確認
  6. (オプション) 読みやすくするために JSON をインデントします。ステートマシン定義は次のようになります。

    { "StartAt":"HelloWorld", "States":{ "HelloWorld":{ "Type":"Pass", "Result":"Hello World!", "Next":"Amazon SNS: Publish a message" }, "Amazon SNS: Publish a message":{ "Type":"Task", "Resource":"arn:aws:states:::sns:publish", "Parameters":{ "Message":"Hello from Step Functions!", "PhoneNumber":"+12065550123" }, "End":true } } }
  7. [Next] (次へ) を選択します。

  8. ステートマシンの名前を入力します。例えば、using-code-snippetsです。

  9. を使用する場合アクセス許可、デフォルトのを選択したままにします新規ロールの作成

  10. Create State Machine(ステートマシンの作成)を選択します。

ステップ 3: 実行の開始

ステートマシンを作成した後、実行をスタートします。

  1. Amazon リソースネーム (ARN)、関連する IAM ARN、ステートマシン定義など、ステートマシンの詳細を確認します。

  2. リポジトリの []using-code-snippetsページで実行の開始

    -実行の開始ダイアログボックスが表示されます。

  3. (省略可能) 実行を識別するために、[] ページで名前を指定できます。[Name] (名前)ボックスに移動するとそのように表示されます。デフォルトでは、Step Functions は自動的に一意の実行名を生成します。

    注記

    Step Functions では、非 ASCII 文字を含むステートマシン、実行、およびアクティビティ名を作成できます。これらの非 ASCII 名は Amazon では機能しません CloudWatch。確実に追跡できるようにするため CloudWatch メトリクスの場合は、ASCII 文字のみを使用する名前を選択します。

    注記

    Amazon SNS コードスニペットを作成時に、[Specify message at runtime with state input] (状態入力を使ってランタイム にメッセージの指定) を選択した場合、[Input - optional] (入力 - オプション) にメッセージを含めます。ここでは、デフォルトの状態入力を使用します。

  4. [Start Execution] (実行のスタート) を選択します。

    ステートマシンの新しい実行がスタートされ、実行中の実行が表示されている新しいページが表示されます。

コードスニペットで検証済みの電話番号を指定した場合、ステートマシンの実行によって直接トリガーされた Amazon SNS からのテキストメッセージを受信します。