メニュー
AWS Lambda
開発者ガイド

ステップ 2.1: デプロイパッケージを作成する

注記

現時点では、Lambda 関数のコード例は Python のみで示されています。

Python

次の例の Python コードでは、ElastiCache クラスターに対して項目の読み取り/書き込みを行います。

  1. テキストエディターを開き、次のコードをコピーします。

    注記

    from __future__ ステートメントを使用すると、Python 2 または 3 と互換性のあるコードを作成できます。ランタイムバージョン 3.6 を使用している場合は、これを含める必要はありません。

    Copy
    from __future__ import print_function import time import uuid import sys import socket import elasticache_auto_discovery from pymemcache.client.hash import HashClient #elasticache settings elasticache_config_endpoint = "your-elasticache-cluster-endpoint:port" nodes = elasticache_auto_discovery.discover(elasticache_config_endpoint) nodes = map(lambda x: (x[1], int(x[2])), nodes) memcache_client = HashClient(nodes) def handler(event, context): """ This function puts into memcache and get from it. Memcache is hosted using elasticache """ #Create a random UUID... this will the sample element we add to the cache. uuid_inserted = uuid.uuid4().hex #Put the UUID to the cache. memcache_client.set('uuid', uuid_inserted) #Get item (UUID) from the cache. uuid_obtained = memcache_client.get('uuid') if uuid_obtained == uuid_inserted: # this print should go to the CloudWatch Logs and Lambda console. print ("Success: Fetched value %s from memcache" %(uuid_inserted)) else: raise Exception("Value is not the same as we put :(. Expected %s got %s" %(uuid_inserted, uuid_obtained)) return "Fetched value from memcache: " + uuid_obtained
  2. このファイルを app.py という名前で保存します。

  3. pip を使用して、次に示すライブラリ依存関係をインストールします。

    • pymemcache – Lambda 関数コードはこのライブラリを使用して HashClient オブジェクトを作成し、memcache に対して項目の設定および取得を行います (「pymemcache」を参照してください)。

    • elasticache-auto-discovery – Lambda 関数はこのライブラリを使用して、Amazon ElastiCache クラスター内のノードを取得します (「elasticache-auto-discovery」を参照してください)。

  4. これらのファイルをすべて app.zip という名前のファイルに ZIP 圧縮し、デプロイパッケージを作成します。手順については、「デプロイパッケージの作成 (Python)」を参照してください。

次のステップ

ステップ 2.2: 実行ロール (IAM ロール) を作成する

このページの内容: