You are viewing the documentation for a prerelease version.

Examine Backed-Up Data

    +
    The Backup Service REST API allows the examination of instances of a specified document, within a subset of backups from a specified active, imported, or archived repository.

    HTTP Method and URI

    POST /cluster/self/repository/< "active" | "imported" | "archived" >/<repository-id>/examine

    Description

    Retrieves instances of a document from a subset of backups within a repository. The repository can be active, imported, or archived. The document-key and bucket (optionally with scope and collection) must be specified as a JSON payload.

    Curl Syntax

    curl -X POST http://<backup-node-ip-address-or-domain-name>:8097/cluster/self\
    /repository/< "active" | "imported" | "archived" >/<repository-id>/examine \
      -u <username>:<password>
      -d <document-search-specification>

    The username and password must identify an administrator with the Full Admin role. The repository-id must be the name of a repository that is active, imported, or archived, depending on the specification made by the preceding path-parameter. The document-search-specification must be a JSON document that specifies the following:

    • The key of a document.

    • A data path. The bucket, scope, and collection within which the document resides. The names must be specified in order of containment, period-separated: for example, travel-sample._default._default.

    Syntactically therefore, the document-search-specification should be as follows:

    {
      "key": <document-key>,
      "data_path": < bucket-name.scope-name.collection-name >
    }

    Responses

    If successful, the call returns 200 OK, and a series of documents, each being a backed up instance of that sought for by its key. If the specified repository cannot be found, 404 Object No Found is returned. If an internal error prevents successful execution, 500 is returned. Failure to authenticate returns 401 Unauthorized. An incorrectly specified URI returns 404 Object Not Found.

    Example

    The following example is used to examine instances of the document whose key is airline_10, within the default scope and collection of the travel-sample bucket, in the active repository hourlyBackupRepo.

    curl -v -X POST http://127.0.0.1:8097/api/v1/cluster/self/\
    repository/active/hourlyBackupRepo/examine \
    -u Administrator:password \
    -d '{"key": "airline_10","data_path":"travel-sample._default._default"}'

    On success, the call returns the following:

    {
      "backup": "2020-09-11T16_30_10.894277+01_00",
      "sequence_number": 500,
      "key": "airline_10",
      "value": {
        "callsign": "MILE-AIR",
        "country": "United States",
        "iata": "Q5",
        "icao": "MLA",
        "id": 10,
        "name": "40-Mile Air",
        "type": "airline"
      },
      "metadata": {
        "flags": 33554438,
        "expiry": 0,
        "locktime": 0,
        "cas": 1598358036122239000,
        "revseqno": 2,
        "datatype": 3
      },
      "deleted": false
    }
    {
      "backup": "2020-09-14T17_00_55.976325+01_00",
      "sequence_number": 501,
      "key": "airline_10",
      "value": {
        "callsign": "MILE-AIR",
        "country": "United States",
        "iata": "Q6",
        "icao": "MLA",
        "id": 11,
        "name": "40-Mile Air",
        "type": "airline"
      },
      "metadata": {
        "flags": 33554438,
        "expiry": 0,
        "locktime": 0,
        "cas": 1600097937324376000,
        "revseqno": 3,
        "datatype": 3
      },
      "deleted": false
    }

    Thus, each object returns contains the id of the backup within which the document-instance resides, the sequence number of the document-instance, and the data and metadata values of the instance.

    See Also

    An overview of the Backup Service is provided in Backup Service. A step-by-step guide to using Couchbase Web Console to configure and use the Backup Service is provided in Manage Backup and Restore.