Couchbase Analytics Java SDK连接创建&x2B;安全角色

Couchbase Analytics Java SDK连接创建&x2B;安全角色,java,couchbase,couchbase-java-api,couchbase-analytics,Java,Couchbase,Couchbase Java Api,Couchbase Analytics,我正在使用Couchbase Java SDK查询Couchbase分析服务。本教程将介绍此过程: JavaSDK提供了一个Bucket对象作为访问couchbase的手段。但是,bucket是分析数据集的独立实体。例如,我的bucket名为data,我有一个分析数据集,我想查询它,名为requests 我找不到只连接请求数据集的方法。SDK将只连接到数据存储桶。在那里,我可以通过编写一些N1QL来查询请求数据集。这意味着我用来运行分析查询的用户凭据也必须能够访问我的主要产品数据存储桶,这是我宁

我正在使用Couchbase Java SDK查询Couchbase分析服务。本教程将介绍此过程:

JavaSDK提供了一个
Bucket
对象作为访问couchbase的手段。但是,bucket是分析数据集的独立实体。例如,我的bucket名为
data
,我有一个分析数据集,我想查询它,名为
requests

我找不到只连接
请求
数据集的方法。SDK将只连接到
数据
存储桶。在那里,我可以通过编写一些N1QL来查询
请求
数据集。这意味着我用来运行分析查询的用户凭据也必须能够访问我的主要产品
数据
存储桶,这是我宁愿阻止的

有没有一种方法可以使用SDK简单地连接到分析数据集?

我当前创建连接的代码如下所示:

public class CouchbaseConfig {

  @Bean
  public Bucket bucket(CouchbaseProperties properties) {
    return cluster().openBucket("data"); // Changing this to the data-set name returns error
  }

  private Cluster cluster() {
    Cluster cluster = CouchbaseCluster.create("localhost");
    cluster.authenticate("Administrator", "password");
    return cluster;
  }

}
在bucket name中使用
请求
数据集名称会导致此错误:

Failed to instantiate [com.couchbase.client.java.Bucket]: Factory method 'bucket' threw exception; nested exception is com.couchbase.client.java.error.BucketDoesNotExistException: Bucket "requests" does not exist.
Could not load bucket configuration: FAILURE({"message":"Forbidden. User needs one of the following permissions","permissions":["cluster.bucket[data].settings!read"]})
使用
数据
存储桶名称,但身份验证用户名/密码“analytics reader”/“password”(仅使用
analytics reader
)角色会导致此错误:

Failed to instantiate [com.couchbase.client.java.Bucket]: Factory method 'bucket' threw exception; nested exception is com.couchbase.client.java.error.BucketDoesNotExistException: Bucket "requests" does not exist.
Could not load bucket configuration: FAILURE({"message":"Forbidden. User needs one of the following permissions","permissions":["cluster.bucket[data].settings!read"]})

我发现唯一的解决办法是让
分析阅读器
用户“应用程序访问”数据“bucket”,通过SDK3和Couchbase 6.5可以直接连接到分析。在所有以前的版本(包括SDK 2.7)中,查询分析的唯一方法是首先连接到bucket