ハンズオン(簡易版): EventBridge入門

事前作業2.4. Python関数コードファイルの作成 (handson-cli-events-gettings-ebs-function)

目的

Lambda関数"handson-cli-events-gettings-ebs-function"のソースコードファイルを作成します。

パラメータの指定

作業に必要なパラメータを変数に格納をします。

1. Python関数名

Python関数名を指定します。

変数の設定:

PYTHON_FUNCTION_NAME='lambda_handler'

2. Lambda関数コードファイル用ディレクトリ

Lambda関数コードファイル用ディレクトリを指定します。

変数の設定:

DIR_LAMBDA_CODE="${HOME}/environment/conf-handson-cli-events-gettings"

ディレクトリが存在することを確認します。

コマンド:

ls -d ${HOME}/environment/conf-handson-cli-events-gettings

結果(例:存在する場合):

${HOME}/environment/conf-handson-cli-events-gettings

存在しない場合は作成します。

コマンド:

mkdir -p ${HOME}/environment/conf-handson-cli-events-gettings

3. Lambda関数コードファイル名

Lambda関数コードファイル名を指定します。

変数の設定:

LAMBDA_CODE_NAME='handson-cli-events-gettings-ebs-function.py'

変数の設定:

FILE_CODE_FUNCTION="${DIR_LAMBDA_CODE}/${LAMBDA_CODE_NAME}" \
  && echo ${FILE_CODE_FUNCTION}

結果(例):

${HOME}/environment/conf-handson-cli-events-gettings/handson-cli-events-gettings-ebs-function.py

各変数に正しいパラメータ値が格納されていることを確認します。

変数の確認:

cat << END

  # 1. PYTHON_FUNCTION_NAME:"lambda_handler"
       PYTHON_FUNCTION_NAME="${PYTHON_FUNCTION_NAME}"
  # 2. FILE_CODE_FUNCTION:"${HOME}/environment/conf-handson-cli-events-gettings/handson-cli-events-gettings-ebs-function.py"
       FILE_CODE_FUNCTION="${FILE_CODE_FUNCTION}"

END

手順

関数コードファイルの作成します。

変数の確認:

cat << END

  # FILE_CODE_FUNCTION:"${HOME}/environment/conf-handson-cli-events-gettings/handson-cli-events-gettings-ebs-function.py"
    FILE_CODE_FUNCTION="${FILE_CODE_FUNCTION}"
  # PYTHON_FUNCTION_NAME:"lambda_handler"
    PYTHON_FUNCTION_NAME="${PYTHON_FUNCTION_NAME}"

END

コマンド:

cat << EOF > ${FILE_CODE_FUNCTION}
import json
import os

def ${PYTHON_FUNCTION_NAME}(event, context):
    print('## ENVIRONMENT VARIABLES')
    print(os.environ)
    print('## EVENT')
    print(event)
EOF

cat ${FILE_CODE_FUNCTION}

結果(例):

import json
import os

def lambda_handler(event, context):
    print('## ENVIRONMENT VARIABLES')
    print(os.environ)
    print('## EVENT')
    print(event)

完了確認

「Lambda関数コードファイル"${HOME}/environment/conf-handson-cli-events-gettings/handson-cli-events-gettings-ebs-function.py"が存在する。」ことを確認します。

コマンド:

ls ${FILE_CODE_FUNCTION}

結果(例):

${HOME}/environment/conf-handson-cli-events-gettings/handson-cli-events-gettings-ebs-function.py