AWS SDK for Ruby
開発者ガイド

バケットがあるかどうかを確認

バケットがすでにあるかどうかを判断したい 2 つのケースがあります。条件が失敗する場合は、例外を受け取る代わりに、これらのテストを実行します。

  • 自分がアクセスできるかどうかに関わりなく、すべてのバケットの中に特定のバケットの名前がすでにあるかどうかを判断したいと思います。このテストは、既存の名前のバケットを作成しようとして例外が起きるのを防ぐのに役立ちます。

  • バケットに項目を追加するなどのオペレーションを、アクセスできるバケットにのみ実行したいと思います。

次のテストの例では、my-bucket という名前のバケットがすでにある場合、bucket_existstrue と設定します。Resourceregion: パラメーターは結果に影響しません。

require 'aws-sdk' s3 = Aws::S3::Resource.new(region: 'us-west-2') bucket_exists = s3.bucket('my-bucket').exists?

次の例では、my-bucket という名前のバケットがありバケットにアクセスできる場合、bucket_existstrue と設定します。これも、Clientregion パラメーターは結果に影響しません。

require 'aws-sdk' bucket_exists = false client = Aws::S3::Client.new(region: 'us-west-2') begin resp = client.head_bucket({bucket: bucket_name, use_accelerate_endpoint: false}) bucket_exists = true rescue end