Couchbase

To connect to data, set the Server property to the hostname or IP address of the Couchbase server(s) you are authenticating to. If your Couchbase server is configured to use SSL, you can enable it either by using an https URL for Server (like 'https://couchbase.server'), or by setting the UseSSL property to True.

1 Couchbase Analytics

By default, the provider connects to the N1QL Query service. In order to connect to the Couchbase Analytics service, you will also need to set the CouchbaseService property to Analytics.

1.1 Couchbase Cloud

A few special settings are required to connect to Couchbase Cloud:

  • Set the AuthScheme to Basic

  • Set the Server option to the domain listed in the Couchbase Cloud console.

  • Enable the UseSSL option.

  • Set the ConnectionMode to Cloud

  • Set the DNSServer option to a DNS server. In most cases this should be a public DNS service like 1.1.1.1 or 8.8.8.8.

  • Set the SSLServerCert option to * to trust the Couchbase server certificate. You can also provide the certificate using that option or your trust store if you want the provider to validate it.

2 Authenticating with Couchbase

The provider supports several forms of authentication depending upon how your Couchbase Server is configured. Couchbase Cloud only accepts Standard Authentication, while Couchbase Server accepts all forms.

2.1 Authenticating with Standard Authentication

To authenticate with standard authentication, set the following:

  • AuthScheme: Use the Basic option.

  • User: The user authenticating to Couchbase.

  • Password: The password of the user authenticating to Couchbase.

2.2 Authenticating with Client Certificates

The provider supports authenticating with client certificates when SSL is enabled. To use client certificate authentication, set the following properties.

  • AuthScheme: Required. Use the SSLCertificate option.

  • SSLClientCertType: Required. The type of client certificate set within SSLClientCert.

  • SSLClientCert: Required. The client certificate in the format given by SSLClientCertType. Usually the path to your private key file.

  • SSLClientCertPassword: Optional. The password of the client certificate if it is encrypted.

  • SSLClientCertSubject: Optional. The subject of the client certificate, by default the first certificate found in the store. This is required if more than one certificate is available in the certificate store.

2.3 Authenticating with a Credentials File

You can also authenticate using using a credentials file containing multiple logins. This is included for legacy use and is not recommended when connecting to a Couchbase Server that supports role-based authentication.

  • AuthScheme: Use the CredentialsFile option.

  • CredentialsFile; The path to the credentials file. Refer to Couchbase's documentation for more information on the format of this file.

The following are the connection properties for Couchbase. Not all properties are required. Enter only property values pertaining to your installation. Several properties will be automatically initialized with the appRules defaults.

Property

Description

Authentication

AnalyticsPort

The port for connecting to the Couchbase Analytics Endpoint.

CouchbaseService

Determines the Couchbase service to connect to. Default is N1QL. Available options are N1QL and Analytics.

CredentialsFile

Use this property if you need to provide credentials for multiple users or buckets. This file takes priority over other forms of authentication.

N1QLPort

The port for connecting to the Couchbase N1QL Endpoint.

Password

The password used to authenticate to Couchbase.

Server

The address of the Couchbase server or servers to which you are connecting.

User

The user who is authenticating to Couchbase.

UseSSL

Whether to negotiate TLS/SSL when connecting to the Couchbase server.

WebConsolePort

The port for connecting to the Couchbase Web Console.

Data

SupportEnhancedSQL

If the property is set to true, allow the provider to perform queries client-side when Couchbase does not support them.

Firewall

FirewallPassword

A password used to authenticate to a proxy-based firewall.

FirewallPort

The TCP port for a proxy-based firewall.

FirewallServer

The name or IP address of a proxy-based firewall.

FirewallType

The protocol used by a proxy-based firewall.

FirewallUser

The user name to use to authenticate with a proxy-based firewall.

Logging

Logfile

A path to the log file.

MaxLogFileCount

A string specifying the maximum file count of log files. When the limit is hit, a new log is created in the same folder with the date and time appended to the end and the oldest log file will be deleted.

MaxLogFileSize

A string specifying the maximum size in bytes for a log file (for example, 10 MB). When the limit is hit, a new log is created in the same folder with the date and time appended to the end.

Verbosity

The verbosity level that determines the amount of detail included in the log file.

Misc

AllowJSONParameters

Allows raw JSON to be used in parameters when QueryPassthrough is enabled.

ChildSeparator

The character or characters used to denote child tables.

ConnectionLifeTime

The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed.

ConnectionString

***

CreateTableRamQuota

The default RAM quota, in megabytes, to use when inserting buckets via the CREATE TABLE syntax.

Dataverse

Which Analytics dataverse to scan when discovering tables.

DataverseSeparator

The character or characters used to denote Analytics dataverses.

FlattenArrays

By default, nested arrays are returned as strings of JSON. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays.

FlattenObjects

Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON.

FlavorSeparator

The character or characters used to denote flavors.

GenerateSchemaFiles

Indicates the user preference as to when schemas should be generated and saved.

InferNumSampleValues

The maximum number of values for every field to scan before determining its data type. Applies to Automatic Schema Discovery when TypeDetectionScheme is set to INFER.

InferSampleSize

The maximum number of documents to scan for the columns available in the bucket. Applies to Automatic Schema Discovery when TypeDetectionScheme is set to INFER.

InferSimilarityMetric

Specifies the similarity degree where different schemas will be considered to be the same flavor. Applies to Automatic Schema Discovery when TypeDetectionScheme is set to INFER.

MaxRows

Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.

Other

These hidden properties are used only in specific use cases.

PageSize

The number of results to return per page of data retrieved from the Couchbase server.

PeriodsSeparator

The character or characters used to denote hierarchy.

PoolIdleTimeout

The allowed idle time for a connection before it is closed.

PoolMaxSize

The maximum connections in the pool.

PoolMinSize

The minimum number of connections in the pool.

PoolWaitTime

The max seconds to wait for an available connection.

PseudoColumns

This property indicates whether or not to include pseudo columns as columns to the table.

QueryExecutionTimeout

This sets the server-side timeout for the query, which governs how long Couchbase will execute the query before returning a timeout error.

QueryPassthrough

This option passes the query to the Couchbase server as is.

Readonly

You can use this property to enforce read-only access to Couchbase from the provider.

RowScanDepth

The maximum number of documents to scan for the columns available in the bucket.

SSLServerCert

The certificate to be accepted from the server when connecting using TLS/SSL.

StrictComparison

Adjusts how precisely to translate filters on SQL input queries into Couchbase queries. This can be set to a comma-separated list of values, where each value can be one of: date, number, boolean, or string.

Timeout

The value in seconds until the timeout error is thrown, canceling the operation.

TypeDetectionScheme

Determines how the provider builds tables and columns from the buckets found in Couchbase.

UseConnectionPooling

This property enables connection pooling.

ValidateJSONParameters

Allows the provider to validate that string parameters are valid JSON before sending the query to Couchbase.

Proxy

ProxyAuthScheme

The authentication type to use to authenticate to the ProxyServer proxy.

ProxyAutoDetect

This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.

ProxyExceptions

A semicolon separated list of hosts or IPs that are exempt from connecting through the ProxyServer .

ProxyPassword

A password to be used to authenticate to the ProxyServer proxy.

ProxyPort

The TCP port the ProxyServer proxy is running on.

ProxyServer

The hostname or IP address of a proxy to route HTTP traffic through.

ProxySSLType

The SSL type to use when connecting to the ProxyServer proxy.

ProxyUser

A user name to be used to authenticate to the ProxyServer proxy.

Schema

TableSupport

How much effort the provider will put into discovering tables on the Couchbase server.

Last updated