Couchbase C++ SDK 1.2.0 (rev. c2439a4)
Loading...
Searching...
No Matches
cbc-keygen - Generate Keys with Various Properties

NAME

cbc keygen - generate document keys

SYNOPSIS

cbc keygen [options]
cbc keygen [options] --vbucket=<vbucket_id>...
cbc keygen [options] --parent-key=<key>...
cbc keygen (-h|--help)

DESCRIPTION

Generates batches of keys.

This tool generates sets of keys that map to a vBucket ID. You can specify the vBucket ID directly using --vbucket or indirectly by providing a parent key with --parent-key. The output can be formatted as JSON.

By default, the tool connects to the cluster to detect the number of vbuckets. You can also set the number of vbuckets with the --number-of-vbuckets switch.

OPTIONS

-h,--helpPrint this help message and exit --number-of-keys=INTEGERHow many keys to generate. [default: 1] --fixed-length=INTEGERThe length of the key to generate. [default: 6] --randomizeGenerate different keys every time. --prefix=STGRINGPrefix for the keys. --vbucket=INTEGER ...Pin generated keys to the given vBucket. --parent-key=STRING ...Pin generated keys to the same vBucket as the given key. --all-vbucketsGenerate key(s) for each available vBucket. --vbuckets-for-nodes=STRINGGenerate key(s) for each available vBucket on the given type for each of the nodes (allowed values are: active, replica_1, replica_2, replica_3).[ --number-of-vbuckets=INTEGEROverride number of vBuckets. Otherwise try to connect to cluster and infer number of vBuckets from the bucket configuration. --bucket-name=BUCKET_NAMEName of the bucket (only used when --number-of-vbuckets switch is not specified). [default: default] --jsonOutput generation result as JSON. --verbosePrint group name (vBucket or parent key) and indent keys. --no-duplicatesDo not allow duplicates (due you to length restrictions).

LOGGER OPTIONS

--log-level=LEVEL
Log level (allowed values are: trace, debug, info, warning, error, critical, off). [default: off]
--log-output=PATH
File to send logs (when is not set, logs will be written to STDERR).
--log-protocol=PATH
File to send protocol logs.

CONNECTION OPTIONS

--connection-string=STRING
Connection string for the cluster. [default: couchbase://localhost]
--username=STRING
Username for the cluster. [default: Administrator]
--password=STRING
Password for the cluster. [default: password]
--certificate-path=STRING
Path to the certificate.
--key-path=STRING
Path to the key.
--ldap-compatible
Whether to select authentication mechanism that is compatible with LDAP.
--configuration-profile=STRING
Apply configuration profile (might override other switches). (available profiles: wan_development)

SECURITY OPTIONS

--disable-tls
Whether to disable TLS.
--trust-certificate-path=STRING
Path to the trust certificate bundle.
--tls-verify-mode=MODE
Path to the certificate (allowed values: peer, none). [default: peer]

TIMEOUT OPTIONS

--bootstrap-timeout=DURATION
Timeout for overall bootstrap of the SDK. [default: 10000ms]
--connect-timeout=DURATION
Timeout for socket connection. [default: 10000ms]
--resolve-timeout=DURATION
Timeout to resolve DNS address for the sockets. [default: 2000ms]
--key-value-timeout=DURATION
Timeout for Key/Value operations. [default: 2500ms]
--key-value-durable-timeout=DURATION
Timeout for Key/Value durable operations. [default: 10000ms]
--query-timeout=DURATION
Timeout for Query service. [default: 75000ms]
--search-timeout=DURATION
Timeout for Search service. [default: 75000ms]
--eventing-timeout=DURATION
Timeout for Eventing service. [default: 75000ms]
--analytics-timeout=DURATION
Timeout for Analytics service. [default: 75000ms]
--view-timeout=DURATION
Timeout for View service. [default: 75000ms]
--management-timeout=DURATION
Timeout for management operations. [default: 75000ms]

COMPRESSION OPTIONS

--disable-compression
Whether to disable compression.
--compression-minimum-size=INTEGER
The minimum size of the document (in bytes), that will be compressed. [default: 32]
--compression-minimum-ratio=FLOAT
The minimum compression ratio to allow compressed form to be used. [default: 0.83]

DNS-SRV OPTIONS

--dns-srv-timeout=DURATION
Timeout for DNS SRV requests. [default: 500ms]
--dns-srv-nameserver=STRING
Hostname of the DNS server where the DNS SRV requests will be sent.
--dns-srv-port=INTEGER
Port of the DNS server where the DNS SRV requests will be sent.

NETWORK OPTIONS

--tcp-keep-alive-interval=DURATION
Interval for TCP keep alive. [default: 60000ms]
--config-poll-interval=DURATION
How often the library should poll for new configuration. [default: 2500ms]
--idle-http-connection-timeout=DURATION
Period to wait before calling HTTP connection idle. [default: 4500ms]

TRANSACTIONS OPTIONS

--transactions-durability-level=LEVEL
Durability level of the transaction (allowed values: none, majority, majority_and_persist_to_active, persist_to_majority). [default: majority]
--transactions-timeout=DURATION
Timeout of the transaction. [default: 15000ms]
--transactions-metadata-bucket=STRING
Bucket name where transaction metadata is stored.
--transactions-metadata-scope=STRING
Scope name where transaction metadata is stored. [default: _default]
--transactions-metadata-collection=STRING
Collection name where transaction metadata is stored. [default: _default]
--transactions-query-scan-consistency=MODE
Scan consistency for queries in transactions (allowed values: not_bounded, request_plus). [default: request_plus]
--transactions-cleanup-ignore-lost-attempts
Do not cleanup lost attempts.
--transactions-cleanup-ignore-client-attempts
Do not cleanup client attempts.
--transactions-cleanup-window=DURATION
Cleanup window. [default: 60000ms]

METRICS OPTIONS

--disable-metrics
Disable collecting and reporting metrics.
--metrics-emit-interval=DURATION
Interval to emit metrics report on INFO log level. [default: 600000ms]

TRACING OPTIONS

--disable-tracing
Disable collecting and reporting trace information.
--tracing-orphaned-emit-interval=DURATION
Interval to emit report about orphan operations. [default: 10000ms]
--tracing-orphaned-sample-size=INTEGER
Size of the sample of the orphan report. [default: 64]
--tracing-threshold-emit-interval=DURATION
Interval to emit report about operations exceeding threshold. [default: 10000ms]
--tracing-threshold-sample-size=INTEGER
Size of the sample of the threshold report. [default: 64]
--tracing-threshold-key-value=DURATION
Threshold for Key/Value service. [default: 500ms]
--tracing-threshold-query=DURATION
Threshold for Query service. [default: 1000ms]
--tracing-threshold-search=DURATION
Threshold for Search service. [default: 1000ms]
--tracing-threshold-analytics=DURATION
Threshold for Analytics service. [default: 1000ms]
--tracing-threshold-management=DURATION
Threshold for Management operations. [default: 1000ms]
--tracing-threshold-eventing=DURATION
Threshold for Eventing service. [default: 1000ms]
--tracing-threshold-view=DURATION
Threshold for View service. [default: 1000ms]

BEHAVIOR OPTIONS

--user-agent-extra=STRING
Append extra string SDK identifiers. [default: cbc].
--network=STRING
Network (a.k.a. Alternate Addresses) to use. [default: auto]
--show-queries
Log queries on INFO level.
--enable-clustermap-notifications
Allow server to send notifications when cluster configuration changes.
--disable-mutation-tokens
Do not request Key/Value service to send mutation tokens.
--disable-unordered-execution
Disable unordered execution for Key/Value service.

ENVIRONMENT

CBC_LOG_LEVEL
Overrides default value for --log-level.
CBC_CONNECTION_STRING
Overrides default value for --connection-string.
CBC_USERNAME
Overrides default value for --username.
CBC_PASSWORD
Overrides default value for --password.

EXAMPLES

  1. Generate three keys for each vBucket, and print result as JSON to standard output:
    cbc keygen --json --number-of-keys=3 --all-vbuckets
    
  2. Generate 5 keys for vBucket 115:
    cbc keygen --number-of-keys=5 --vbucket 115
    
  3. Generate 10 random keys so that they will be mapped to the same vBucket as key foo:
    cbc keygen --number-of-keys=10 --randomize --parent-key foo
    
  1. Generate 3 keys for each of the nodes in the cluster that map to the first replica and print results as a JSON:
    cbc keygen --vbuckets-for-nodes=replica_1 --json --number-of-keys=3
    

SEE ALSO

cbc, cbc-pillowfight.