ภาพรวม
สาธิตการรีเซ็ต 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