Amazon web services AWS Lambda错误没有名为';StringIO';或者没有名为'的模块;StringIO';

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版

我尝试使用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版本的问题可能是以下语句失败:

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中设置环境变量时,:)