크롤러의 실행이 완료될 때 AWS Glue 작업을 자동으로 시작하려면 어떻게 해야 합니까?

2분 분량
0

크롤러 실행이 완료될 때 자동으로 작업을 시작하도록 AWS Glue를 구성하려고 합니다.

해결 방법

AWS Glue 트리거를 사용하여 크롤러 실행이 완료될 때 작업을 시작할 수 있습니다. 하지만 AWS Glue 콘솔은 작업만 지원하며 트리거로 작업할 때 크롤러를 지원하지 않습니다. AWS Command Line Interface(AWS CLI) 또는 AWS Glue API를 사용하여 작업과 크롤러 모두에 대한 트리거를 구성할 수 있습니다.

다음 AWS CLI 명령을 실행하여 크롤러 실행이 완료될 때 작업을 시작할 수 있는 트리거를 생성합니다.

$ aws glue create-trigger --name testTrigger --type CONDITIONAL --predicate 'Logical=AND,Conditions=[{LogicalOperator=EQUALS,CrawlerName=testCrawler,CrawlState=SUCCEEDED}]' --actions JobName=testJob --start-on-creation

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

Python boto3 SDK를 사용하여 트리거를 생성할 수도 있습니다.

import boto3

client = boto3.client("glue")
response = client.create_trigger(
    Name="testTrigger",
    Type="CONDITIONAL",
    Predicate={
        "Logical": "AND",
        "Conditions": [
            {
                "LogicalOperator": "EQUALS",
                "CrawlerName": "testCrawler",
                "CrawlState": "SUCCEEDED",
            },
        ],
    },
    Actions=[
        {"JobName": "testJob"},
    ],
    StartOnCreation=True,
)

위의 방법 중 하나를 사용하여 testCrawler 크롤러가 성공적으로 실행된 후 testJob 작업을 시작할 수 있는 testTrigger 트리거를 생성할 수 있습니다.

참고: 크롤러 testCrawler는 트리거를 통해서만 시작해야 합니다. 크롤러를 수동으로 시작하면 트리거에 의해 작업이 실행되지 않습니다. AWS Glue에서 모든 작업 또는 크롤러는 트리거에 의해 시작된 경우에만 시작됩니다. 종속성 체인의 모든 작업/크롤러가 예약된 트리거나 온디맨드 트리거의 하위 항목인지 확인합니다.

또한 다음 방법 중 하나를 사용할 수 있습니다.


AWS 공식
AWS 공식업데이트됨 3년 전
댓글 없음