【问题标题】:Passing Lambda Variable to Glue Script AWS将 Lambda 变量传递给 Glue 脚本 AWS
【发布时间】:2021-03-10 05:56:46
【问题描述】:

我有一个如下所示的 lambda 函数:

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

这将开始运行我的胶水作业,其中包含一个脚本。但是,我想将参数 'inputtedData' 和 'school' 传递给这个脚本,这样当脚本启动时,这些变量将像这样输入到我的 syncData 函数中:

def syncAttendance(inputtedData, school):

   schoolName = school
   Data = inputtedData
   print(schoolName, Data)


syncData(inputtedData, school)

如何在胶水脚本中接收这些变量?

【问题讨论】:

  • 注意'==inputtedData'中的错字

标签: python aws-lambda boto3 aws-glue


【解决方案1】:

你需要使用getResolvedOptions函数如下:

import sys
from awsglue.utils import getResolvedOptions

options = ['inputtedData', 'school']
args = getResolvedOptions(sys.argv, options)

syncData(args['inputtedData'], args['school'])

【讨论】:

  • 谢谢,我要把这个放在 python 胶水作业脚本的顶部吗?
  • args = getResolvedOptions(sys.argv, options)放在哪里都没有关系。它只需要在您调用 syncData 之前执行
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-09
  • 2019-07-16
  • 2021-08-10
  • 2021-08-14
  • 2012-11-15
相关资源
最近更新 更多