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

Làm thế nào để sử dụng Boto3 để nhận thông tin chi tiết của nhiều trình kích hoạt cùng một lúc?

Tuyên bố sự cố - Sử dụng thư viện boto3 bằng Python để lấy các trình kích hoạt có sẵn trong tài khoản của bạn. Ví dụ:lấy thông tin chi tiết về trình kích hoạt được phép trong tài khoản của bạn.

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 các ngoại lệ boto3 và botocore để xử lý các ngoại lệ.

Bước 2 - Không cần tham số cho chức năng này. Nó sẽ tìm nạp tất cả các trình kích hoạt được liệt kê cho tài khoản người dùng và sau đó hiển thị siêu dữ liệu của từng trình kích hoạt.

Bước 3 - Tạo phiên AWS bằng thư viện boto3. Đảm bảo rằng tên miền được đề cập trong cấu hình mặc định. Nếu nó không được đề cập, thì hãy chuyển rõ ràng region_name trong khi tạo phiên.

Bước 4 - Tạo ứng dụng AWS cho keo dán.

Bước 5 - Bây giờ sử dụng hàm list_triggers để nhận tất cả các công việc được liệt kê trong tài khoản người dùng.

Bước 6 - Gọi batch_get_triggers và chuyển các tên công việc được tìm nạp trong chức năng trước đó.

Bước 7 - Nó trả về list_of_triggers và siêu dữ liệu của từng trình kích hoạt.

Bước 8 - Xử lý ngoại lệ chung nếu có sự cố xảy ra trong khi kiểm tra công việc.

Ví dụ

Sử dụng mã sau để tìm nạp chi tiết của từng trình kích hoạt được liệt kê trong tài khoản người dùng -

 nhập boto3from botocore.exceptions nhập ClientErrordef get_resource_maetadata_of_triggers ():session =boto3.session.Session () keo_client =session.client ('keo') try:list_of_triggers =keo_client.list_triggers () response =Keo_client.batch list_of_triggers ['TriggerNames']) trả về list_of_triggers, phản hồi ngoại trừ ClientError as e:raise Exception ("lỗi ứng dụng boto3 trong get_resource_maetadata_of_triggers:" + e .__ str __ ()) ngoại trừ Exception as e:raise Exception ("Lỗi không mong muốn trong get_resource_maetadata:" e .__ str __ ()) a, b =get_resource_metadat_of_triggers () # Danh sách các Triggerprint (a) # Siêu dữ liệu nguồn của mỗi Triggerprint (b) 

Đầu ra

 #List của Triggers { 'TriggersNames':[ '01_PythonShellTest1'], 'nextToken':'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB9LCJsYXN0RXZhbHVzFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ ==', 'ResponseMetadata':{ 'RequestId':'5d3eb19a-41f5-b24e-2d59ed9664b5', 'HTTPStatusCode' :200, 'HTTPHeaders':{'date':'Tue, 23 Feb 202113:01:39 GMT', 'content-type':'application / x-amz-json-1.1', 'contentlength':'1134' , 'connection':'keep-survival', 'x-amzn-suggest':'5d3eb19a-41f5-b24e-2d59ed9664b5'}, 'RetryAttempts':0}} # Siêu dữ liệu tài nguyên của từng Trigger {'Trigger':[{ 'Tên':'01_PythonShellTest1', 'Tên công việc':'arn:aws:iam ::1234:role / dev-edl,' Id ':' string ',' Type ':' string ',' State ':' CREATING '|' CREATED '| "KÍCH HOẠT" | "KÍCH HOẠT" | "DEACTIVATING" | "DEACTIVATED" | "DELETING" | "UPDATING", "Description":"string", "Schedule":' string '}]}