Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách dùng Boto3 lấy chi tiết job đã bookmark trong AWS Glue Data Catalog

Ví dụ − Truy xuất chi tiết job đã bookmark 'book-job' trong AWS Glue Data Catalog.

Đề bài − Sử dụng thư viện boto3 trong Python để truy xuất chi tiết job đã bookmark trong AWS Glue Data Catalog.

Cách tiếp cận/Thuật toán giải quyết

Bước 1 − Nhập boto3 và botocore exceptions để xử lý ngoại lệ.

Bước 2 − bookmarked_job_name là tham số bắt buộc. Nó phải có job_name đã được bookmark, nếu không sẽ ném EntityNotFoundException.

Bước 3 − Tạo phiên AWS bằng boto3. Đảm bảo region_name trong profile mặc định. Nếu không, truyền rõ ràng region_name khi tạo phiên.

Bước 4 − Tạo client AWS cho glue.

Bước 5 − Sử dụng hàm get_job_bookmark và truyền bookmarked_job_name làm tham số JobName.

Bước 6 − Nó trả về chi tiết liên quan đến entry bookmark. Lưu ý nếu job_name không được bookmark, nó sẽ ném ngoại lệ EntityNotFound.

Bước 7 − Xử lý ngoại lệ chung nếu có lỗi xảy ra khi kiểm tra job.

Ví dụ

Sử dụng code sau để truy xuất chi tiết job đã bookmark trong AWS Glue Data Catalog:

import boto3
from botocore.exceptions import ClientError

def retrieves_details_of_bookmarked_job(bookmarked_job_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.get_job_bookmark(JobName=bookmarked_job_name)
        return response
    except ClientError as e:
        raise Exception("boto3 client error in retrieves_details_of_bookmarked_job: " + e.__str__())
    except Exception as e:
        raise Exception("Unexpected error in retrieves_details_of_bookmarked_job: " + e.__str__())

print(retrieves_details_of_bookmarked_job("book-job"))

Kết quả

{'JobBookmarkEntry': {'JobName': 'book-job', 'Version': 8, 'Run': 2, 'Attempt': 2, 'PreviousRunId': 'jr_dee547c2f78422e34136aa12c85de010b823787833eee04fbf34bc9b8cb4f7b9', 'RunId': 'jr_a035fe15daa31e9a751f02876c26e5d11a829f2689803a9e9643bd61f70273e4', 'JobBookmark': '{"gdf":{"jsonClass":"HadoopDataSourceJobBookmarkState","timestamps":{"RUN":"1","HIGH_BAND":"900000","CURR_LATEST_PARTITION":"0","CURR_LATEST_PARTITIONS":"","CURR_RUN_START_TIME":"2020-10-30T13:03:43.730Z","INCLUDE_LIST":""}}}'}, 'ResponseMetadata': {'RequestId': 'bacf1497-***************996f05b3c1', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Feb 2021 13:00:19 GMT', 'contenttype': 'application/x-amz-json-1.1', 'content-length': '535', 'connection': 'keep-alive', 'x-amzn-requestid': 'bacf1497-******************996f05b3c1'}, 'RetryAttempts': 0}}