如何使用 Airflow s3 hook 获取存储桶策略

How to get bucket policy using Airflow s3 hook

我想使用 Airflow S3 Hook 以编程方式找出特定 S3 存储桶的存储桶策略是什么。 boto3 有 get_bucket_policy method, but S3 hook 好像没有。 有没有办法使用 S3 挂钩来做到这一点? 谢谢!

您获得了一个 boto3.S3.Bucket 调用 S3Hook.get_bucket 实例方法的实例。

此实例有一个 Policy 方法,可用于访问与存储桶关联的策略资源。

from airflow.providers.amazon.aws.hooks.s3 import S3Hook

s3_hook = S3Hook(aws_conn_id='aws_conn_id')
bucket = s3_hook.get_bucket('your-bucket-name')
policy_resource = bucket.Policy()

policy_json = policy_resource.policy