AWS CodeCommit を利用して、Glue Job から CodeCommit からファイルを取得して集計処理をしたいなと思ったのですが、 get_file
というメソッドが存在しないとエラーが起きてしまいました。
GitHub の boto3 リポジトリを見ると get_file
など CodeCommit のメソッド群が追加されているのが 2018年末だったので、関連サービスで使われている boto3 のバージョンを確認しました:
- Glue Job: 1.7.47
- Sagemaker Sparkmagic(PySpark): 1.7.47
- Sagemaker Sparkmagic(PySpark3): (boto3 が入っていない)
- Lambda Python 2.7: 1.7.74
- Lambda Python 3.6: 1.7.74
- Lambda Python 3.7: 1.9.42
この中だと、Lambda Python 3.7 環境がもっとも新しく、CodeCommit の get_file
メソッドが呼べました。Glue はそもそも Python2.7 固定なので逃げ道もないです。
Glue で実行する Python スクリプトはファイルを指定することもできるので、最新の boto3 と一緒に S3 上に配置して読み込ませることもできるかもしれません。ただ Glue Job のエディタで閲覧・編集できたほうが今の所便利なので、Lambda Python 3.7 で CodeCommit にアクセスしてファイル取得後、パラメータで Glue Job に渡そうかと思います。