AWS Lambda Runtime.UserCodeSyntaxError: Syntax error in module 'salesAnalysisReport': invalid syntax

AWS Lambda Runtime.UserCodeSyntaxError: Syntax error in module 'salesAnalysisReport': invalid syntax

我正在参加 AWS 解决方案架构模块 13 挑战实验室。我在我的 AWS Lambda SalesAnalysisReport 函数的 salesAnalysisReport.py 文件中编写了以下代码:

    response = snsClient.publish(
        TopicArn = arn:aws:sns:us-east-1:507782174659:SalesReportTopic,
        Subject = 'Daily Sales Analysis Report',
        Message = message.getvalue()    
    )

我是 运行 默认 hello-world 测试用例并收到以下错误消息:

[ERROR] Runtime.UserCodeSyntaxError: Syntax error in module 'salesAnalysisReport': invalid syntax (salesAnalysisReport.py, line 129)
Traceback (most recent call last):
File "/var/task/salesAnalysisReport.py" Line 129
TopicArn = arn:aws:sns:us-east-1:507782174659:SalesReportTopic,END RequestId: 5bb30f77-0fae-453a-8f56-b89cdbd064a8

我正在按照实验室说明使用 Python 3.8

我想知道错误的原因,以便我解决

P.S。 - 第 129 行(导致错误的行)是

TopicArn = arn:aws:sns:us-east-1:507782174659:SalesReportTopic,

我尝试将 TopicArn 的值放在双引号中,然后将其用于 TopicArn,但这没有用。

需要用单引号括起来,所以是Boto3要求的string

尝试:

response = snsClient.publish(
        TopicArn = 'arn:aws:sns:us-east-1:507782174659:SalesReportTopic',
        Subject = 'Daily Sales Analysis Report',
        Message = message.getvalue()    
)