LogoLogo
Studio
4.3
4.3
  • HarperDB Docs
  • Getting Started
  • Developers
    • Applications
      • Caching
      • Defining Schemas
      • Debugging Applications
      • Define Fastify Routes
      • Example Projects
    • Components
      • Installing
      • Writing Extensions
      • Operations
      • Google Data Studio
      • SDKs
      • Drivers
    • REST
    • Operations API
      • Quick Start Examples
      • Databases and Tables
      • NoSQL Operations
      • Bulk Operations
      • Users and Roles
      • Clustering
      • Custom Functions
      • Components
      • Registration
      • Jobs
      • Logs
      • Utilities
      • Token Authentication
      • SQL Operations
      • Advanced JSON SQL Examples
    • Real-Time
    • Clustering
      • Requirements and Definitions
      • Creating A Cluster User
      • Naming A Node
      • Enabling Clustering
      • Establishing Routes
      • Subscription Overview
      • Managing Subscriptions
      • Things Worth Knowing
      • Certificate Management
    • Security
      • JWT Authentication
      • Basic Authentication
      • mTLS Authentication
      • Configuration
      • Users & Roles
      • Certificate Management
    • SQL Guide
      • SQL Features Matrix
      • SQL Date Functions
      • SQL Reserved Word
      • SQL Functions
      • SQL JSON Search
      • SQL Geospatial Functions
  • Administration
    • Best Practices and Recommendations
    • Logging
      • Standard Logging
      • Audit Logging
      • Transaction Logging
    • Clone Node
    • Compact
    • Jobs
    • HarperDB Studio
      • Create an Account
      • Log In & Password Reset
      • Organizations
      • Instances
      • Query Instance Data
      • Manage Databases / Browse Data
      • Manage Charts
      • Manage Clustering
      • Manage Instance Users
      • Manage Instance Roles
      • Manage Applications
      • Instance Metrics
      • Instance Configuration
      • Enable Mixed Content
  • Deployments
    • Configuration File
    • HarperDB CLI
    • Install HarperDB
      • On Linux
    • Upgrade a HarperDB Instance
    • HarperDB Cloud
      • IOPS Impact on Performance
      • Instance Size Hardware Specs
      • Alarms
      • Verizon 5G Wavelength
  • Technical Details
    • Reference
      • Analytics
      • Architecture
      • Content Types
      • Data Types
      • Dynamic Schema
      • HarperDB Headers
      • HarperDB Limits
      • Globals
      • Resource Class
      • Transactions
      • Storage Algorithm
    • Release Notes
      • HarperDB Tucker (Version 4)
        • 4.3.36
        • 4.3.35
        • 4.3.34
        • 4.3.33
        • 4.3.32
        • 4.3.31
        • 4.3.30
        • 4.3.29
        • 4.3.28
        • 4.3.27
        • 4.3.26
        • 4.3.25
        • 4.3.24
        • 4.3.23
        • 4.3.22
        • 4.3.21
        • 4.3.20
        • 4.3.19
        • 4.3.18
        • 4.3.17
        • 4.3.16
        • 4.3.15
        • 4.3.14
        • 4.3.13
        • 4.3.12
        • 4.3.11
        • 4.3.10
        • 4.3.9
        • 4.3.8
        • 4.3.7
        • 4.3.6
        • 4.3.5
        • 4.3.4
        • 4.3.3
        • 4.3.2
        • 4.3.1
        • 4.3.0
        • 4.2.8
        • 4.2.7
        • 4.2.6
        • 4.2.5
        • 4.2.4
        • 4.2.3
        • 4.2.2
        • 4.2.1
        • 4.2.0
        • 4.1.2
        • 4.1.1
        • 4.1.0
        • 4.0.7
        • 4.0.6
        • 4.0.5
        • 4.0.4
        • 4.0.3
        • 4.0.2
        • 4.0.1
        • 4.0.0
        • HarperDB Monkey (Version 3)
        • 3.3.0
        • 3.2.1
        • 3.2.0
        • 3.1.5
        • 3.1.4
        • 3.1.3
        • 3.1.2
        • 3.1.1
        • 3.1.0
        • 3.0.0
        • HarperDB Penny (Version 2)
        • 2.3.1
        • 2.3.0
        • 2.2.3
        • 2.2.2
        • 2.2.0
        • 2.1.1
        • HarperDB Alby (Version 1)
        • 1.3.1
        • 1.3.0
        • 1.2.0
        • 1.1.0
  • More Help
    • Support
    • Slack
    • Contact Us
