API node administration API¶
The API node can be managed through:
The
apinode-admin
command-line tool. See Using the apinode-admin toolAn HTTP REST API.
The REST API¶
Request and response formats¶
For POST and PUT requests, the request body must be JSON, with the Content-Type header set to application/json.
For almost all requests, the response will be JSON.
Whether a request succeeded is indicated by the HTTP status code. A 2xx status code indicates success, whereas a 4xx or 5xx status code indicates failure. When a request fails, the response body is still JSON and contains additional information about the error.
Authentication¶
Authentication on the admin API is done via the use of API keys. API keys can be managed using the apinode-admin
command-line tool.
The API key must be sent using HTTP Basic Authorization:
Use the API key as username
The password can remain blank
Methods reference¶
The reference documentation of the API is available at https://doc.dataiku.com/dss/api/13/apinode-admin
Admin REST API Python client¶
Dataiku provides a Python client for the API Node administration API. The client makes it easy to write client programs for the API in Python.
Installing¶
The API client is already pre-installed in the DSS Python environment
From outside of DSS, you can install the Python client by running
pip install dataiku-api-client
Reference API doc¶
- class dataikuapi.APINodeAdminClient(uri, api_key, insecure_tls=False)¶
Entry point for the DSS APINode admin client
- create_service(service_id)¶
Creates a new API service
- Parameters:
service_id – id of the created API service
- list_services()¶
Lists the currently declared services and their enabled/disabled state
- Returns:
a dict of services containing their id and state, as a JSON object
- Return type:
dict
- service(service_id)¶
Gets a handle to interact with a service
- Parameters:
service_id – id of requested service
- Return type:
- class:
dataikuapi.apinode_admin.service.APINodeService
- auth()¶
Returns a handle to interact with authentication
- Return type:
- class:
dataikuapi.apinode_admin.auth.APINodeAuth
- get_metrics()¶
Get the metrics for this API Node
- Returns:
the metrics, as a JSON object
- Return type:
dict
- import_code_env_in_cache(file_dir, language)¶
Import a code env in global cache from an exported code env base folder
- Parameters:
file_dir – path of an exported code env base folder
language – language of the code env (python or R)
- register_code_env_in_cache(exported_env_dir, built_env_dir, language)¶
Import a code env in global cache from an exported code env base folder
- Parameters:
exported_env_dir – path of an exported code env base folder
built_env_dir – path where the code env was built and is available
language – language of the code env (python or R)
- import_model_archive_in_cache(model_archive_path)¶
Import a model in model cache from an exported model archive
- Parameters:
model_archive_path – path of an exported model archive
- clear_model_cache()¶
Clear the model cache
- clean_unused_services_and_generations()¶
Deletes disabled services, unused generations and unused code environments
- clean_code_env_cache()¶
Deletes unused code envs from cache
- class dataikuapi.apinode_admin.service.APINodeService(client, service_id)¶
A handle to interact with the settings of an API node service
- delete()¶
Deletes the API node service
- list_generations()¶
- import_generation_from_archive(file_path)¶
- preload_generation(generation)¶
- disable()¶
Disable the service.
- enable()¶
- set_generations_mapping(mapping)¶
Setting a generations mapping automatically enables the service
- switch_to_newest()¶
- switch_to_single_generation(generation)¶
- class dataikuapi.apinode_admin.auth.APINodeAuth(client)¶
A handle to interact with authentication settings on API node
- list_keys()¶
Lists the Admin API keys
- add_key(label=None, description=None, created_by=None, expiry=None)¶
Add an Admin API key. Returns the key details
- delete_key(key)¶
- delete_key_by_id(id)¶