首页 > 解决方案 > 我的 Lambda AWS KeyError 代码中有这个问题

问题描述

我在带有 python 的 lambda 中有这个“KeyError”,我找不到问题是代码 python 用于在 S3 代码中发出请求,以运行 Device Defender 的合规性 SNS

  "stackTrace": [
    "  File \"/var/lang/lib/python3.7/imp.py\", line 234, in load_module\n    return load_source(name, filename, file)\n",
    "  File \"/var/lang/lib/python3.7/imp.py\", line 171, in load_source\n    module = _load(spec)\n",
    "  File \"<frozen importlib._bootstrap>\", line 696, in _load\n",
    "  File \"<frozen importlib._bootstrap>\", line 677, in _load_unlocked\n",
    "  File \"<frozen importlib._bootstrap_external>\", line 728, in exec_module\n",
    "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n",
    "  File \"/var/task/lambda_function.py\", line 7, in <module>\n    myDeviceJobDocument_DEVICE_CERTIFICATE_EXPIRING_CHECK = os.environ['https://s3.us-east-2.amazonaws.com/'] + \"/certRotateJob.json\"\n",
    "  File \"/var/lang/lib/python3.7/os.py\", line 681, in __getitem__\n    raise KeyError(key) from None\n"
  ]
}

Function Logs
START RequestId: 0270cd0c-1e14-4cc9-8042-7f0ef5347013 Version: $LATEST
[ERROR] KeyError: 'https://s3.us-east-2.amazonaws.com/'
Traceback (most recent call last):
  File "/var/lang/lib/python3.7/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/var/lang/lib/python3.7/imp.py", line 171, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/var/task/lambda_function.py", line 7, in <module>
    myDeviceJobDocument_DEVICE_CERTIFICATE_EXPIRING_CHECK = os.environ['https://s3.us-east-2.amazonaws.com/'] + "/certRotateJob.json"
  File "/var/lang/lib/python3.7/os.py", line 681, in __getitem__
    raise KeyError(key) from None
END RequestId: 0270cd0c-1e14-4cc9-8042-7f0ef5347013
REPORT RequestId: 0270cd0c-1e14-4cc9-8042-7f0ef5347013  Duration: 5199.31 ms    Billed Duration: 5200 ms    Memory Size: 128 MB Max Memory Used: 34 MB  
Unknown application error occurred```

标签: pythonaws-lambdakeyerror

解决方案


您的这段代码:

myDeviceJobDocument_DEVICE_CERTIFICATE_EXPIRING_CHECK = os.environ['https://s3.us-east-2.amazonaws.com/'] + "/certRotateJob.json"

尝试查找名为 的环境变量的值https://s3.us-east-2.amazonaws.com/。这看起来不像是环境变量的有效名称,因此它可能不存在,这确实会导致KeyError.


推荐阅读