要解决AWS CDK Glue作业 + 触发器已创建但不会运行的问题,您可以采取以下步骤:
import * as cdk from 'aws-cdk-lib';
import * as glue from 'aws-cdk-lib/aws-glue';
const app = new cdk.App();
const stack = new cdk.Stack(app, 'GlueJobStack');
const glueJob = new glue.CfnJob(stack, 'GlueJob', {
command: {
name: 'glueetl',
scriptLocation: 's3://bucket-name/glue-scripts/job_script.py',
},
role: 'arn:aws:iam::123456789012:role/glue-role',
defaultArguments: {
'--job-language': 'python',
'--enable-continuous-cloudwatch-log': 'true',
},
});
const glueTrigger = new glue.CfnTrigger(stack, 'GlueTrigger', {
type: 'SCHEDULED',
actions: [
{
jobName: glueJob.ref,
},
],
schedule: 'cron(0 0 * * ? *)', // Run the job once every day at midnight
});
app.synth();
请确保在scriptLocation
参数中提供正确的Glue作业脚本位置,并在role
参数中提供正确的IAM角色。
确保Glue作业和触发器已成功部署。您可以通过AWS管理控制台或AWS CLI来验证。
检查Glue作业的日志以查看是否有任何错误。您可以通过AWS管理控制台或AWS CLI来访问Glue作业的日志。如果有任何错误,您可以根据错误信息来调试和修复问题。
检查触发器的状态和计划。您可以通过AWS管理控制台或AWS CLI来查看触发器的状态和计划。如果触发器没有按预期运行,您可以尝试更新触发器的计划或手动触发作业来验证是否能正常运行。
检查Glue作业的权限。确保Glue作业和触发器的角色具有足够的权限来执行作业和触发器所需的操作。您可以根据需要更新IAM角色的策略。
请注意,以上步骤是一般性的解决方法,您可能需要根据具体问题进行调试和修复。