![](/img/trans.png)
[英]How to check if a s3 bucket has an existing bucket policy using boto3?
[英]How to check only specific s3 bucket exists using boto3
我正在嘗試在我的aws
帳戶中列出一個特定的存儲桶。 但是我使用了list_buckets()
方法來返回所有的桶。 目的是檢查這個bucket是否存在
我可以使用head_bucket()
方法,但它不返回任何回報(根據boto3
文檔)
我正在使用mistral工作流來獲取這個存儲桶(仍然調用boto3
方法)而不是python
但不知何故,是否有boto3
方法來檢查s3
存儲桶是否存在?
我需要獲得回報並相應地進行比較以檢查存儲桶是否存在。 因此,如果滿足該條件,則只會觸發mistral
stackstorm 工作流程中的下一個任務。
如果您需要,我也會提供工作流程。
check_if_exists:
action: aws_boto3.boto3action
input:
action_name: "list_buckets"
region: <% $.bucket_region %>
service: "s3"
publish:
return_code: <% task(check_if_exists).result.result.Buckets.select($.Name) %>
on-success:
- task_one
on-error:
- fail
您應該能夠使用head_bucket()
方法。 如果存儲桶存在並且您具有訪問它的必要權限,這將返回 200 OK。 如果存儲桶不存在或您沒有權限,您將收到 403 或 404。
Boto3 文檔: https ://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.head_bucket
您可以使用get_bucket_*()
操作之一,例如get_bucket_location()
。
但是,只有當您有權在存儲桶上運行此操作並且該存儲桶與您的 IAM 憑證屬於同一賬戶時,這才會正常運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.