Serverless App Engine (SAE) を使用してジョブテンプレートをすばやく作成し、スケジュールに基づいてタスクを自動実行するか、HTTP または HTTPS リクエストでトリガーできます。SAE は、ジョブの完了後すぐにコンピューティングリソースを解放します。
ユースケース
ジョブは、レイテンシの影響を受けにくい非同期のオフラインシナリオに最適です。1 回限りのジョブとして実行することも、定期的なスケジュールで実行することもできます。一般的な例として、バッチデータレポートの生成や、指定時刻でのプロモーションクーポン送信などがあります。
事前準備
SAE と EventBridge が有効化され、必要な権限が付与されていることを確認してください。
定期ジョブの実行
SAE Job Templates ページに移動します。上部で対象のリージョンと名前空間を選択し、[Create Job Template] をクリックします。 次のパラメーターを設定します:
カスタムの Job Template Name を入力します。
デプロイ方法で Select Image Deployment を選択します。このチュートリアルでは、デフォルトのデモイメージを使用できます。実運用では、Specify Image をクリックして、ジョブに使用する別のイメージを指定できます。
その他のパラメーターはデフォルト設定のままにし、[Next] をクリックします。
Job Settings セクションで、次のパラメーターを設定します:
Job Type で Periodic Job を選択します。
Cron Expression を
*/1 * * * ?に設定します。この Cron 式では、ジョブが 1 分ごとに 1 回実行されます。その他のパラメーターはデフォルト設定のままにし、Create をクリックします。ジョブテンプレートが作成されるまで待機します。
左側のメニューで Job Records をクリックし、自動実行されたジョブの記録を確認します。ページ右上の更新アイコンをクリックして、最新の結果を表示します。
左側のメニューで をクリックし、直近のジョブ実行結果を確認します。この例では、プログラムは一連の数値をコンソールに出力します。
HTTP/HTTPS による 1 回限りのジョブのトリガー
SAE Job Templates ページに移動します。上部で対象のリージョンと名前空間を選択し、[Create Job Template] をクリックします。 次のパラメーターを設定します:
カスタムの Job Template Name を入力します。
デプロイ方法で Select Image Deployment を選択します。このチュートリアルでは、デフォルトのデモイメージを使用できます。実運用では、Specify Image をクリックして、ジョブに使用する別のイメージを指定できます。
その他のパラメーターはデフォルト設定のままにし、[Next] をクリックします。
Job Settings セクションで、次のパラメーターを設定します:
Job Type で One-time Job を選択します。
[Request Type] で [HTTP&HTTPS] を選択します。これにより、HTTP と HTTPS の両方のリクエストでジョブをトリガーできます。
[Request Method] で [GET] と [POST] を選択します。これにより、GET と POST の両方のリクエストでジョブをトリガーできます。
その他のパラメーターはデフォルト設定のままにし、Create をクリックします。ジョブテンプレートが作成されるまで待機します。
Job Template Details ページで Job Settings セクションを見つけます。パブリックリクエスト URL をコピーし、ブラウザーのアドレスバーに貼り付けて Enter キーを押し、ジョブをトリガーします。
左側のメニューで Job Records をクリックし、今回のジョブ実行の記録を確認します。ページ右上の更新アイコンをクリックして、最新の結果を表示します。
左側のメニューで をクリックし、直近のジョブ実行結果を確認します。この例では、プログラムは一連の数値をコンソールに出力します。
リソースのクリーンアップ
このチュートリアルを完了したら、不要になったリソースを削除してください。削除しない場合、課金され続けます。
SAE Job Templates ページに移動します。上部で対象のリージョンと名前空間を選択し、作成したジョブテンプレートを見つけます。[Actions] 列で [Delete] をクリックし、画面の指示に従ってください。
次のステップ
実運用では、アプリケーションイメージ、コードパッケージ、または Shell スクリプトからジョブテンプレートを作成できます。詳細については、「Manage job templates」をご参照ください。