通過 Terraform,我創建了一個 lambda 函式來呼叫膠水作業。我正在terraform apply使用 jenkins 運行作業,并且在創建后測驗 lambda 函式時出現語法錯誤。
如果我terraform apply從本地終端運行,它運行良好。
Lambda 測驗也執行了,但是通過 jenkinsterraform 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
當我完成詹金斯的作業時,我遇到了以下錯誤:
{
"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"
]
}
我handler = "invoke-glue-job.lambda_handler"在 terraform 配置中使用過。我不確定這里的錯誤是什么。有什么建議么?
uj5u.com熱心網友回復:
你忘了:。所以應該是:
def lambda_handler(event, context):
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/533115.html
