代码之家  ›  专栏  ›  技术社区  ›  user18520267

AWS Lambda运行时。UserCodeSyntaxError:模块“salesAnalysisReport”中的语法错误:无效语法

  •  0
  • user18520267  · 技术社区  · 2 年前

    我正在从事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 按照实验室指示。

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

    附言——第129行(引起错误的行)为

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

    我试着把 TopicArn 用双引号,然后用它来表示 托皮卡恩 但那没用。

    1 回复  |  直到 2 年前
        1
  •  1
  •   Ermiya Eskandary    2 年前

    你需要用单引号把它括起来,所以它是一个 string 按照Boto3的要求。

    尝试:

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