Powered by GitBook
On this page
  • Restart
  • Body
  • Response: 200
  • Restart Service
  • Body
  • Response: 200
  • System Information
  • Body
  • Delete Records Before
  • Body
  • Response: 200
  • Export Local
  • Body
  • Response: 200
  • Export To S3
  • Body
  • Response: 200
  • Install Node Modules
  • Body
  • Set Configuration
  • Body
  • Response: 200
  • Get Configuration
  • Body
  • Response: 200
  1. Developers
  2. Operations API

Utilities

Restart

Restarts the HarperDB instance.

Operation is restricted to super_user roles only

  • operation (required) - must always be restart

Body

{
  "operation": "restart"
}

Response: 200

{
  "message": "Restarting HarperDB. This may take up to 60 seconds."
}

Restart Service

Restarts servers for the specified HarperDB service.

Operation is restricted to super_user roles only

  • operation (required) - must always be restart_service

  • service (required) - must be one of: http_workers, clustering_config or clustering

Body

{
  "operation": "restart_service",
  "service": "http_workers"
}

Response: 200

{
  "message": "Restarting http_workers"
}

System Information

Returns detailed metrics on the host system.

Operation is restricted to super_user roles only

  • operation (required) - must always be system_information

  • attributes (optional) - string array of top level attributes desired in the response, if no value is supplied all attributes will be returned. Available attributes are: ['system', 'time', 'cpu', 'memory', 'disk', 'network', 'harperdb_processes', 'table_size', 'replication']

Body

{
  "operation": "system_information"
}

Delete Records Before

Delete data before the specified timestamp on the specified database table exclusively on the node where it is executed. Any clustered nodes with replicated data will retain that data.

Operation is restricted to super_user roles only

  • operation (required) - must always be delete_records_before

  • date (required) - records older than this date will be deleted. Supported format looks like: YYYY-MM-DDThh:mm:ss.sZ

  • schema (required) - name of the schema where you are deleting your data

  • table (required) - name of the table where you are deleting your data

Body

{
  "operation": "delete_records_before",
  "date": "2021-01-25T23:05:27.464",
  "schema": "dev",
  "table": "breed"
}

Response: 200

{
  "message": "Starting job with id d3aed926-e9fe-4ec1-aea7-0fb4451bd373",
  "job_id": "d3aed926-e9fe-4ec1-aea7-0fb4451bd373"
}

Export Local

Exports data based on a given search operation to a local file in JSON or CSV format.

  • operation (required) - must always be export_local

  • format (required) - the format you wish to export the data, options are json & csv

  • path (required) - path local to the server to export the data

  • search_operation (required) - search_operation of search_by_hash, search_by_value, search_by_conditions or sql

  • filename (optional) - the name of the file where your export will be written to (do not include extension in filename). If one is not provided it will be autogenerated based on the epoch.

Body

{
  "operation": "export_local",
  "format": "json",
  "path": "/data/",
  "search_operation": {
      "operation": "sql",
      "sql": "SELECT * FROM dev.breed"
  }
}

Response: 200

{
  "message": "Starting job with id 6fc18eaa-3504-4374-815c-44840a12e7e5"
}

Export To S3

Exports data based on a given search operation from table to AWS S3 in JSON or CSV format.

  • operation (required) - must always be export_to_s3

  • format (required) - the format you wish to export the data, options are json & csv

  • s3 (required) - details your access keys, bucket, bucket region and key for saving the data to S3

  • search_operation (required) - search_operation of search_by_hash, search_by_value, search_by_conditions or sql

Body

{
    "operation": "export_to_s3",
    "format": "json",
    "s3": {
        "aws_access_key_id": "YOUR_KEY",
        "aws_secret_access_key": "YOUR_SECRET_KEY",
        "bucket": "BUCKET_NAME",
        "key": "OBJECT_NAME",
        "region": "BUCKET_REGION"
    },
    "search_operation": {
        "operation": "sql",
        "sql": "SELECT * FROM dev.dog"
    }
}

Response: 200

{
  "message": "Starting job with id 9fa85968-4cb1-4008-976e-506c4b13fc4a",
  "job_id": "9fa85968-4cb1-4008-976e-506c4b13fc4a"
}

