如何使用 Boto3 和 AWS 客户端获取 S3 存储桶的存储桶日志记录详细信息?

问题陈述- 使用 Python 中的 boto3 库获取 S3 存储桶的日志记录详细信息。例如,在 S3 中查找 Bucket_1 的日志记录详细信息。

解决这个问题的方法/算法

步骤 1 - 导入 boto3 和 botocore 异常以处理异常。

步骤 2 - 使用 bucket_name 作为函数中的参数。

步骤 3 - 使用 boto3 库创建 AWS 会话。

第 4 步- 为 S3 创建一个 AWS 客户端。

第 5 步- 现在使用函数 get_bucket_logging 并传递存储桶名称。

步骤 6 - 它返回包含有关 S3 的详细信息的字典。

步骤 7 - 如果在删除文件时出现问题,处理通用异常

示例

使用以下代码获取存储桶日志记录详细信息 -

import boto3

frombotocore.exceptionsimport 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"))

输出结果
{

   'LoggingEnabled': {

      'TargetBucket': 'string',

      'TargetGrants': [

         {

            'Grantee': {

               'DisplayName': 'string',

               'EmailAddress': 'string',

               'ID': 'string',

               'Type': 'CanonicalUser'|'AmazonCustomerByEmail'|'Group',

               'URI': 'string'

            },

            'Permission': 'FULL_CONTROL'|'READ'|'WRITE'

         },

      ],

      'TargetPrefix': 'string'

   }

}

以上是 如何使用 Boto3 和 AWS 客户端获取 S3 存储桶的存储桶日志记录详细信息? 的全部内容, 来源链接: utcz.com/z/327569.html

回到顶部