AWS Glue作业使用idempotent参数来确保不会重复运行。如果在多个运行之间更改了idempotent参数,可能会出现IdempotentParameterMismatchException异常。
解决此问题的方法是在增量更新AWS Glue作业的idempotent参数时始终使用相同的参数值。以下是一个示例,该示例'my_bucket”替换为要使用的S3桶名称,'my_database”替换为要使用的Glue数据库名称,'my_table”替换为要使用的Glue表名称。
import boto3
glue = boto3.client('glue')
idempotent_token = "myidempotentvalue"
response = glue.start_job_run(
JobName='my_glue_job',
Arguments={
'--idempotent': idempotent_token,
'--s3-bucket': 'my_bucket',
'--glue-database': 'my_database',
'--glue-table': 'my_table'
},
)