Install Node Modules

Executes npm install against specified custom function projects.

Operation is restricted to super_user roles only

  • operation (required) - must always be install_node_modules

  • projects (required) - must ba an array of custom functions projects.

Body

{
  "operation": "install_node_modules",
  "projects": [
    "dogs",
    "cats"
  ],
  "dry_run": true
}

Set Configuration

Modifies the HarperDB configuration file parameters. Must follow with a restart or restart_service operation.

Operation is restricted to super_user roles only

  • operation (required) - must always be set_configuration

  • logging_level (example/optional) - one or more configuration keywords to be updated in the HarperDB configuration file

  • clustering_enabled (example/optional) - one or more configuration keywords to be updated in the HarperDB configuration file

Body

{
  "operation": "set_configuration",
  "logging_level": "trace",
  "clustering_enabled": true
}

Response: 200

{
  "message": "Configuration successfully set. You must restart HarperDB for new config settings to take effect."
}

Get Configuration

Returns the HarperDB configuration parameters.

Operation is restricted to super_user roles only

  • operation (required) - must always be get_configuration

Body

{
  "operation": "get_configuration"
}

Response: 200

{
  "http": {
    "compressionThreshold": 1200,
    "cors": false,
    "corsAccessList": [
      null
    ],
    "keepAliveTimeout": 30000,
    "port": 9926,
    "securePort": null,
    "timeout": 120000
  },
  "threads": 11,
  "authentication": {
    "cacheTTL": 30000,
    "enableSessions": true,
    "operationTokenTimeout": "1d",
    "refreshTokenTimeout": "30d"
  },
  "analytics": {
    "aggregatePeriod": 60
  },
  "clustering": {
    "enabled": true,
    "hubServer": {
      "cluster": {
        "name": "harperdb",
        "network": {
          "port": 12345,
          "routes": null
        }
      },
      "leafNodes": {
        "network": {
          "port": 9931
        }
      },
      "network": {
        "port": 9930
      }
    },
    "leafServer": {
      "network": {
        "port": 9940,
        "routes": null
      },
      "streams": {
        "maxAge": null,
        "maxBytes": null,
        "maxMsgs": null,
        "path": "/Users/hdb/clustering/leaf"
      }
    },
    "logLevel": "info",
    "nodeName": "node1",
    "republishMessages": false,
    "databaseLevel": false,
    "tls": {
      "certificate": "/Users/hdb/keys/certificate.pem",
      "certificateAuthority": "/Users/hdb/keys/ca.pem",
      "privateKey": "/Users/hdb/keys/privateKey.pem",
      "insecure": true,
      "verify": true
    },
    "user": "cluster_user"
  },
  "componentsRoot": "/Users/hdb/components",
  "localStudio": {
    "enabled": false
  },
  "logging": {
    "auditAuthEvents": {
      "logFailed": false,
      "logSuccessful": false
    },
    "auditLog": true,
    "auditRetention": "3d",
    "file": true,
    "level": "error",
    "root": "/Users/hdb/log",
    "rotation": {
      "enabled": false,
      "compress": false,
      "interval": null,
      "maxSize": null,
      "path": "/Users/hdb/log"
    },
    "stdStreams": false
  },
  "mqtt": {
    "network": {
      "port": 1883,
      "securePort": 8883
    },
    "webSocket": true,
    "requireAuthentication": true
  },
  "operationsApi": {
    "network": {
      "cors": true,
      "corsAccessList": [
        "*"
      ],
      "domainSocket": "/Users/hdb/operations-server",
      "port": 9925,
      "securePort": null
    }
  },
  "rootPath": "/Users/hdb",
  "storage": {
    "writeAsync": false,
    "caching": true,
    "compression": false,
    "noReadAhead": true,
    "path": "/Users/hdb/database",
    "prefetchWrites": true
  },
  "tls": {
    "certificate": "/Users/hdb/keys/certificate.pem",
    "certificateAuthority": "/Users/hdb/keys/ca.pem",
    "privateKey": "/Users/hdb/keys/privateKey.pem"
  }
}
PreviousLogsNextToken Authentication

Last updated 1 year ago

dry_run (optional) - refers to the npm --dry-run flag: . Defaults to false.

https://docs.npmjs.com/cli/v8/commands/npm-install#dry-run