从AWS胶pythonshell作业中的有效负载检索s3路径

时间:2019-09-21 20:56:39

标签: python amazon-web-services boto3 aws-glue

我在AWS胶内有一个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的任何处理程序吗?

请提出建议。

1 个答案:

答案 0 :(得分:1)

检查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']