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

ใช้ Boto3 รีเซ็ต Bookmark ของ Job ใน AWS Glue

ภาพรวม

สาธิตการรีเซ็ต job bookmark ใน AWS Glue โดยใช้ reset_job_bookmark ทำให้ job ประมวลผลข้อมูลใหม่ทั้งหมด

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

import boto3
from botocore.exceptions import ClientError

def reset_job_bookmark(job_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.reset_job_bookmark(JobName=job_name)
        return response
    except ClientError as e:
        raise Exception(f"boto3 client error: {e}")
    except Exception as e:
        raise Exception(f"Unexpected error: {e}")

# ใช้งาน
print(reset_job_bookmark("test_job"))

ผลลัพธ์ตัวอย่าง

{
    'JobBookmarkEntry': {
        'JobName': 'test-job',
        'Version': 3,
        'Run': 3,
        'Attempt': 0,
        'JobBookmark': ''
    },
    'ResponseMetadata': {
        'RequestId': '03d40d90-...',
        'HTTPStatusCode': 200,
        ...
    }
}

คำอธิบาย

  • Job bookmark ใช้ติดตามข้อมูลที่ประมวลผลแล้ว เพื่อไม่ให้ประมวลผลซ้ำ (incremental processing)
  • รีเซ็ต bookmark = ทำให้ job อ่านข้อมูลตั้งแต่ต้นใหม่
  • ใช้เมื่อ: เปลี่ยน logic job, ข้อมูล source เปลี่ยน, หรือต้องการ reprocess ทั้งหมด
  • ต้องมี permission glue:ResetJobBookmark