You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用boto3为同一Glue工作流添加多触发器时触发IdempotentParameterMismatchException错误

问题描述

目标:创建AWS Glue工作流,添加作业和触发器并运行。

已完成操作:

  1. 使用以下代码创建工作流:
import boto3
def create_workflow(wf_name):
    response = client.create_workflow(
        Name=wf_name,
        Description='string'
    )
    return response['Name']
wf_name=create_workflow('wf_dev_jan_5th')
  1. 使用以下代码为工作流wf_dev_jan_5th创建关联作业abc_dev的触发器new_trigger,未报错:
response_trigger=client.create_trigger(
    Name="new_trigger",
    WorkflowName="wf_dev_jan_5th",
    Type='ON_DEMAND',
    Actions=[
        {
            'JobName': 'abc_dev",  # 注意:此处存在引号不匹配的语法错误
            'Arguments': {
                'string': 'string'
            },
            'Timeout': 123,
            'SecurityConfiguration': 'string',
            'NotificationProperty': {
                'NotifyDelayAfter': 123
            }
            
        },
    ]
)

遇到的问题:创建名为new_trigger_1的触发器关联作业def_dev到同一工作流时,报错:

error:IdempotentParameterMismatchException: An error occurred (IdempotentParameterMismatchException) when calling the CreateTrigger operation: Trigger with name 'new_trigger' already submitted with different configuration
错误分析

这个报错的核心原因是你尝试提交的触发器请求中,重复使用了已存在的触发器名称new_trigger,但配置和之前的不一致。出现这个情况通常有两种可能:

  1. 创建第二个触发器的代码中,不小心将Name参数仍设为new_trigger,而非new_trigger_1
  2. 之前创建new_trigger的请求存在未完成的异步操作,重复提交了不同配置的同名请求
解决方案
  1. 检查并修正触发器名称
    确认创建new_trigger_1的代码中,Name参数确实是"new_trigger_1",而非"new_trigger"。示例修正后的代码:

    response_trigger_1=client.create_trigger(
        Name="new_trigger_1",
        WorkflowName="wf_dev_jan_5th",
        Type='ON_DEMAND',
        Actions=[
            {
                'JobName': 'def_dev',
                'Arguments': {
                    'string': 'string'
                },
                'Timeout': 123,
                'SecurityConfiguration': 'string',
                'NotificationProperty': {
                    'NotifyDelayAfter': 123
                }
            },
        ]
    )
    
  2. 修正第一个触发器代码的语法错误
    注意你第一个触发器的代码中'JobName': 'abc_dev",存在引号不匹配问题,应该改为'JobName': 'abc_dev',,避免后续出现未知错误。

  3. 检查现有触发器状态
    登录AWS Glue控制台,查看触发器列表:

    • 确认new_trigger已正常创建
    • 确认new_trigger_1未被创建过(如果已存在,需删除后重新创建,或使用update_trigger接口修改)
  4. 处理幂等性问题
    如果确认名称无误但仍报错,可能是之前的请求有残留。可以先调用get_trigger接口查询new_trigger的状态,确认其配置是否与预期一致,再重新提交new_trigger_1的创建请求。

内容的提问来源于stack exchange,提问作者Naveen Srikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:50:29