Amazon web services AWS Lambda错误没有名为';StringIO';或者没有名为'的模块;StringIO';
我尝试使用AWS Lambda发送大量电子邮件,我们使用以下代码作为链接: 但是当我选择Python2.7时,它有问题Amazon web services AWS Lambda错误没有名为';StringIO';或者没有名为'的模块;StringIO';,amazon-web-services,aws-lambda,amazon-ses,Amazon Web Services,Aws Lambda,Amazon Ses,我尝试使用AWS Lambda发送大量电子邮件,我们使用以下代码作为链接: 但是当我选择Python2.7时,它有问题 module initialization error 'us-east-1' 当我选择Python3.6时,错误是 Unable to import module 'lambda_function': No module named 'StringIO' 任何人都可以告诉我这是什么问题吗?来自PythonV3的。相反,请导入io模块并使用io.StringIO v27版
module initialization error 'us-east-1'
当我选择Python3.6时,错误是
Unable to import module 'lambda_function': No module named 'StringIO'
任何人都可以告诉我这是什么问题吗?来自PythonV3的。相反,请导入io模块并使用io.StringIO
v27版本的问题可能是以下语句失败:
region = os.environ['us-east-1']
如果us-east-1
不是可用的环境变量,这将导致KeyError。改为使用AWS\u区域
或AWS\u默认区域
。请参阅Python v3中的完整列表。相反,请导入io模块并使用io.StringIO
v27版本的问题可能是以下语句失败:
region = os.environ['us-east-1']
如果
us-east-1
不是可用的环境变量,这将导致KeyError。改为使用AWS\u区域
或AWS\u默认区域
。请参阅完整的环境变量列表。请按照中的说明设置环境变量:
“配置适用于您的使用场景的Lambda环境变量。例如,以下变量对给定用例有效:
REGION=us-east-1,最大线程数=10,TEXT\u MESSAGE\u FILE=email\u body.txt,HTML\u MESSAGE\u FILE=email\u body.HTML。“
所做的(根据问题中提供的代码)是将环境变量的名称替换为它们的值,这意味着python正在寻找不存在的环境变量,例如,'us-east-1'
这是原始代码
# Get Lambda environment variables
region = os.environ['REGION']
max_threads = os.environ['MAX_THREADS']
text_message_file = os.environ['TEXT_MESSAGE_FILE']
html_message_file = os.environ['HTML_MESSAGE_FILE']
您还可以硬编码这些值,如下所示:
# Get Lambda environment variables
region = 'us-east-1'
max_threads = '10'
text_message_file = 'email_body.txt'
html_message_file = 'email_body.html'
但我建议改为设置环境变量(并使用由提供的脚本版本)。在Lambda中设置环境变量时,:)请按照中的说明设置环境变量: “配置适用于您的使用场景的Lambda环境变量。例如,以下变量对给定用例有效: REGION=us-east-1,最大线程数=10,TEXT\u MESSAGE\u FILE=email\u body.txt,HTML\u MESSAGE\u FILE=email\u body.HTML。“ 所做的(根据问题中提供的代码)是将环境变量的名称替换为它们的值,这意味着python正在寻找不存在的环境变量,例如,
'us-east-1'
这是原始代码
# Get Lambda environment variables
region = os.environ['REGION']
max_threads = os.environ['MAX_THREADS']
text_message_file = os.environ['TEXT_MESSAGE_FILE']
html_message_file = os.environ['HTML_MESSAGE_FILE']
您还可以硬编码这些值,如下所示:
# Get Lambda environment variables
region = 'us-east-1'
max_threads = '10'
text_message_file = 'email_body.txt'
html_message_file = 'email_body.html'
但我建议改为设置环境变量(并使用由提供的脚本版本)。在Lambda中设置环境变量时,:)