从 AWS glue pythonshell 作业中的有效载荷检索 s3 路径

retrieving s3 path from payload inside AWS glue pythonshell job

我在 AWS glue 中有一个 pythonshell 作业需要从 s3 路径下载文件。此 s3 路径位置是一个变量,因此将在 start_run_job 调用中作为有效负载进入胶水作业,如下所示:

import boto3    
payload = {'s3_target_file':s3_TARGET_FILE_PATH,
            's3_test_file': s3_TEST_FILE_PATH}
    job_def = dict(
                JobName=MY_GLUE_PYTHONSHELL_JOB,
                Arguments=payload,
                WorkerType='Standard',
                NumberOfWorkers=2,
            )

response = glue.start_job_run(**job_def)

我的问题是,如何从通过 boto3 的 AWS Glue pythonshell 作业中的有效负载中检索那些 s3 路径?是否需要编写类似于 AWS Lambda 的任何类型的处理程序?

请推荐。

勾选docimentation。你需要的都在这里。

您可以按如下方式使用getResolvedOptions

import sys
from awsglue.utils import getResolvedOptions

args = getResolvedOptions(sys.argv,
                          ['JOB_NAME',
                           'day_partition_key',
                           'hour_partition_key',
                           'day_partition_value',
                           'hour_partition_value'])
print "The day partition key is: ", args['day_partition_key']
print "and the day partition value is: ", args['day_partition_value']