这些 API 可以与标准 Vertica 节点或管理控制台节点交互。
1 - GET /
返回 API 版本信息和指向管理 API 的子资源的链接的列表。
资源 URL
https://<NODE>:5444/
身份验证
不是必需。
参数
无。
示例请求
响应:
{
"body": {
"mime-types": [
"default",
"application/vertica.database.configuration.json-v2",
"application/json",
"application/vertica.nodes.json-v2",
"default",
"application/json",
"default",
"application/json",
"application/vertica.jobs.json-v2",
"default",
"application/vertica.hosts.json-v2",
"application/json",
"default",
"application/vertica.hosts.json-v2",
"application/json",
"default",
"application/json",
"application/vertica.host.json-v2",
"default",
"application/vertica.hosts.json-v2",
"application/json",
"application/vertica.nodes.json-v2",
"default",
"application/json",
"default",
"application/json",
"application/vertica.database.json-v2",
"default",
"application/vertica.hosts.json-v2",
"application/json",
"default",
"application/vertica.hosts.json-v2",
"application/json",
"default",
"application/json",
"application/vertica.databases.json-v2",
"application/vertica.nodes.json-v2",
"default",
"application/json",
"application/vertica.agent.json-v2",
"default",
"application/json",
"default",
"application/vertica.users.json-v2",
"application/json"
],
"version": "7.1.0"
},
"href": "/",
"links": [
"/databases",
"/hosts",
"/nodes",
"/licenses",
"/webhooks",
"/backups",
"/restore",
"/jobs"
],
"mime-type": "application/vertica.agent.json-v2"
}
2 - GET api
列出所有管理 API 命令,并简要说明每个命令及其参数。
资源 URL
https://node-ip-address:5444/api
身份验证
无
示例
$ curl -k https://10.20.100.247:5444/api
[
{
"route": "/",
"method": "GET",
"description": "Returns the agent specific information useful for version checking and service discovery",
"accepts": {},
"params": []
},
{
"route": "/api",
"method": "GET",
"description": "build the list of cluster objects and properties and return it as a JSON formatted array",
"accepts": {},
"params": []
},
{
"route": "/backups",
"method": "GET",
"description": "list all the backups that have been created for all vbr configuration files ( *.ini ) that are located in the /opt/vertica/config directory.",
"accepts": {},
"params": []
},
{
"route": "/backups/:config_script_base",
"method": "POST",
"description": "create a new backup as defined by the given vbr configuration script base (filename minus the .ini extenstion)",
"accepts": {},
"params": []
},
{
"route": "/backups/:config_script_base/:archive_id",
"method": "GET",
"description": "get the detail for a specific backup archive",
"accepts": {},
"params": []
},
{
"route": "/backups/:config_script_base/:archive_id",
"method": "DELETE",
"description": "delete a backup based on the config ini file script",
"accepts": {},
"params": []
},
{
"route": "/databases",
"method": "GET",
"description": "build the list of databases, their properties, and current status (from cache) and return it as a JSON formatted array",
"accepts": {},
"params": []
},
{
"route": "/databases",
"method": "POST",
"description": "Create a new database by supplying a valid set of parameters",
"accepts": {},
"params": [
"name : name of the database to create",
"passwd : password used by the database administrative user",
"only : optional list of hostnames to include in database",
"exclude : optional list of hostnames to exclude from the database",
"catalog : directory used for the vertica catalog",
"data : directory used for the initial vertica storage location",
"port : port the database will listen on (default 5433)",
"restart_policy : (optional) set restart policy",
"force_cleanup_on_failure : (optional) Force removal of existing directories on failure of command",
"force_removal_at_creation : (optional) Force removal of existing directories before creating the database",
"communal_storage_url : (optional) communal storage location for the database",
"num_shards : (optional) number of shared for databases with communal storage",
"depot_path : (optional, but if specified requires depot_size) path to a directory where files from communal storage can be locally cached",
"depot_size : (optional, required by depot_path) size of the depot. Examples: (\"10G\", \"2000M\", \"1T\", \"250K\")",
"aws_access_key_id: (optional)",
"aws_secret_access_key : (optional)",
"configuration_parameters : (optional) A string that is a serialized python-literal dictionary of configuration parameters set at bootstrap.
'{\"kerberosservicename\":\"verticakerb\"}'"]
},
{
"route": "/databases/:database_name",
"method": "GET",
"description": "Retrieve the database properties structure",
"accepts": {},
"params": []
},
{
"route": "/databases/:database_name",
"method": "PUT",
"description": "Control / alter a database values using the PUT http method",
"accepts": {},
"params": ["action : value one of start|stop|rebalance|wla"]
},
{
"route": "/databases/:database_name",
"method": "DELETE",
"description": "Delete an existing database",
"accepts": {},
"params": []
},
{
"route": "/databases/:database_name/configuration",
"method": "GET",
"description": "retrieve the current parameters from the database. if its running return 503 Service Unavailable",
"accepts": {},
"params": [
"user_id : vertica database username",
"passwd : vertica database password"]
},
{
"route": "/databases/:database_name/configuration",
"method": "PUT",
"description": "set a list of parameters in the database. if its not running return 503 Service Unavailable",
"accepts": {},
"params": [
"user_id : vertica database username",
"passwd : vertica database password",
"parameter : value vertica parameter/key combo"]
},
...
{
"route": "/webhooks/subscribe",
"method": "POST",
"description": "post a request with a callback url to subscribe to events from this agent. Returns a subscription_id that can be used to unsubscribe from the service. @returns subscription_id",
"accepts": {},
"params": ["url : full url to the callback resource"]
}
]