なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

AWS Glue上でboto3を使ってみる

現象

AWS Glue上でboto3を呼ぼうとしたのですが、あるはずのメソッドを呼ぶとエラーで落ちた。

対策

ここを読みました

Lambda pythonから S3 にアクセスできない?

試しに、Lambda Functionパッケージ内から boto3とbotocoreを
削除する。

削除した状態で Lmabda FunctionをDeployし、S3にファイルをアップロード。すると、SNS経由でLambdaに通知されたS3のKeyからデータを取得することに成功。

boto3をzipに含めたことが原因だったようです。。

分析

どうやらGlue上でboto3のライブラリを保持しているので、ライブラリをアップする必要はないようです。
boto3のバージョンは試してみると以下の通り:

スクリプト

import boto3

print(boto3.__version__)

出力

1.7.28
  • pip上でのboto3の最新版は1.7.28だったので、一応最新バージョンのようです。

pypi.org


ライブラリの管理が若干気持ち悪いかも?、Glue上のPythonは2.7.12のようです。