通过Terraform我创建了一个lambda函数来调用glue job。我正在使用jenkins运行terraform apply
job,当我在创建后测试lambda函数时,我得到了语法错误。
如果我从本地终端运行terraform apply
,它运行得很好。
Lambda测试也已执行,但通过jenkins terraform apply
我得到语法错误。invoke-glue-job.py
:
from __future__ import print_function
import boto3
import urllib
print ('Loading function')
glue = boto3.client('glue')
def lambda_handler(event, context)
gluejobname = "job1"
try:
runId = glue.start_job_run(JobName=gluejobname)
status = glue.get_job_run(JobName=gluejobname, RunId=runid['JobRunId'])
print("Job Status : ", status['JobRun']['JobRunState'], "runId",runId)
except Exception as e:
raise e
当我运行jenkins作业时,出现以下错误:
{
"errorMessage": "Syntax error in module 'invoke-glue-job': invalid syntax (invoke-glue-job.py, line 9)",
"errorType": "Runtime.UserCodeSyntaxError",
"requestId": "46a194e6-410b-45ed-927e-3e752f5836cb",
"stackTrace": [
" File \"/var/task/invoke-glue-job.py\" Line 9\n def lambda_handler(event, context)\n"
]
}
我在terraform配置中使用了handler = "invoke-glue-job.lambda_handler"
。我不确定这里的错误是什么。有什么建议吗?
1条答案
按热度按时间zdwk9cvp1#
您忘记了
:
。因此它应该是: