Python 将Lambda变量传递给粘合脚本AWS
我有一个lambda函数,如下所示:Python 将Lambda变量传递给粘合脚本AWS,python,aws-lambda,boto3,aws-glue,Python,Aws Lambda,Boto3,Aws Glue,我有一个lambda函数,如下所示: client = boto3.client('glue') glueJobName = "Python Glue Script" inputtedData = "A1B2C3D4E5" school = "testing" def lambda_handler(event, context): response = client.start_job_run(JobName = glueJ
client = boto3.client('glue')
glueJobName = "Python Glue Script"
inputtedData = "A1B2C3D4E5"
school = "testing"
def lambda_handler(event, context):
response = client.start_job_run(JobName = glueJobName, Arguments = {'==inputtedData': inputtedData, '--school': school})
return response
def syncAttendance(inputtedData, school):
schoolName = school
Data = inputtedData
print(schoolName, Data)
syncData(inputtedData, school)
这将开始运行包含脚本的粘合作业。但是,我希望将参数'InputedData'和'school'传递给此脚本,以便在脚本启动时,这些变量将输入到我的syncData函数中,如下所示:
client = boto3.client('glue')
glueJobName = "Python Glue Script"
inputtedData = "A1B2C3D4E5"
school = "testing"
def lambda_handler(event, context):
response = client.start_job_run(JobName = glueJobName, Arguments = {'==inputtedData': inputtedData, '--school': school})
return response
def syncAttendance(inputtedData, school):
schoolName = school
Data = inputtedData
print(schoolName, Data)
syncData(inputtedData, school)
如何在glue脚本中接收这些变量?您需要使用
getResolvedOptions
函数,如下所示:
import sys
from awsglue.utils import getResolvedOptions
options = ['inputtedData', 'school']
args = getResolvedOptions(sys.argv, options)
syncData(args['inputtedData'], args['school'])
请注意您的
'==InputedData'
中的输入错误谢谢,我是否将其放在python粘合作业脚本的顶部?无论您将args=getResolvedOptions(sys.argv,options)放在何处都无关紧要。在调用syncData