手動で実行できる AWS データ パイプラインを作成することはできますか?それをトリガーするときに、パラメーターを渡して実行したいと考えています。
3 に答える
はい、可能です。質問を投稿してから、AWS は新しい「scheduleType
」を作成しましたondemand
。これにより、「パイプラインのアクティブ化」を呼び出すたびにパイプラインを実行できます。AWS Lambda 経由でパイプラインを呼び出す例を次に示します。
いいえ、現在 Data Pipeline ではサポートされていません。あなたが探しているのは、特定の実行インスタンスにパラメーターを提供できる可能性のあるイベント駆動型スケジューリングだと思います。
次のオプションを検討することをお勧めします。
- Lambdaの使用- S3 からのトリガーに基づく任意のコードの実行をサポートします。次に、S3 を使用して、実行インスタンスに何も指定しないか、入力 (パラメーターとして機能) を指定します。
- AWS SWF と SQSを使用して独自に構築する
Data Pipeline で動作させるハックがありますが、これらのどれも使用せず、Data Pipeline がこの機能をサポートするのを待つことをお勧めします。
ハック#1:
パイプラインをスケジュールに従って実行できます。パイプラインには次の 3 つのコンポーネントがあります。
- ShellCommandActivity (S3 からのステージング ファイルを使用してシェル スクリプトを実行します。Data Pipeline は、S3 からリソースへのファイルのステージングを行います)
- S3前提条件
- (オプション) ShellCommandActivity を実行するためのリソース
次に、シェル スクリプトで S3 ファイルを確認します。S3に何もない/空のファイルの場合、この実行をノーオペレーションにするか、S3ファイルを読み取ってそれらを引数としてプログラムに渡すロジックを作成できます。
ハック#2:
トリガー メカニズムとして機能する S3 前提条件 (たとえば、s3://my-bucket/marker-file-#{scheduledStartTime} という場所を指す) をパイプラインのアクティビティに追加できます。特定の間隔で実行したい場合はいつでも、対応するファイル (s3://my-bucket/marker-file-2015-10-01:00:00:00 など) を S3 に配置できます。
このハックはひどいので、これ以上説明するのは気が進まない.