如何从触发 Glue 工作流的 AWS EventBridge 访问事件数据?

问题描述 投票:0回答:1

我有一个由 EventBridge 事件触发的 AWS Glue 工作流,并且我正在尝试访问 Glue 作业内的事件数据。我已从 EventBridge 发送了

Matched event
Part of matched event
Input Transformer
,EventBridge 被触发,但我没有在 Glue 作业中从 EventBridge 获取事件对象。

尝试了以下方法:

  1. 使用

    $
    作为作业参数中的占位符,用于从 EventBridge 到 Glue 作业的事件数据。

  2. 在 EventBridge 中使用输入转换器将事件对象字段映射并传递到 Glue 作业。

import json
import sys
from awsglue.utils import getResolvedOptions

args = getResolvedOptions(sys.argv, ['event_data'])
event_data = json.loads(args['event_data'])
print(event_data)
amazon-web-services aws-glue aws-event-bridge amazon-appflow aws-glue3.0
1个回答
0
投票

您可以尝试添加以下内容吗:


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)
batched_events = workflow_params['aws:eventIds']

print(batched_events)

并检查 print 语句返回的内容。

此代码基于以下内容:

© www.soinside.com 2019 - 2024. All rights reserved.