根据错误提示,应该是连接器的启动出现了问题。可能原因是连接器的权限不足或者配置不正确。建议检查以下几点:
确认使用的 AWS Glue 账号是否具有足够的权限去下载连接器。
确认下载的连接器版本是否适配 AWS Glue 运行环境,以及是否和其他连接器或插件冲突。
确认连接器配置是否正确。
下面是一个使用 Python SDK 下载并安装 Glue ETL Marketplace 连接器的示例代码:
import boto3
glue = boto3.client('glue')
response = glue.get_dev_endpoints()
for endpoint in response['DevEndpoints']:
if endpoint['EndpointType'] == 'PythonShell':
python_endpoint_name = endpoint['EndpointName']
break
response = glue.get_workflow_runs(
Name='example-workflow'
)
for run in response['Runs']:
if run['Status'] == 'FAILED':
run_id = run['WorkflowRunId']
break
response = glue.start_job_run(
JobName='example-job',
Arguments={
'--start-date': '2017-05-15',
'--end-date': '2017-05-16'
},
AllocatedCapacity=10,
MaxCapacity=15,
WorkerType='G.1X',
NumberOfWorkers=6,
GlueVersion='1.0',
Timeout=20,
MaxRetries=0
)
response = glue.get_job_run(
JobName='example-job',
RunId='jr_4a931437342cf20a041b02bd410240f8f802c9b7d14bb_qyQHV'
)
response = glue.update_job_run(
JobName='example-job',
RunId='jr_4a931437342cf20a041b02bd410240f8f802c9b7d14bb_qyQHV',
JobRunState='FAILED',
ErrorDetails={
'ErrorCode': '12345',
'ErrorMessage': 'Something went wrong'
},
NotifyEvent={
'EventName': 'Error',
'EventState': 'FAILED',
'EventData': 'javax.jms.MessageFormatException'
}
)