Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ใช้ Boto3 หยุด Crawler ใน AWS Glue Data Catalog

ภาพรวม

สาธิตการหยุด crawler ที่กำลังทำงานอยู่ใน AWS Glue โดยใช้ stop_crawler ของ boto3

ตัวอย่างโค้ด

import boto3
from botocore.exceptions import ClientError

def stop_crawler(crawler_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.stop_crawler(Name=crawler_name)
        return response
    except ClientError as e:
        # จัดการกรณี crawler ไม่ได้รันอยู่
        if e.response['Error']['Code'] == 'CrawlerNotRunningException':
            return f"Crawler '{crawler_name}' ไม่ได้รันอยู่"
        raise Exception(f"boto3 client error: {e}")
    except Exception as e:
        raise Exception(f"Unexpected error: {e}")

# ใช้งาน
print(stop_crawler("Data Dimension"))

ผลลัพธ์

{
    'ResponseMetadata': {
        'RequestId': '73e50130-...',
        'HTTPStatusCode': 200,
        ...
    }
}

ข้อสังเกต

  • ถ้า crawler ไม่ได้รัน จะโยน CrawlerNotRunningException
  • ต้องมี permission glue:StopCrawler
  • การหยุดเป็น asynchronous อาจใช้เวลาสักครู่