【问题标题】:I have this problem in my code for Lambda AWS KeyError我的 Lambda AWS KeyError 代码中有这个问题
【发布时间】:2021-07-16 15:31:40
【问题描述】:

我在带有 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```

【问题讨论】:

  • 最好包含相关的源代码(以及异常信息),而不是简单地将堆栈跟踪转储到您的帖子中并要求人们诊断丢失代码中的问题。
  • @jarmod 如果你不知道,就不要回答这不是代码而是一个输出,有时人们不想暴露他们的代码,通常是没有必要的,
  • 在一般情况下,Stack Overflow 希望您提供带有代码的最小可重现示例。这就是为什么我建议最好包含“相关”代码。不需要发布所有代码,显然这对您不利(披露原因),对 Stack Overflow 也不利(帖子太长且太复杂)。此外,保持高标准的问题和答案符合所有当前和未来的 Stack Overflow 用户的利益,包括您自己。
  • @jarmod 因为堆栈溢出,我不在,如果不知道或不明白,我已经提出了一个问题,通过您可以回答的问题。

标签: python aws-lambda keyerror


【解决方案1】:

你的这段代码:

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

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

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    相关资源
    最近更新 更多