Computer >> Máy Tính >  >> Lập trình >> Python

Cách sử dụng Boto3 để đặt lại dấu trang của công việc trong tài khoản AWS

Trong bài viết này, chúng ta sẽ xem cách người dùng có thể đặt lại dấu trang của công việc hiện tại trong tài khoản AWS ann.

Ví dụ

Đặt lại dấu trang của công việc có sẵn trong Danh mục dữ liệu keo AWS.

Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để đặt lại dấu trang của công việc.

Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này

  • Bước 1: Nhập boto3 botocore các ngoại lệ để xử lý các ngoại lệ.

  • Bước 2: job_name là tham số trong hàm này.

  • Bước 3: Tạo phiên AWS bằng boto3 lib . Đảm bảo rằng tên_vùng được đề cập trong hồ sơ mặc định. Nếu nó không được đề cập, thì hãy chuyển region_name một cách rõ ràng trong khi tạo phiên.

  • Bước 4: Tạo ứng dụng AWS cho keo .

  • Bước 5: Bây giờ, hãy sử dụng reset_job_bookmark và chuyển tham số job_name như JobName.

  • Bước 6: Nó trả về một từ điển có thông tin chi tiết về mục nhập chỉ mục Công việc.

  • Bước 7: Xử lý ngoại lệ chung nếu có sự cố trong khi đặt lại dấu trang.

Mã mẫu

Đoạn mã sau đặt lại dấu trang của một công việc -

import boto3
from botocore.exceptions import ClientError

def reset_bookmark_of_a_job(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("boto3 client error in reset_bookmark_of_a_job: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in reset_bookmark_of_a_job: " + e.__str__())
print(reset_bookmark_of_a_job("test_job"))

Đầu ra

{'JobBookmarkEntry':
{'JobName': 'test-job', 'Version': 3, 'Run': 3, 'Attempt': 0, 'JobBookmark': ''},
'ResponseMetadata': {'RequestId': '03d40d90-******************f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Mar 2021 10:14:58 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '104', 'connection': 'keep-alive', 'x-amzn-requestid': '03d40d90-***************************f'}, 'RetryAttempts': 0}}