2 回答

TA貢獻1876條經(jīng)驗 獲得超7個贊
我創(chuàng)建了所需的圖層并可以驗證它是否有效。
使用的技術(shù)包括最近的AWS 博客中描述的docker 工具:
如何使用 Docker 模擬 Lambda 環(huán)境創(chuàng)建 Lambda 層?
于是針對這個問題,我驗證如下:
創(chuàng)建空文件夾,例如
mylayer
.轉(zhuǎn)到該文件夾并創(chuàng)建
requirements.txt
包含以下內(nèi)容的文件
echo?requests?>?requirements.txt echo?confluent-kafka?>>?requirements.txt
運行以下 Docker 命令:
docker?run?-v?"$PWD":/var/task?"lambci/lambda:build-python3.8"?/bin/sh?-c?"pip?install?-r?requirements.txt?-t?python/lib/python3.8/site-packages/;?exit"
創(chuàng)建圖層為 zip:
zip?-r?mylayer.zip?python?>?/dev/null
mylayer.zip
在AWS控制臺中創(chuàng)建基于的lambda層。不要忘記指定Compatible runtimes
為python3.8
.使用以下 lambda 函數(shù)測試 lambda 中的層:
import confluent_kafka.admin
import requests
def lambda_handler(event, context):
? ? print(dir(confluent_kafka.admin))
? ? print(dir(requests))
? ? print("Hello World")
該函數(shù)正確執(zhí)行:
['AdminClient', 'BrokerMetadata', 'CONFIG_SOURCE_DEFAULT_CONFIG', 'CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG', 'CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG', 'CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG', 'CONFIG_SOURCE_STATIC_BROKER_CONFIG', 'CONFIG_SOURCE_UNKNOWN_CONFIG', 'ClusterMetadata', 'ConfigEntry', 'ConfigResource', 'ConfigSource', 'Enum', 'KafkaException', 'NewPartitions', 'NewTopic', 'PartitionMetadata', 'RESOURCE_ANY', 'RESOURCE_BROKER', 'RESOURCE_GROUP', 'RESOURCE_TOPIC', 'RESOURCE_UNKNOWN', 'TopicMetadata', '_AdminClientImpl', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'concurrent', 'functools']
['ConnectTimeout', 'ConnectionError', 'DependencyWarning', 'FileModeWarning', 'HTTPError', 'NullHandler', 'PreparedRequest', 'ReadTimeout', 'Request', 'RequestException', 'RequestsDependencyWarning', 'Response', 'Session', 'Timeout', 'TooManyRedirects', 'URLRequired', '__author__', '__author_email__', '__build__', '__builtins__', '__cached__', '__cake__', '__copyright__', '__description__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__title__', '__url__', '__version__', '_check_cryptography', '_internal_utils', 'adapters', 'api', 'auth', 'certs', 'chardet', 'check_compatibility', 'codes', 'compat', 'cookies', 'delete', 'exceptions', 'get', 'head', 'hooks', 'logging', 'models', 'options', 'packages', 'patch', 'post', 'put', 'request', 'session', 'sessions', 'ssl', 'status_codes', 'structures', 'urllib3', 'utils', 'warnings']
Hello World

TA貢獻1785條經(jīng)驗 獲得超8個贊
即使在正確設(shè)置圖層后我也遇到了這個問題。我能夠通過將我的層和函數(shù)設(shè)置為使用架構(gòu) x86_64 來解決這個問題
添加回答
舉報