【AWS】AWS Glue ~ Boto3 / 入門編 ~

■ はじめに

https://dk521123.hatenablog.com/entry/2019/10/10/223018

の続き。

GlueのBoto3とついでにAWS CLIについて、考える。
今回は、Glue デプロイ時に使用する主な boto3 API についてまとめておく。

 また、2019/10/15現時点では、ジョブ、トリガーは、
タグをGUI上から入力できるが、
ワークフローでは、GUI上から入力できなく、
Boto3・AWS CLIで対応するしかなさそうなので
勉強しといて損はないと思う。

目次

【0】ドキュメント
【1】Workflows
【2】Jobs
【3】Trigger
【4】Crawler
■ [補足] AWS CLI について

【0】ドキュメント

以下のAPIを参照しながら、実装していく

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html
Python での AWS Glue API の呼び出し
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming-python-calling.html

正直、使ってるといまいち部分がちらほらある。。。

【1】Workflows

API 説明 備考
create_workflow() ワークフローの作成 GUI上ではTagを打ち込めないが、API上では指定できる(指定したTagの確認方法がわからず)
update_workflow() ワークフローの更新
delete_workflow() ワークフローの削除
get_workflow() ワークフローの取得 存在しないワークフローを指定した場合、例外「EntityNotFoundException」
get_workflow_run() 実行中のワークフローの取得 IncludeGraph=Trueによりワークフロー内のコンポーネント情報も取得可能
batch_get_workflows() get_workflow()の複数版 存在しないワークフローを指定した場合、MissingWorkflows に設定される
list_workflows() 作成されているワークフロー一覧の取得 ただ、制限があるみたい(デフォルトは最大1000件)。続きはNextTokenでみるっぽい。
start_workflow_run() ワークフローの実行

【2】Jobs

API 説明 備考
create_job() ジョブの作成
update_job() ジョブの更新
delete_job() ジョブの削除
get_job() ジョブの取得 存在しないジョブを指定した場合、例外「EntityNotFoundException」
batch_get_jobs() get_job()の複数版 存在しないジョブを指定した場合、JobsNotFound に設定される
list_jobs() 作成されているジョブ一覧の取得 ただ、制限があるみたい(デフォルトは最大1000件)。続きはNextTokenでみるっぽい。

【3】Trigger

API 説明 備考
create_trigger() トリガーの作成
update_trigger() トリガーの更新
delete_trigger() トリガーの削除
get_trigger() トリガーの取得 存在しないトリガーを指定した場合、例外「EntityNotFoundException」
get_triggers() ジョブに関連しているトリガーを取得する
batch_get_triggers() get_trigger()の複数版 存在しないトリガーを指定した場合、TriggersNotFound に設定される
list_triggers() 作成されているトリガー一覧の取得 ただ、制限があるみたい(デフォルトは最大1000件)。続きはNextTokenでみるっぽい。

【4】Crawler

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-api-crawler-crawling.html
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html

API 説明 備考
create_crawler() クローラの作成
delete_crawler() クローラの削除

■ [補足] AWS CLI について

boto3 と同等のAPI群は、AWS CLIでも用意されている

AWS Glue ~ AWS CLI
https://dk521123.hatenablog.com/entry/2021/08/02/104306

関連記事

AWS Glue ~ Boto3 / 基本編 ~
https://dk521123.hatenablog.com/entry/2021/04/17/001930
AWS Glue ~ Boto3 / クローラ編 ~
https://dk521123.hatenablog.com/entry/2021/04/16/135558
AWS Glue ~ Boto3 / セキュリティ設定編 ~
https://dk521123.hatenablog.com/entry/2020/04/08/171208
AWS Glue ~ Boto3 / パーティション操作編 ~
https://dk521123.hatenablog.com/entry/2021/06/09/113458
AWS Glue ~ Boto3 / DB・テーブル操作編 ~
https://dk521123.hatenablog.com/entry/2021/06/11/164015
AWS Glue ~ AWS CLI
https://dk521123.hatenablog.com/entry/2021/08/02/104306
AWS Glue ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/10/01/221926
AWS Glue ~ Workflows / 入門編 ~
https://dk521123.hatenablog.com/entry/2019/10/10/223018
AWS Glue ~ 基本編 / ジョブ ~
https://dk521123.hatenablog.com/entry/2019/11/17/231505
AWS Glue ~ Glue Version 2.0 ~
https://dk521123.hatenablog.com/entry/2020/08/19/130118
AWS Glue ~ 基本編 /トリガ ~
https://dk521123.hatenablog.com/entry/2019/11/29/221207
AWS Glue ~ 基本編 / クローラ ~
https://dk521123.hatenablog.com/entry/2019/12/01/003455
AWS Glue ~ Workflows / パラメータ渡し ~
https://dk521123.hatenablog.com/entry/2019/10/15/221931
Amazon S3Python boto3でS3を操作する ~
https://dk521123.hatenablog.com/entry/2019/10/21/230004
boto3 AWS Glue API のトラブル ~ trigger全般 編 ~
https://dk521123.hatenablog.com/entry/2020/10/23/110821
boto3 AWS Glue API のトラブル ~ scheduled trigger編 ~
https://dk521123.hatenablog.com/entry/2020/01/16/205331
boto3 AWS Glue API のトラブル ~ job/crawler編 ~
https://dk521123.hatenablog.com/entry/2020/02/05/223307
AWS Glue のトラブル ~ job編 - [1] ~
https://dk521123.hatenablog.com/entry/2019/10/25/232155
AWS Glue のトラブル ~ job編 - [2] ~
https://dk521123.hatenablog.com/entry/2020/10/12/152659
AWS Glue のトラブル ~ job編 - [3] ~
https://dk521123.hatenablog.com/entry/2021/02/16/145848
AWS Glue のトラブル ~ crawler編 ~
https://dk521123.hatenablog.com/entry/2020/05/07/144132
Pulumi ~ AWS Glue のデプロイ ~
https://dk521123.hatenablog.com/entry/2022/03/02/122037