在 AWS Glue 中获取并设置工作流运行属性 - AWS Glue

在 AWS Glue 中获取并设置工作流运行属性

使用工作流程运行属性在 AWS Glue 工作流程中的作业之间共享和管理状态。您可以在创建工作流程时设置默认运行属性。然后,当您的作业运行时,它们可以检索运行属性值,并可选择修改它们以输入到工作流程中稍后的作业。当任务修改运行属性时,仅工作流运行有新值。默认运行属性不受影响。

如果您的 AWS Glue 作业不属于工作流程的一部分,则不会设置这些属性。

以下 Python 示例代码来自提取、转换和加载(ETL)任务,该代码演示如何获取工作流运行属性。

import sys import boto3 from awsglue.transforms import * from awsglue.utils import getResolvedOptions from awsglue.context import GlueContext from pyspark.context import SparkContext glue_client = boto3.client("glue") args = getResolvedOptions(sys.argv, ['JOB_NAME','WORKFLOW_NAME', 'WORKFLOW_RUN_ID']) workflow_name = args['WORKFLOW_NAME'] workflow_run_id = args['WORKFLOW_RUN_ID'] workflow_params = glue_client.get_workflow_run_properties(Name=workflow_name, RunId=workflow_run_id)["RunProperties"] target_database = workflow_params['target_database'] target_s3_location = workflow_params['target_s3_location']

以下代码通过将 target_format 运行属性设置为 'csv' 来继续。

workflow_params['target_format'] = 'csv' glue_client.put_workflow_run_properties(Name=workflow_name, RunId=workflow_run_id, RunProperties=workflow_params)

有关更多信息,请参阅下列内容: