小编sai*_*esh的帖子

将参数从 AWS Lambda 传递到 Glue 作业

在触发 Glue 作业时,我们需要将 4 个参数从 AWS Lambda 传递到 AWS Glue 作业。

response = client.start_job_run(JobName = 'my_test_Job',
         Arguments = {
           '--yr_partition_val':   2017,
           '--mon_partition_val':  05,
           '--date_partition_val':  25,
           '--hour_partition_val': 07 } )
Run Code Online (Sandbox Code Playgroud)

Glue 需要捕获这 4 个参数才能在 pysparkglue 代码中进一步进行。

我尝试在胶水中使用以下内容来捕获参数:

import sys
from awsglue.utils import getResolvedOptions

args = getResolvedOptions(sys.argv,
                      ['JOB_NAME',
                       'yr_partition_val',
                       'mon_partition_val',
                       'date_partition_val',
                       'hour_partition_val'])
Run Code Online (Sandbox Code Playgroud)

但得到的错误为:

self.error(_('argument %s is required') % name)
awsglue.utils.GlueArgumentError: argument --JobName is required
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

aws-lambda aws-glue

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

aws-glue ×1

aws-lambda ×1