対話形式でのコマンド実行ができないためLambda関数を作成します。
「関数の作成」をクリックします。
設計図の選択では「一から作成」を選択します。
手動で実行するためトリガーは設定しません。
今回はPython3.6で実装します。
ロールの設定はファイルの確認を行うだけのため「基本的なエッジLambdaのアクセス権限」で十分です。
※コードは後ほど編集します。
次へ進み内容を確認語「関数の作成」を選択します。
これでLambda functionが作成できました。
バージョンの確認
コードの編集を行います。
環境変数の一覧(念の為)と対象ディレクトリ内を取得するコードを作成しました。
1import os23def lambda_handler(event, context):4 #環境変数一覧を取得5 print("===[environment-variables]===")6 for env in os.environ:7 print(env)8 9 #ランタイムの格納されているディレクトリを確認10 rtdir=os.environ.get("LAMBDA_RUNTIME_DIR")11 print("\n===[runtime directory:"+rtdir+"]===")12 13 #ディレクトリ内を表示14 files = os.listdir(rtdir)15 for file in files:16 print(file)17 18 return 0出力ログ
1START RequestId: 259734ba-a4bd-11e7-be2c-85717f378c80 Version: $LATEST2===[environment-variables]===3TZ4LD_LIBRARY_PATH5LAMBDA_TASK_ROOT6LAMBDA_RUNTIME_DIR7︙89===[runtime directory:/var/runtime]===10liblambdaio.so11s3transfer12botocore-1.7.2.dist-info13docutils-0.14.dist-info14boto3-1.4.7.dist-info15liblambdaruntime.so16boto317six.py18liblambdalog.so19python_dateutil-2.6.1.dist-info20s3transfer-0.1.11.dist-info21botocore22six-1.10.0.dist-info23jmespath-0.9.3.dist-info24liblambdaipc.so25awslambda26__pycache__27docutils28dateutil29jmespath30END RequestId: 259734ba-a4bd-11e7-be2c-85717f378c803132REPORT RequestId: 259734ba-a4bd-11e7-be2c-85717f378c80 Duration: 12.50 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 27 MBログ出力の結果からboto3のバージョンが1.4.7であることが分かりました。
boto3-1.4.7.dist-info
metadata.jsonの中も確認すると”version”: “1.4.7”であることが分かります。
[/var/runtime/boto3-1.4.7.dist-info/metadata.json]
1{2 "license": "Apache License 2.0", 3 "name": "boto3", 4 "metadata_version": "2.0", 5 "generator": "bdist_wheel (0.24.0)", 6 "summary": "The AWS SDK for Python", 7 "run_requires": [8 {9 "requires": [10 "botocore>=1.7.0,<1.8.0", 11 "jmespath>=0.7.1,<1.0.0", 12 "s3transfer>=0.1.10,<0.2.0"13 ]14 }15 ], 16 "version": "1.4.7", 17 "extensions": {18 "python.details": 19 "project_urls": {20 "Home": "https://github.com/boto/boto3"21 }, 22 "document_names": {23 "description": "DESCRIPTION.rst"24 }, 25 "contacts": [26 {27 "role": "author", 28 "name": "Amazon Web Services"29 }30 ]31 }32 }, 33 "classifiers": [34 "Development Status :: 5 - Production/Stable", 35 "Intended Audience :: Developers", 36 "Natural Language :: English", 37 "License :: OSI Approved :: Apache Software License", 38 "Programming Language :: Python", 39 "Programming Language :: Python :: 2.6", 40 "Programming Language :: Python :: 2.7", 41 "Programming Language :: Python :: 3", 42 "Programming Language :: Python :: 3.3", 43 "Programming Language :: Python :: 3.4", 44 "Programming Language :: Python :: 3.5", 45 "Programming Language :: Python :: 3.6"46 ], 47 "extras": []48}Lambdaの公式ドキュメントではboto3のバージョンは1.4.4と記載されていますが実際には1.4.7が用意されていました。(2017/09/29現在)
新サービスや新機能が実装されLambdaより使用したい場合一度AWS SDKのバージョンを確かめておくと良いかもしれません。
今回は以上になります!
お疲れさまでした!
またお会いしましょう!