AWS Lambda
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

步骤 2.1:创建部署程序包

注意

目前,只提供使用 Python 编写的 Lambda 函数的示例代码。

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 对象,以便在内存缓存中设置和获取项目(请参阅 pymemcache)。

    • elasticache-auto-discovery - Lambda 函数使用此库来获取 Amazon ElastiCache 群集中的节点(请参阅 elasticache-auto-discovery)。

  4. 将所有这些文件压缩成名为 app.zip 的文件来创建您的部署程序包。如需分步指导,请参阅 创建部署程序包 (Python)

下一步

步骤 2.2:创建执行角色(IAM 角色)

本页内容: