【问题标题】:AWS Lambda Console - Upgrade boto3 versionAWS Lambda 控制台 - 升级 boto3 版本
【发布时间】:2019-05-13 04:48:39
【问题描述】:

我正在创建一个 DeepLens 项目来识别人,当相机扫描选定的一组人时。

该项目使用 lambda,它处理图像并触发“rekognition”aws api。

  • 当我从本地计算机触发 API 时 - 我得到了很好的响应

  • 当我从 AWS 控制台触发 API 时 - 响应失败

问题

经过大量挖掘,我发现'boto3'(AWS python库)的版本是:

  • 1.9.62 - 在我的本地机器上

  • 1.8.9 - 在 AWS 控制台上

问题

我可以在 AWS lambda 控制台上升级“boto3”库版本吗?如果有,怎么做?

【问题讨论】:

    标签: amazon-web-services aws-lambda boto3 amazon-rekognition


    【解决方案1】:

    您可以使用Python function with dependencieswith a Virtual Environment 实现相同的效果。

    这些是其他可用选项,如果他们可以帮助您升级,您还可以尝试联系亚马逊团队。

    【讨论】:

    • 谢谢,但新部署失败,没有任何错误。这意味着与提供的运行时相比,自定义运行时调试更棘手。
    • 请注意,如果您使用无服务器框架和serverless-python-requirements 插件,则默认情况下不会部署boto3botocore,即使它们符合您的要求。需要在配置中设置noDeploy参数,不要把boto3botocore放在里面
    【解决方案2】:

    如果您不想将更新的 boto3 版本与您的函数打包在一起,您可以在每次调用 Lambda 时下载 boto3。请记住 /tmp/ 是 Lambda 允许您下载到的目录,因此您可以使用它来临时下载 boto3:

    import sys
    from pip._internal import main
    
    main(['install', '-I', '-q', 'boto3', '--target', '/tmp/', '--no-cache-dir', '--disable-pip-version-check'])
    sys.path.insert(0,'/tmp/')
    
    import boto3
    from botocore.exceptions import ClientError
    
    def handler(event, context):
        print(boto3.__version__)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-19
      • 1970-01-01
      • 2019-09-27
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多