これまで、テストアプリケーションではデフォルトバケットを利用してきました。それは、認証されていないためです。Couchbaseのデフォルトバケットは利用開始時点では便利ですが、より複雑なアプリケーションを構築していくに従い、データを複数の異なるバケットに分割し、レプリケーション数を増やして耐障害性を上げたり、あるバケットを他のバケットに影響を与えずに全てクリアしたくなる場合があります。また複数アプリケーション間で名前付けの重複を避けるためにキー空間を分けることもできます。
図1は private という名の新しいバケットを作成する際のCouchbase Webコンソールダイアログです。ここではSASL認証においてバケットを保護するパスワードを設定することもできます。どのようにこのバケットにアクセスすればよいでしょう?既にCouchbaseに対してSASL認証での接続方法はご存知ですね、バケット名をユーザ名として利用し、バケット作成時に指定したパスワードを利用すれば、データストレージとして private バケットに接続することができます。次のコードはこれを実装しています:
// "private" をユーザ名、"private" をパスワードとして利用しましたが、 // 実際はよりスマートで推測が難しい // ものを利用するでしょう。 CouchbaseConnectionFactory cf = new CouchbaseConnectionFactory(baseURIs, "private", "private"); client = new CouchbaseClient((CouchbaseConnectionFactory) cf);