从 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']
我在 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']