トリガー
Triggers API では、AWS Glue におけるジョブトリガーの作成、更新、削除と、開始および停止に関連するデータ型と API について説明します。
データ型
トリガー構造
特定のトリガーに関する情報です。
フィールド
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーの名前。
-
WorkflowName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーに関連付けられているワークフローの名前。
-
Id– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。将来の利用のために予約されています。
-
Type– UTF-8 文字列 (有効な値:SCHEDULED|CONDITIONAL|ON_DEMAND|EVENT)。これがトリガーのタイプです。
-
State– UTF-8 文字列 (有効な値:CREATING|CREATED|ACTIVATING|ACTIVATED|DEACTIVATING|DEACTIVATED|DELETING|UPDATING)。現在のトリガーの状態。
-
Description– 説明文字列。2,048 バイト長以下。URI address multi-line string pattern に一致。このトリガーの説明。
-
Schedule– UTF–8 文字列。スケジュールを指定するために使用される
cron式 (ジョブとクローラーの時間ベースのスケジュールを参照してください。) たとえば、毎日 12:15 UTC に何かを実行するには、cron(15 12 * * ? *)を指定します。 -
Actions– アクション オブジェクトの配列。このトリガーによって開始されるアクション。
-
Predicate– 述語 オブジェクト。このトリガーの述語は、いつトリガーを起動するかを定義します。
-
EventBatchingCondition– EventBatchingCondition オブジェクト。EventBridge イベントトリガーが起動する前に、満たす必要があるBatch 条件 (指定された受信イベント数またはバッチ時間ウィンドウの期限切れ)。
TriggerUpdate 構造
トリガーの更新に使用する情報を提供するために使用される構造です。このオブジェクトは、前のトリガー定義を完全に上書きして更新します。
フィールド
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。将来の利用のために予約されています。
-
Description– 説明文字列。2,048 バイト長以下。URI address multi-line string pattern に一致。このトリガーの説明。
-
Schedule– UTF–8 文字列。スケジュールを指定するために使用される
cron式 (ジョブとクローラーの時間ベースのスケジュールを参照してください。) たとえば、毎日 12:15 UTC に何かを実行するには、cron(15 12 * * ? *)を指定します。 -
Actions– アクション オブジェクトの配列。このトリガーによって開始されるアクション。
-
Predicate– 述語 オブジェクト。このトリガーの述語は、いつトリガーを起動するかを定義します。
-
EventBatchingCondition– EventBatchingCondition オブジェクト。EventBridge イベントトリガーが起動する前に、満たす必要があるBatch 条件 (指定された受信イベント数またはバッチ時間ウィンドウの期限切れ)。
述語構造
トリガーがいつ起動するかを決定するトリガーの述語を定義します。
フィールド
-
Logical– UTF-8 文字列 (有効な値:AND|ANY)。1 つの条件のみが表示されている場合のオプションフィールドです。複数の条件が表示されている場合、このフィールドは必須です。
-
Conditions– 条件 オブジェクトの配列。構造 500 個以下。トリガーがいつ起動するかを決定する条件のリスト。
条件の構造
トリガーが起動する条件を定義します。
フィールド
-
LogicalOperator– UTF-8 文字列 (有効な値:EQUALS)。論理演算子。
-
JobName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。JobRunsのこの条件が適用され、このトリガーが待機するジョブの名前。 -
State– UTF-8 文字列 (有効な値:STARTING|RUNNING|STOPPING|STOPPED|SUCCEEDED|FAILED|TIMEOUT|ERROR|WAITING|EXPIRED)。条件の状態。現在、トリガーがリッスンできるジョブ状態は
SUCCEEDED、STOPPED、FAILED、およびTIMEOUTのみです。トリガーがリッスンできるクローラー状態はSUCCEEDED、FAILED、およびCANCELLEDのみです。 -
CrawlerName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。この条件が適用されるクローラーの名前。
-
CrawlState- UTF-8 文字列 (有効値:RUNNING|CANCELLING|CANCELLED|SUCCEEDED|FAILED|ERROR).。この条件が適用されるクローラーの状態。
アクション構造
トリガーによって開始されるアクションを定義します。
フィールド
-
JobName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。実行されるジョブの名前。
-
Arguments– キーバリューペアのマップ配列。各キーは UTF-8 文字列。
各値は UTF-8 文字列。
このトリガーが起動するときに使用されるジョブ引数。このジョブ実行では、ジョブ定義自体に設定されているデフォルト引数を置き換えます。
独自のジョブ実行スクリプトが消費する引数だけでなく、AWS Glue が消費する引数もここで指定できます。
独自のジョブ引数を指定および使用する方法については、デベロッパーガイドのトピック「Calling AWS Glue APIs in Python」を参照してください。
AWS Glue がジョブを設定するために使用するキーと値のペアについては、デベロッパーガイドのトピック「Special Parameters Used by AWS Glue」を参照してください。
-
Timeout– 数値 (整数)。1 以上。JobRunのタイムアウト (分)。ジョブ実行が終了済みになってTIMEOUTステータスに入るまでに、ジョブ実行でリソースを消費できる最大時間です。これにより、親ジョブで設定したタイムアウト値が上書きされます。ジョブのタイムアウト値は 7 日または 10080 分未満である必要があります。それ以外の場合は、ジョブは例外をスローします。
値を空白のままにすると、タイムアウトはデフォルトで 2,880 分に設定されます。
タイムアウト値が 7 日を超える既存の AWS Glue ジョブは、デフォルトで 7 日に設定されます。たとえば、バッチジョブに 20 日間のタイムアウトを指定している場合、7 日目に停止します。
ストリーミングジョブでメンテナンスウィンドウを設定している場合、7 日後にメンテナンスウィンドウ中に再起動されます。
-
SecurityConfiguration– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。このジョブで使用される
SecurityConfiguration構造の名前。 -
NotificationProperty– NotificationProperty オブジェクト。ジョブ実行通知の構成プロパティを指定します。
-
CrawlerName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。このアクションで使用されるクローラーの名前。
EventBatchingCondition 構造
EventBridge イベントトリガーが起動する前に、満たす必要があるBatch 条件 (指定された受信イベント数またはバッチ時間ウィンドウの期限切れ)。
フィールド
-
BatchSize– 必須: 数値 (integer)。1~100。EventBridge イベントトリガーが発生する前に、Amazon EventBridge から受信する必要のあるイベントの数。
-
BatchWindow– 数値 (integer)。1~900。EventBridge イベントトリガーが起動するまでの時間 (秒単位)。最初のイベントを受信したときからの時間です。
操作
CreateTrigger アクション (Python: create_trigger)
新しいトリガーを作成します。
ジョブ引数はログに記録される場合があります。プレーンテキストのシークレットを引数として渡さないでください。ジョブ内に保持する場合は、AWS Glue 接続、AWS Secrets Manager、または他のシークレット管理メカニズムから取得します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーの名前。
-
WorkflowName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーに関連付けられているワークフローの名前。
-
Type– 必須: UTF-8 文字列 (有効な値:SCHEDULED|CONDITIONAL|ON_DEMAND|EVENT)。新しいトリガーのタイプ。
-
Schedule– UTF–8 文字列。スケジュールを指定するために使用される
cron式 (ジョブとクローラーの時間ベースのスケジュールを参照してください。) たとえば、毎日 12:15 UTC に何かを実行するには、cron(15 12 * * ? *)を指定します。このフィールドは、トリガータイプが SCHEDULED の場合に必要です。
-
Predicate– 述語 オブジェクト。新しいトリガーがいつ起動するかを指定する述語です。
このフィールドは、トリガータイプが
CONDITIONALの場合に必要です。 -
Actions– 必須: アクション オブジェクトの配列。このトリガーが起動したときに開始されるアクション。
-
Description– 説明文字列。2,048 バイト長以下、URI address multi-line string pattern に一致。新しいトリガーの説明。
-
StartOnCreation– ブール。作成時に
SCHEDULEDおよびCONDITIONALトリガーを起動するには、trueに設定します。True はON_DEMANDトリガーではサポートされません。 -
Tags– キーと値のペアのマップ配列。50 ペア以下。各キーは UTF-8 文字列で、1~128 バイト長です。
各値は UTF-8 文字列で、256 バイト長以下です。
このトリガーで使用するタグ。トリガーへのアクセスを制限するためにタグを使用することができます。AWS Glue のタグの詳細については、デベロッパーガイドの「AWS Tags in AWS Glue」を参照してください。
-
EventBatchingCondition– EventBatchingCondition オブジェクト。EventBridge イベントトリガーが起動する前に、満たす必要があるBatch 条件 (指定された受信イベント数またはバッチ時間ウィンドウの期限切れ)。
レスポンス
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーの名前。
エラー
AlreadyExistsExceptionEntityNotFoundExceptionInvalidInputExceptionIdempotentParameterMismatchExceptionInternalServiceExceptionOperationTimeoutExceptionResourceNumberLimitExceededExceptionConcurrentModificationException
StartTrigger アクション (Python: start_trigger)
既存のトリガーを開始します。さまざまなタイプのトリガーの開始方法については、「ジョブのトリガー」を参照してください。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。開始するトリガーの名前。
レスポンス
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。開始されたトリガーの名前。
エラー
InvalidInputExceptionInternalServiceExceptionEntityNotFoundExceptionOperationTimeoutExceptionResourceNumberLimitExceededExceptionConcurrentRunsExceededException
GetTrigger アクション (Python: get_trigger)
トリガーの定義を取得します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。取得するトリガーの名前。
レスポンス
-
Trigger– Trigger トリガー) オブジェクト。リクエストされたトリガー定義。
エラー
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutException
GetTriggers アクション (Python: get_triggers)
ジョブに関連付けられているすべてのトリガーを取得します。
リクエスト
-
NextToken– UTF-8 文字列。継続トークン (これが継続呼び出しの場合)。
-
DependentJobName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーを取得するジョブの名前。このジョブを開始できるトリガーが返されます。このようなトリガーがない場合、すべてのトリガーが返されます。
-
MaxResults– 1 未満または 200 を超えない数値 (整数)。応答の最大サイズ。
応答
-
Triggers– Trigger トリガー) オブジェクトの配列。指定されたジョブのトリガーのリスト。
-
NextToken– UTF–8 文字列。リクエストされたトリガーのすべてがまだ返されていない場合は、継続トークン。
エラー
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutException
UpdateTrigger アクション (Python: update_trigger)
トリガー定義を更新します。
ジョブ引数はログに記録される場合があります。プレーンテキストのシークレットを引数として渡さないでください。ジョブ内に保持する場合は、AWS Glue 接続、AWS Secrets Manager、または他のシークレット管理メカニズムから取得します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。更新するトリガーの名前。
-
TriggerUpdate– 必須: TriggerUpdate オブジェクト。トリガーの更新に使用する新しい値。
レスポンス
-
Trigger– Trigger トリガー) オブジェクト。結果として生じるトリガー定義。
エラー
InvalidInputExceptionInternalServiceExceptionEntityNotFoundExceptionOperationTimeoutExceptionConcurrentModificationException
StopTrigger アクション (Python: stop_trigger)
指定されたトリガーを停止します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。停止するトリガーの名前。
レスポンス
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。停止したトリガーの名前。
エラー
InvalidInputExceptionInternalServiceExceptionEntityNotFoundExceptionOperationTimeoutExceptionConcurrentModificationException
DeleteTrigger アクション (Python: delete_trigger)
指定されたトリガーを削除します。トリガーが見つからない場合、例外はスローされません。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。削除するトリガーの名前。
レスポンス
-
Name– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。削除されたトリガーの名前。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionConcurrentModificationException
ListTriggers アクション (Python: list_triggers)
この AWS アカウントのすべてのトリガーリソース、または指定されたタグを持つリソースの名前を取得します。このオペレーションにより、アカウントで利用可能なリソースとその名前を確認できます。
このオペレーションはオプションの Tags フィールドを受け取ります。このフィールドを応答のフィルターとして使用すると、タグ付きリソースをグループとして取得できます。タグフィルタリングの使用を選択した場合は、タグが付いたリソースのみが取得されます。
リクエスト
-
NextToken– UTF-8 文字列。継続トークン (これが継続リクエストの場合)。
-
DependentJobName– UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。トリガーを取得するジョブの名前。このジョブを開始できるトリガーが返されます。このようなトリガーがない場合は、すべてのトリガーが返ります。
-
MaxResults– 1 未満または 200 を超えない数値 (整数)。返されるリストの最大サイズ。
-
Tags– キーと値のペアのマップ配列。50 ペア以下。各キーは UTF-8 文字列で、1~128 バイト長です。
各値は UTF-8 文字列で、256 バイト長以下です。
これらのタグ付きリソースのみを返すように指定します。
レスポンス
-
TriggerNames– UTF-8 文字列の配列。アカウント内のすべてのトリガーの名前、または指定されたタグを持つトリガーの名前。
-
NextToken– UTF–8 文字列。継続トークン (戻されたリストに最後に使用可能なメトリクスが含まれていない場合)。
エラー
EntityNotFoundExceptionInvalidInputExceptionInternalServiceExceptionOperationTimeoutException
BatchGetTriggers アクション (Python: batch_get_triggers)
指定されたトリガー名のリストのリソースメタデータのリストを返します。ListTriggers オペレーションを呼び出した後で、このオペレーションを呼び出すことで、アクセス許可が付与されているデータにアクセスできます。このオペレーションは、タグを使用するアクセス許可条件を含め、すべての IAM のアクセス許可をサポートします。
リクエスト
-
TriggerNames– 必須: UTF-8 文字列の配列。トリガー名のリスト。これは
ListTriggersオペレーションから返される名前です。
応答
-
Triggers– Trigger トリガー) オブジェクトの配列。トリガー定義のリスト。
-
TriggersNotFound– UTF-8 文字列の配列。トリガーの名前のリストが見つかりません。
エラー
InternalServiceExceptionOperationTimeoutExceptionInvalidInputException