Overview
The Analytics Links REST API is provided by the Analytics service. This API enables you to manage the links to remote Couchbase clusters and external data sources.
Version information
Version : 7.6
Host information
http://localhost:8095
The API schemes and host URLs are as follows:
-
http://node:8095/
-
https://node:18095/
(for secure access)
where node
is the host name or IP address of a node running the Analytics service.
Resources
This section describes the operations available with this REST API. The operations are grouped in the following categories.
Legacy Methods
Table of Contents
Delete Link (Alternative)
DELETE /analytics/link
This operation is deprecated, and will be removed in a future release. |
Description
An alternative endpoint for deleting a link, provided for backward compatibility. The link cannot be deleted if any other entities are using it, such as an Analytics collection. The entities using the link need to be disconnected from the link, otherwise, the delete operation fails.
Parameters
Name | Description | Schema |
---|---|---|
dataverse |
The name of the Analytics scope containing the link. With this parameter, the scope name may only contain a single identifier. |
String |
name |
The name of the link. |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Create Link (Alternative)
POST /analytics/link
This operation is deprecated, and will be removed in a future release. |
Description
An alternative endpoint for creating a link, provided for backward compatibility.
Parameters
Name | Description | Schema |
---|---|---|
dataverse |
The name of the Analytics scope containing the link. With this parameter, the scope name may only contain a single identifier. |
String |
name |
The name of the link. |
String |
type |
The type of the link. For details, see type. Values: |
String |
hostname |
For Couchbase links only. The remote hostname. |
String |
encryption |
For Couchbase links only. The type of encryption used by the link. For details, see encryption. Values: |
String |
username |
For Couchbase links only. The remote username. Required for links with no encryption or half encryption. Required for links with full encryption if using a password. You should URL-encode this parameter to escape any special characters. |
String |
password |
For Couchbase links only. The remote password. Required for links with no encryption or half encryption. Required for links with full encryption if using a username. You should URL-encode this parameter to escape any special characters. |
String |
certificate |
For Couchbase links only. The content of the target cluster root certificate. Required for links with full encryption. You should URL-encode this parameter to escape any special characters. If required, this parameter may contain multiple certificates, separated by new lines. |
String |
clientCertificate |
For Couchbase links, this is the content of the client certificate. Required for links with full encryption if using a client key. For Azure Blob links, this is the client certificate for the registered application. Used for Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientKey |
For Couchbase links only. The content of the client key. Required for links with full encryption if using a client certificate. You should URL-encode this parameter to escape any special characters. |
String |
accessKeyId |
For S3 links only. The Amazon S3 access key ID. |
String |
secretAccessKey |
For S3 links only. The Amazon S3 secret access key. You should URL-encode this parameter to escape any special characters. |
String |
sessionToken |
For S3 links only. The Amazon S3 session token. Use this parameter if you want the link to have temporary access. Passing this parameter indicates that the |
String |
region |
For S3 links only. The Amazon S3 region. |
String |
serviceEndpoint |
For S3 links only. The Amazon S3 service endpoint. |
String |
accountName |
For Azure Blob links only. The account name. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
accountKey |
For Azure Blob links only. The account key. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
sharedAccessSignature |
For Azure Blob links only. A token that can be used for authentication. Used for shared access signature authentication. You should URL-encode this parameter to escape any special characters. |
String |
managedIdentityId |
For Azure Blob links only. The managed identity ID. Used for managed identity authentication. Only available if the application is running on an Azure instance, e.g. an Azure virtual machine. You should URL-encode this parameter to escape any special characters. |
String |
clientId |
For Azure Blob links only. The client ID for the registered application. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
tenantId |
For Azure Blob links only. The tenant ID where the registered application is created. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientSecret |
For Azure Blob links only. The client secret for the registered application. Used for Azure Active Directory client secret authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientCertificatePassword |
For Azure Blob links only. The client certificate password for the registered application. Used for Azure Active Directory client certificate authentication, if the client certificate is password-protected. You should URL-encode this parameter to escape any special characters. |
String |
endpoint |
For Azure Blob links and Google Cloud Storage links. The endpoint URI. Required for Azure Blob links; optional for Google Cloud Storage links. |
String |
applicationDefaultCredentials |
For Google Cloud Storage links only. If present, indicates that the link should use the Google Application Default Credentials for authenticating. Values: |
String |
jsonCredentials |
For Google Cloud Storage links only. The JSON credentials of the link. This parameter is not allowed if |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Edit Link (Alternative)
PUT /analytics/link
This operation is deprecated, and will be removed in a future release. |
Description
An alternative endpoint for editing a link, provided for backward compatibility. The link name, type, and scope name cannot be modified.
Parameters
Name | Description | Schema |
---|---|---|
dataverse |
The name of the Analytics scope containing the link. With this parameter, the scope name may only contain a single identifier. |
String |
name |
The name of the link. |
String |
type |
The type of the link. If this parameter is specified, the value must match the type that was set when the link was created. Values: |
String |
hostname |
For Couchbase links only. The remote hostname. |
String |
encryption |
For Couchbase links only. The type of encryption used by the link. For details, see encryption. Values: |
String |
username |
For Couchbase links only. The remote username. Required for links with no encryption or half encryption. Required for links with full encryption if using a password. You should URL-encode this parameter to escape any special characters. |
String |
password |
For Couchbase links only. The remote password. Required for links with no encryption or half encryption. Required for links with full encryption if using a username. You should URL-encode this parameter to escape any special characters. |
String |
certificate |
For Couchbase links only. The content of the target cluster root certificate. Required for links with full encryption. You should URL-encode this parameter to escape any special characters. If required, this parameter may contain multiple certificates, separated by new lines. |
String |
clientCertificate |
For Couchbase links, this is the content of the client certificate. Required for links with full encryption if using a client key. For Azure Blob links, this is the client certificate for the registered application. Used for Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientKey |
For Couchbase links only. The content of the client key. Required for links with full encryption if using a client certificate. You should URL-encode this parameter to escape any special characters. |
String |
accessKeyId |
For S3 links only. The Amazon S3 access key ID. |
String |
secretAccessKey |
For S3 links only. The Amazon S3 secret access key. You should URL-encode this parameter to escape any special characters. |
String |
sessionToken |
For S3 links only. The Amazon S3 session token. Use this parameter if you want the link to have temporary access. Passing this parameter indicates that the |
String |
region |
For S3 links only. The Amazon S3 region. |
String |
serviceEndpoint |
For S3 links only. The Amazon S3 service endpoint. |
String |
accountName |
For Azure Blob links only. The account name. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
accountKey |
For Azure Blob links only. The account key. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
sharedAccessSignature |
For Azure Blob links only. A token that can be used for authentication. Used for shared access signature authentication. You should URL-encode this parameter to escape any special characters. |
String |
managedIdentityId |
For Azure Blob links only. The managed identity ID. Used for managed identity authentication. Only available if the application is running on an Azure instance, e.g. an Azure virtual machine. You should URL-encode this parameter to escape any special characters. |
String |
clientId |
For Azure Blob links only. The client ID for the registered application. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
tenantId |
For Azure Blob links only. The tenant ID where the registered application is created. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientSecret |
For Azure Blob links only. The client secret for the registered application. Used for Azure Active Directory client secret authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientCertificatePassword |
For Azure Blob links only. The client certificate password for the registered application. Used for Azure Active Directory client certificate authentication, if the client certificate is password-protected. You should URL-encode this parameter to escape any special characters. |
String |
endpoint |
For Azure Blob links and Google Cloud Storage links. The endpoint URI. Required for Azure Blob links; optional for Google Cloud Storage links. |
String |
applicationDefaultCredentials |
For Google Cloud Storage links only. If present, indicates that the link should use the Google Application Default Credentials for authenticating. Values: |
String |
jsonCredentials |
For Google Cloud Storage links only. The JSON credentials of the link. This parameter is not allowed if |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Multiple Links
Table of Contents
Query All Links
GET /analytics/link
Parameters
Name | Description | Schema |
---|---|---|
dataverse |
The name of an Analytics scope. When this parameter is included, the request only returns information about links in the specified scope. With this parameter, the scope name may only contain a single identifier. This parameter is provided for backward compatibility. Note that it is deprecated, and will be removed in a future release. |
String |
name |
The name of a link. When this parameter is included, the request only returns information about the specified link. If specified, the This parameter is provided for backward compatibility. Note that it is deprecated, and will be removed in a future release. |
String |
type |
The type of the link. If this parameter is omitted, all link types are retrieved, excluding the Values: |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an array of objects, each of which contains information about a link. |
Links list |
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Request
The example below queries all links of type S3
in all Analytics scopes.
curl -v -u Administrator:password \
"http://localhost:8095/analytics/link?type=S3"
Example HTTP Response
[ {
"accessKeyId" : "myAccessKey",
"name" : "myAwsLink",
"region" : "us-east-1",
"scope" : "travel-sample/inventory",
"secretAccessKey" : "<redacted sensitive entry>",
"serviceEndpoint" : null,
"type" : "s3"
}, {
"accessKeyId" : "myTempAccessKey",
"name" : "myTempLink",
"region" : "eu-west-1",
"scope" : "travel-sample/inventory",
"secretAccessKey" : "<redacted sensitive entry>",
"serviceEndpoint" : null,
"sessionToken" : "<redacted sensitive entry>",
"type" : "s3"
} ]
Query Scope Links
GET /analytics/link/{scope}
Parameters
Name | Description | Schema |
---|---|---|
scope |
The name of the Analytics scope. With this parameter, the scope name may contain one or two identifiers, separated by a slash (/). You must URL-encode this parameter to escape any special characters. |
String |
Name | Description | Schema |
---|---|---|
type |
The type of the link. If this parameter is omitted, all link types are retrieved, excluding the Values: |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an array of objects, each of which contains information about a link. |
Links list |
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Request
The example below queries all links in the Default
scope.
curl -v -u Administrator:password \
"http://localhost:8095/analytics/link/Default"
Example HTTP Response
[
{
"accountKey": null,
"accountName": null,
"clientCertificate": null,
"clientCertificatePassword": null,
"clientId": null,
"clientSecret": null,
"endpoint": "my.endpoint.uri",
"managedIdentityId": null,
"name": "myBlobLink",
"scope": "Default",
"sharedAccessSignature": null,
"tenantId": null,
"type": "azureblob"
},
{
"activeHostname": "remoteHostName:8091",
"bootstrapAlternateAddress": false,
"bootstrapHostname": "remoteHostName:8091",
"certificate": null,
"clientCertificate": null,
"clientKey": null,
"clusterCompatibility": 393221,
"encryption": "none",
"name": "myCbLink",
"nodes": [
{
"alternateAddresses": null,
"hostname": null,
"services": {
"cbas": 8095,
"cbasSSL": 18095,
"kv": 11210,
"kvSSL": 11207,
"mgmt": 8091,
"mgmtSSL": 18091
}
}
],
"password": "<redacted sensitive entry>",
"scope": "Default",
"type": "couchbase",
"username": "remote.user",
"uuid": "6331e2a390125b662f7bcfd63ecb3a73"
}
]
Single Links
Table of Contents
Delete Link
DELETE /analytics/link/{scope}/{name}
Description
Deletes a link in the specified Analytics scope. The link cannot be deleted if any other entities are using it, such as an Analytics collection. The entities using the link need to be disconnected from the link, otherwise, the delete operation fails.
Parameters
Name | Description | Schema |
---|---|---|
scope |
The name of the Analytics scope. With this parameter, the scope name may contain one or two identifiers, separated by a slash (/). You must URL-encode this parameter to escape any special characters. |
String |
name |
The name of the link. |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Requests
The example below deletes the link named myCbLink
from the Default
scope.
curl -v -u Administrator:password \
-X DELETE \
"http://localhost:8095/analytics/link/Default/myCbLink"
The example below deletes the link named myAwsLink
from the travel-sample.inventory
scope.
curl -v -u Administrator:password \
-X DELETE \
"http://localhost:8095/analytics/link/travel-sample%2Finventory/myAwsLink"
The dot separator within the scope name is converted to a slash (/ ), which is then URL-encoded as %2F .
|
Query Link
GET /analytics/link/{scope}/{name}
Parameters
Name | Description | Schema |
---|---|---|
scope |
The name of the Analytics scope. With this parameter, the scope name may contain one or two identifiers, separated by a slash (/). You must URL-encode this parameter to escape any special characters. |
String |
name |
The name of the link. |
String |
Name | Description | Schema |
---|---|---|
type |
The type of the link. If this parameter is specified, the value must match the type that was set when the link was created. Values: |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an array of objects, each of which contains information about a link. |
Links list |
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Request
The example below queries the myAwsLink
link in the travel-sample.inventory
scope.
curl -v -u Administrator:password \
"http://localhost:8095/analytics/link/travel-sample%2Finventory/myAwsLink"
The dot separator within the scope name is converted to a slash (/ ), which is then URL-encoded as %2F .
|
Create Link
POST /analytics/link/{scope}/{name}
Description
Creates a link in the specified Analytics scope.
When creating or altering a remote link using an alternate address, note the following:
-
At least one node in the remote cluster must expose the
mgmt
port (rest_port
, default 8091) or themgmtSSL
port (ssl_rest_port
, default 18091). -
Furthermore, all data nodes in the remote cluster must expose the
kv
port (memcached_port
, default 11210) or thekvSSL
port (memcached_ssl_port
, default 11207).
Failure to do so will result in a 400 (Bad Request) error.
The SSL ports are required when the encryption mode is set to full ; the non-SSL ports are required otherwise.
|
When creating an external link, be sure to follow best practices for security. Root account credentials should never be used. It is recommended to grant the minimum possible permissions to perform the required operations, and only to allow access to the required data and resources. |
Parameters
Name | Description | Schema |
---|---|---|
scope |
The name of the Analytics scope. With this parameter, the scope name may contain one or two identifiers, separated by a slash (/). You must URL-encode this parameter to escape any special characters. |
String |
name |
The name of the link. |
String |
Name | Description | Schema |
---|---|---|
type |
The type of the link. For details, see type. Values: |
String |
hostname |
For Couchbase links only. The remote hostname. |
String |
encryption |
For Couchbase links only. The type of encryption used by the link. For details, see encryption. Values: |
String |
username |
For Couchbase links only. The remote username. Required for links with no encryption or half encryption. Required for links with full encryption if using a password. You should URL-encode this parameter to escape any special characters. |
String |
password |
For Couchbase links only. The remote password. Required for links with no encryption or half encryption. Required for links with full encryption if using a username. You should URL-encode this parameter to escape any special characters. |
String |
certificate |
For Couchbase links only. The content of the target cluster root certificate. Required for links with full encryption. You should URL-encode this parameter to escape any special characters. If required, this parameter may contain multiple certificates, separated by new lines. |
String |
clientCertificate |
For Couchbase links, this is the content of the client certificate. Required for links with full encryption if using a client key. For Azure Blob links, this is the client certificate for the registered application. Used for Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientKey |
For Couchbase links only. The content of the client key. Required for links with full encryption if using a client certificate. You should URL-encode this parameter to escape any special characters. |
String |
accessKeyId |
For S3 links only. The Amazon S3 access key ID. |
String |
secretAccessKey |
For S3 links only. The Amazon S3 secret access key. You should URL-encode this parameter to escape any special characters. |
String |
sessionToken |
For S3 links only. The Amazon S3 session token. Use this parameter if you want the link to have temporary access. Passing this parameter indicates that the |
String |
region |
For S3 links only. The Amazon S3 region. |
String |
serviceEndpoint |
For S3 links only. The Amazon S3 service endpoint. |
String |
accountName |
For Azure Blob links only. The account name. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
accountKey |
For Azure Blob links only. The account key. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
sharedAccessSignature |
For Azure Blob links only. A token that can be used for authentication. Used for shared access signature authentication. You should URL-encode this parameter to escape any special characters. |
String |
managedIdentityId |
For Azure Blob links only. The managed identity ID. Used for managed identity authentication. Only available if the application is running on an Azure instance, e.g. an Azure virtual machine. You should URL-encode this parameter to escape any special characters. |
String |
clientId |
For Azure Blob links only. The client ID for the registered application. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
tenantId |
For Azure Blob links only. The tenant ID where the registered application is created. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientSecret |
For Azure Blob links only. The client secret for the registered application. Used for Azure Active Directory client secret authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientCertificatePassword |
For Azure Blob links only. The client certificate password for the registered application. Used for Azure Active Directory client certificate authentication, if the client certificate is password-protected. You should URL-encode this parameter to escape any special characters. |
String |
endpoint |
For Azure Blob links and Google Cloud Storage links. The endpoint URI. Required for Azure Blob links; optional for Google Cloud Storage links. |
String |
applicationDefaultCredentials |
For Google Cloud Storage links only. If present, indicates that the link should use the Google Application Default Credentials for authenticating. Values: |
String |
jsonCredentials |
For Google Cloud Storage links only. The JSON credentials of the link. This parameter is not allowed if |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Requests
The example below creates a Couchbase link named myCbLink
in the Default
scope, with no encryption.
curl -v -u Administrator:password \
-X POST \
"http://localhost:8095/analytics/link/Default/myCbLink" \
-d type=couchbase \
-d hostname=remoteHostName:8091 \
-d encryption=none \
--data-urlencode username=remote.user \
--data-urlencode password=remote.p4ssw0rd
The username and password parameters are URL-encoded to escape any special characters.
|
The example below creates a Microsoft Azure Blob link named myBlobLink
in the Default
scope, with anonymous authentication.
curl -v -u Administrator:password \
-X POST \
"http://localhost:8095/analytics/link/Default/myBlobLink" \
-d type=azureblob \
-d endpoint=my.endpoint.uri
The example below creates a Google Cloud Storage link named myGcsLink
in the Default
scope, with anonymous authentication.
curl -v -u Administrator:password \
-X POST \
"http://localhost:8095/analytics/link/Default/myGcsLink" \
-d type=gcs
The example below creates an Amazon S3 link named myAwsLink
in the travel-sample.inventory
scope.
curl -v -u Administrator:password \
-X POST \
"http://localhost:8095/analytics/link/travel-sample%2Finventory/myAwsLink" \
-d type=s3 \
-d region=us-east-1 \
-d accessKeyId=myAccessKey \
--data-urlencode secretAccessKey=mySecretKey
The dot separator within the scope name is converted to a slash (/ ), which is then URL-encoded as %2F .
The secretAccessKey parameter is URL-encoded to escape any special characters.
|
The example below creates an Amazon S3 link named myTempLink
with temporary credentials in the travel-sample.inventory
scope.
curl -v -u Administrator:password \
-X POST \
"http://localhost:8095/analytics/link/travel-sample%2Finventory/myTempLink" \
-d type=s3 \
-d region=eu-west-1 \
-d accessKeyId=myTempAccessKey \
-d sessionToken=mySessionToken \
--data-urlencode secretAccessKey=myTempSecretKey
The dot separator within the scope name is converted to a slash (/ ), which is then URL-encoded as %2F .
The secretAccessKey parameter is URL-encoded to escape any special characters.
|
Edit Link
PUT /analytics/link/{scope}/{name}
Description
Edits an existing link in the specified Analytics scope. The link name, type, and scope name cannot be modified.
Parameters
Name | Description | Schema |
---|---|---|
scope |
The name of the Analytics scope. With this parameter, the scope name may contain one or two identifiers, separated by a slash (/). You must URL-encode this parameter to escape any special characters. |
String |
name |
The name of the link. |
String |
Name | Description | Schema |
---|---|---|
type |
The type of the link. If this parameter is specified, the value must match the type that was set when the link was created. Values: |
String |
hostname |
For Couchbase links only. The remote hostname. |
String |
encryption |
For Couchbase links only. The type of encryption used by the link. For details, see encryption. Values: |
String |
username |
For Couchbase links only. The remote username. Required for links with no encryption or half encryption. Required for links with full encryption if using a password. You should URL-encode this parameter to escape any special characters. |
String |
password |
For Couchbase links only. The remote password. Required for links with no encryption or half encryption. Required for links with full encryption if using a username. You should URL-encode this parameter to escape any special characters. |
String |
certificate |
For Couchbase links only. The content of the target cluster root certificate. Required for links with full encryption. You should URL-encode this parameter to escape any special characters. If required, this parameter may contain multiple certificates, separated by new lines. |
String |
clientCertificate |
For Couchbase links, this is the content of the client certificate. Required for links with full encryption if using a client key. For Azure Blob links, this is the client certificate for the registered application. Used for Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientKey |
For Couchbase links only. The content of the client key. Required for links with full encryption if using a client certificate. You should URL-encode this parameter to escape any special characters. |
String |
accessKeyId |
For S3 links only. The Amazon S3 access key ID. |
String |
secretAccessKey |
For S3 links only. The Amazon S3 secret access key. You should URL-encode this parameter to escape any special characters. |
String |
sessionToken |
For S3 links only. The Amazon S3 session token. Use this parameter if you want the link to have temporary access. Passing this parameter indicates that the |
String |
region |
For S3 links only. The Amazon S3 region. |
String |
serviceEndpoint |
For S3 links only. The Amazon S3 service endpoint. |
String |
accountName |
For Azure Blob links only. The account name. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
accountKey |
For Azure Blob links only. The account key. Used for shared key authentication. You should URL-encode this parameter to escape any special characters. |
String |
sharedAccessSignature |
For Azure Blob links only. A token that can be used for authentication. Used for shared access signature authentication. You should URL-encode this parameter to escape any special characters. |
String |
managedIdentityId |
For Azure Blob links only. The managed identity ID. Used for managed identity authentication. Only available if the application is running on an Azure instance, e.g. an Azure virtual machine. You should URL-encode this parameter to escape any special characters. |
String |
clientId |
For Azure Blob links only. The client ID for the registered application. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
tenantId |
For Azure Blob links only. The tenant ID where the registered application is created. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientSecret |
For Azure Blob links only. The client secret for the registered application. Used for Azure Active Directory client secret authentication. You should URL-encode this parameter to escape any special characters. |
String |
clientCertificatePassword |
For Azure Blob links only. The client certificate password for the registered application. Used for Azure Active Directory client certificate authentication, if the client certificate is password-protected. You should URL-encode this parameter to escape any special characters. |
String |
endpoint |
For Azure Blob links and Google Cloud Storage links. The endpoint URI. Required for Azure Blob links; optional for Google Cloud Storage links. |
String |
applicationDefaultCredentials |
For Google Cloud Storage links only. If present, indicates that the link should use the Google Application Default Credentials for authenticating. Values: |
String |
jsonCredentials |
For Google Cloud Storage links only. The JSON credentials of the link. This parameter is not allowed if |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. A parameter has an incorrect value. |
|
500 |
Internal Server Error. Incorrect path or port number, incorrect credentials, badly formatted parameters, or missing arguments. |
Example HTTP Requests
The example below edits the link named myCbLink
in the Default
scope to use full encryption with a client certificate and client key.
curl -v -u Administrator:password \
-X PUT \
"http://localhost:8095/analytics/link/Default/myCbLink" \
-d type=couchbase \
-d hostname=remoteHostName:8091 \
-d encryption=full \
--data-urlencode "certificate=$(cat ./cert/targetClusterRootCert.pem)" \
--data-urlencode "clientCertificate=$(cat ./cert/clientCert.pem)" \
--data-urlencode "clientKey=$(cat ./cert/client.key)"
The certificate , clientCertificate , and clientKey parameters use command substitution with the cat command to return the content of the referenced files.
The content of these files is then URL-encoded to escape any special characters.
|
The example below edits the Google Cloud Storage link named myGcsLink
in the Default
scope to use Google Application Default Credentials for authentication.
curl -v -u Administrator:password \
-X PUT \
"http://localhost:8095/analytics/link/Default/myGcsLink" \
-d type=gcs \
-d applicationDefaultCredentials=true
Definitions
This section describes the properties consumed and returned by this REST API.
Links
Azure Blob
Azure Blob Specific
Couchbase
Couchbase Specific
Nodes
Services
GCS
GCS Specific
S3
S3 Specific
Errors
Links
Property | Schema | |
---|---|---|
scope |
The name of the Analytics scope containing the link. The scope name may contain one or two identifiers, separated by a slash (/). Example: |
String |
name |
The name of the link. Example: |
String |
type |
The type of the link.
Values: |
String |
This schema has different properties, depending on the value of type:
-
azureblob
— Azure Blob -
couchbase
— Couchbase -
gcs
— GCS -
s3
— S3
Azure Blob Specific
Property | Schema | |
---|---|---|
accountKey |
The account key. Used for shared key authentication. This is redacted for the sake of security. If not set, this property returns Example: |
String |
accountName |
The account name. Used for shared key authentication. If not set, this property returns Example: |
String |
clientCertificate |
The client certificate for the registered application. Used for Azure Active Directory client certificate authentication. This is redacted for the sake of security. If not set, this property returns Example: |
String |
clientCertificatePassword |
The client certificate password for the registered application. Used for Azure Active Directory client certificate authentication, if the client certificate is password-protected. This is redacted for the sake of security. If not set, this property returns Example: |
String |
clientId |
The client ID for the registered application. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. If not set, this property returns Example: |
String |
clientSecret |
The client secret for the registered application. Used for Azure Active Directory client secret authentication. This is redacted for the sake of security. If not set, this property returns Example: |
String |
endpoint |
The endpoint URI. Example: |
String |
managedIdentityId |
The managed identity ID. Used for managed identity authentication. If not set, this property returns Example: |
String |
sharedAccessSignature |
A token that can be used for authentication. Used for shared access signature authentication. This is redacted for the sake of security. If not set, this property returns Example: |
String |
tenantId |
The tenant ID where the registered application is created. Used for Azure Active Directory client secret authentication, or Azure Active Directory client certificate authentication. If not set, this property returns Example: |
String |
Couchbase Specific
Property | Schema | |
---|---|---|
activeHostname |
The remote hostname. Example: |
String |
bootstrapAlternateAddress |
Specifies whether the provided (bootstrap) hostname is an alternative address. Example: |
Boolean |
bootstrapHostname |
The provided (bootstrap) hostname. Example: |
String |
certificate |
The content of the target cluster root certificate. Only set for links with full encryption. If not set, this property returns |
String |
clientCertificate |
The content of the client certificate. Only set for links with full encryption using client certificate and client key. If not set, this property returns |
String |
clientKey |
The content of the client key. Only set for links with full encryption using client certificate and client key. If not set, this property returns |
String |
clusterCompatibility |
For internal use only. Example: |
Integer |
encryption |
The type of encryption used by the link.
Values: |
String |
nodes |
An array of objects, each of which contains information about a node in the target cluster. |
Nodes list |
password |
The password used to connect to the link. This is redacted for the sake of security. Not set for links with full encryption using client certificate and client key. If not set, this property returns Example: |
String |
username |
The remote username. Not set for links with full encryption using client certificate and client key. If not set, this property returns Example: |
String |
uuid |
A UUID uniquely identifying the link. Example: |
UUID (UUID) |
Nodes
Property | Schema | |
---|---|---|
alternateAddresses |
The alternate address defined on the node, if any. If not defined, this property returns |
String |
hostname |
The hostname of the node. If not defined, this property returns |
String |
services |
An object giving information about the services and ports configured on this node. |
Services
Property | Schema | |
---|---|---|
cbas |
The port number for a connection to the Analytics service. Example: |
Integer |
cbasSSL |
The port number for an encrypted connection to the Analytics service. Example: |
Integer |
kv |
The port number for a connection to the Data service. Example: |
Integer |
kvSSL |
The port number for an encrypted connection to the Data service. Example: |
Integer |
mgmt |
The port number for a connection to the Cluster Manager service. Example: |
Integer |
mgmtSSL |
The port number for an encrypted connection to the Cluster Manager service. Example: |
Integer |
GCS Specific
Property | Schema | |
---|---|---|
applicationDefaultCredentials |
If present, indicates that the link should use the Google Application Default Credentials for authenticating. If not set, this property returns Values: |
String |
endpoint |
The endpoint URI. If not set, this property returns Example: |
String |
jsonCredentials |
The JSON credentials of the link. If not set, this property returns Example: |
String |
S3 Specific
Property | Schema | |
---|---|---|
accessKeyId |
The Amazon S3 access key ID. Example: |
String |
region |
The Amazon S3 region. Example: |
String |
secretAccessKey |
The Amazon S3 secret access key. This is redacted for the sake of security. Example: |
String |
sessionToken |
For S3 links only. The Amazon S3 session token. Indicates that the link has temporary access, and that the Example: |
String |
serviceEndpoint |
Amazon S3 service endpoint. If not set, this property returns Example: |
String |
Security
The Analytics Links REST API supports HTTP basic authentication. Credentials can be passed via HTTP headers.
Analytics Manage
Users must have one of the following RBAC roles:
- Full Admin
- Cluster Admin
- Analytics Admin
Type : http
Refer to Roles for more details.