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

Làm cách nào để lấy chi tiết ghi nhật ký nhóm của nhóm S3 bằng Boto3 và AWS Client?

Tuyên bố sự cố - Sử dụng thư viện boto3 bằng Python để lấy chi tiết ghi nhật ký của một thùng S3. Ví dụ:tìm chi tiết ghi nhật ký của Bucket_1 trong S3.

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 - Sử dụng bucket_name làm tham số trong hàm.

Bước 3 - Tạo phiên AWS bằng thư viện boto3.

Bước 4 - Tạo ứng dụng khách AWS cho S3.

Bước 5 - Bây giờ sử dụng hàm get_bucket_logging và chuyển tên thùng.

Bước 6 - Nó trả về từ điển chứa thông tin chi tiết về S3.

Bước 7 - Xử lý ngoại lệ chung nếu xảy ra sự cố khi xóa tệp

Ví dụ

Sử dụng mã sau để nhận chi tiết ghi nhật ký nhóm -

import boto3
from botocore.exceptions import ClientError

def get_bucket_logging_of_s3(bucket_name):
   session = boto3.session.Session()
   s3_client = session.client('s3')
   try:
      result = s3_client.get_bucket_logging(Bucket=bucket_name,)
   except ClientError as e:
      raise Exception( "boto3 client error in get_bucket_logging_of_s3: " + e.__str__())
   except Exception as e:
      raise Exception( "Unexpected error in get_bucket_logging_of_s3 function: " + e.__str__())
return result

print(get_bucket_logging_of_s3("Bucket_1"))

Đầu ra

{
   'LoggingEnabled': {
      'TargetBucket': 'string',
      'TargetGrants': [
         {
            'Grantee': {
               'DisplayName': 'string',
               'EmailAddress': 'string',
               'ID': 'string',
               'Type': 'CanonicalUser'|'AmazonCustomerByEmail'|'Group',
               'URI': 'string'
            },
            'Permission': 'FULL_CONTROL'|'READ'|'WRITE'
         },
      ],
      'TargetPrefix': 'string'
   }
}