亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 confluence-kafka python 庫與 AWS lambda 一起使用時出錯

將 confluence-kafka python 庫與 AWS lambda 一起使用時出錯

MM們 2023-07-18 10:40:39
我嘗試使用confluence-kafka?python 庫通過 lambda 函數管理我的集群,但該函數失敗并出現錯誤:"Unable to import module 'Test': No module named 'confluent_kafka.cimpl'"我的要求.txtrequestsconfluent-kafka為了創建 zip 文件,我將代碼移動到虛擬環境的 site-packages 位置并壓縮所有內容。Python代碼:import confluent_kafka.adminimport requestsdef lambda_handler(event, context):? ? print("Hello World")我使用的是 macOS 10.X。在 Linux 上,我注意到 pip install 創建了一個單獨的 confluence_kafka.libs,它不會在 mac 上創建
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

我創建了所需的圖層并可以驗證它是否有效

使用的技術包括最近的AWS 博客中描述的docker 工具

  • 如何使用 Docker 模擬 Lambda 環境創建 Lambda 層?

于是針對這個問題,我驗證如下:

  1. 創建空文件夾,例如mylayer.

  2. 轉到該文件夾并創建requirements.txt包含以下內容的文件

echo?requests?>?requirements.txt
echo?confluent-kafka?>>?requirements.txt
  1. 運行以下 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"
  1. 創建圖層為 zip:

zip?-r?mylayer.zip?python?>?/dev/null
  1. mylayer.zip在AWS控制臺中創建基于的lambda層。不要忘記指定Compatible runtimespython3.8.

  2. 使用以下 lambda 函數測試 lambda 中的層:

import confluent_kafka.admin

import requests


def lambda_handler(event, context):

? ? print(dir(confluent_kafka.admin))

? ? print(dir(requests))

? ? print("Hello World")


該函數正確執行:


['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


查看完整回答
反對 回復 2023-07-18
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

即使在正確設置圖層后我也遇到了這個問題。我能夠通過將我的層和函數設置為使用架構 x86_64 來解決這個問題



查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號