API Reference¶
InfluxDBClient¶
-
class
influxdb_client.
InfluxDBClient
(url, token, debug=None, timeout=10000, enable_gzip=False, org: str = None, default_tags: dict = None, **kwargs)[source]¶ InfluxDBClient is client for InfluxDB v2.
Initialize defaults.
Parameters: - url – InfluxDB server API url (ex. http://localhost:8086).
- token – auth token
- debug – enable verbose logging of http requests
- timeout – HTTP client timeout setting for a request specified in milliseconds. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.
- enable_gzip – Enable Gzip compression for http requests. Currently only the “Write” and “Query” endpoints supports the Gzip compression.
- org – organization name (used as a default in query and write API)
Key bool verify_ssl: Set this to false to skip verifying SSL certificate when calling API from https server.
Key str ssl_ca_cert: Set this to customize the certificate file to verify the peer.
Key str proxy: Set this to configure the http proxy to be used (ex. http://localhost:3128)
Key int connection_pool_maxsize: Number of connections to save that can be reused by urllib3. Defaults to “multiprocessing.cpu_count() * 5”.
Key urllib3.util.retry.Retry retries: Set the default retry strategy that is used for all HTTP requests except batching writes. As a default there is no one retry strategy.
Key bool auth_basic: Set this to true to enable basic authentication when talking to a InfluxDB 1.8.x that does not use auth-enabled but is protected by a reverse proxy with basic authentication. (defaults to false, don’t set to true when talking to InfluxDB 2)
Key list[str] profilers: list of enabled Flux profilers
Create the Authorizations API instance.
Returns: authorizations api
-
buckets_api
() → influxdb_client.client.bucket_api.BucketsApi[source]¶ Create the Bucket API instance.
Returns: buckets api
-
delete_api
() → influxdb_client.client.delete_api.DeleteApi[source]¶ Get the delete metrics API instance.
Returns: delete api
-
classmethod
from_config_file
(config_file: str = 'config.ini', debug=None, enable_gzip=False)[source]¶ Configure client via configuration file. The configuration has to be under ‘influx’ section.
- The supported formats:
- Configuration options:
- url
- org
- token
- timeout,
- verify_ssl
- ssl_ca_cert
- connection_pool_maxsize
- auth_basic
- profilers
config.ini example:
[influx2] url=http://localhost:8086 org=my-org token=my-token timeout=6000 connection_pool_maxsize=25 auth_basic=false profilers=query,operator [tags] id = 132-987-655 customer = California Miner data_center = ${env.data_center}
config.toml example:
[influx2] url = "http://localhost:8086" token = "my-token" org = "my-org" timeout = 6000 connection_pool_maxsize = 25 auth_basic = false profilers="query, operator" [tags] id = "132-987-655" customer = "California Miner" data_center = "${env.data_center}"
-
classmethod
from_env_properties
(debug=None, enable_gzip=False)[source]¶ Configure client via environment properties.
- Supported environment properties:
- INFLUXDB_V2_URL
- INFLUXDB_V2_ORG
- INFLUXDB_V2_TOKEN
- INFLUXDB_V2_TIMEOUT
- INFLUXDB_V2_VERIFY_SSL
- INFLUXDB_V2_SSL_CA_CERT
- INFLUXDB_V2_CONNECTION_POOL_MAXSIZE
- INFLUXDB_V2_AUTH_BASIC
-
health
() → influxdb_client.domain.health_check.HealthCheck[source]¶ Get the health of an instance.
Returns: HealthCheck
-
labels_api
() → influxdb_client.client.labels_api.LabelsApi[source]¶ Create the Labels API instance.
Returns: labels api
-
organizations_api
() → influxdb_client.client.organizations_api.OrganizationsApi[source]¶ Create the Organizations API instance.
Returns: organizations api
-
query_api
(query_options: influxdb_client.client.query_api.QueryOptions = <influxdb_client.client.query_api.QueryOptions object>) → influxdb_client.client.query_api.QueryApi[source]¶ Create a Query API instance.
Parameters: query_options – optional query api configuration Returns: Query api instance
-
ready
() → influxdb_client.domain.ready.Ready[source]¶ Get The readiness of the InfluxDB 2.0.
Returns: Ready
-
tasks_api
() → influxdb_client.client.tasks_api.TasksApi[source]¶ Create the Tasks API instance.
Returns: tasks api
-
users_api
() → influxdb_client.client.users_api.UsersApi[source]¶ Create the Users API instance.
Returns: users api
-
write_api
(write_options=<influxdb_client.client.write_api.WriteOptions object>, point_settings=<influxdb_client.client.write_api.PointSettings object>) → influxdb_client.client.write_api.WriteApi[source]¶ Create a Write API instance.
Parameters: - point_settings –
- write_options – write api configuration
Returns: write api instance
QueryApi¶
-
class
influxdb_client.
QueryApi
(influxdb_client, query_options=<influxdb_client.client.query_api.QueryOptions object>)[source]¶ Implementation for ‘/api/v2/query’ endpoint.
Initialize query client.
Parameters: influxdb_client – influxdb client -
query
(query: str, org=None, params: dict = None) → List[influxdb_client.client.flux_table.FluxTable][source]¶ Execute synchronous Flux query and return result as a List[‘FluxTable’].
Parameters: - query – the Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- params – bind parameters
Returns:
-
query_csv
(query: str, org=None, dialect: influxdb_client.domain.dialect.Dialect = {'annotations': ['datatype', 'group', 'default'], 'comment_prefix': '#', 'date_time_format': 'RFC3339', 'delimiter': ',', 'header': True}, params: dict = None)[source]¶ Execute the Flux query and return results as a CSV iterator. Each iteration returns a row of the CSV file.
Parameters: - query – a Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- dialect – csv dialect format
- params – bind parameters
Returns: The returned object is an iterator. Each iteration returns a row of the CSV file (which can span multiple input lines).
-
query_data_frame
(query: str, org=None, data_frame_index: List[str] = None, params: dict = None)[source]¶ Execute synchronous Flux query and return Pandas DataFrame.
Note that if a query returns more then one table than the client generates a DataFrame for each of them.
Parameters: - query – the Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- data_frame_index – the list of columns that are used as DataFrame index
- params – bind parameters
Returns:
-
query_data_frame_stream
(query: str, org=None, data_frame_index: List[str] = None, params: dict = None)[source]¶ Execute synchronous Flux query and return stream of Pandas DataFrame as a Generator[‘pd.DataFrame’].
Note that if a query returns more then one table than the client generates a DataFrame for each of them.
Parameters: - query – the Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- data_frame_index – the list of columns that are used as DataFrame index
- params – bind parameters
Returns:
-
query_raw
(query: str, org=None, dialect={'annotations': ['datatype', 'group', 'default'], 'comment_prefix': '#', 'date_time_format': 'RFC3339', 'delimiter': ',', 'header': True}, params: dict = None)[source]¶ Execute synchronous Flux query and return result as raw unprocessed result as a str.
Parameters: - query – a Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- dialect – csv dialect format
- params – bind parameters
Returns: str
-
query_stream
(query: str, org=None, params: dict = None) → Generator[[influxdb_client.client.flux_table.FluxRecord, Any], None][source]¶ Execute synchronous Flux query and return stream of FluxRecord as a Generator[‘FluxRecord’].
Parameters: - query – the Flux query
- org – organization name (optional if already specified in InfluxDBClient)
- params – bind parameters
Returns:
-
WriteApi¶
-
class
influxdb_client.
WriteApi
(influxdb_client, write_options: influxdb_client.client.write_api.WriteOptions = <influxdb_client.client.write_api.WriteOptions object>, point_settings: influxdb_client.client.write_api.PointSettings = <influxdb_client.client.write_api.PointSettings object>)[source]¶ Implementation for ‘/api/v2/write’ endpoint.
Initialize defaults.
-
write
(bucket: str, org: str = None, record: Union[str, Iterable[str], influxdb_client.client.write.point.Point, Iterable[Point], dict, Iterable[dict], bytes, Iterable[bytes], rx.core.observable.observable.Observable] = None, write_precision: influxdb_client.domain.write_precision.WritePrecision = 'ns', **kwargs) → Any[source]¶ Write time-series data into InfluxDB.
Parameters: - org (str) – specifies the destination organization for writes; take either the ID or Name interchangeably; if both orgID and org are specified, org takes precedence. (required)
- bucket (str) – specifies the destination bucket for writes (required)
- write_precision (WritePrecision) – specifies the precision for the unix timestamps within the body line-protocol. The precision specified on a Point has precedes and is use for write.
- record – Points, line protocol, Pandas DataFrame, RxPY Observable to write
Key data_frame_measurement_name: name of measurement for writing Pandas DataFrame
Key data_frame_tag_columns: list of DataFrame columns which are tags, rest columns will be fields
-
BucketsApi¶
-
class
influxdb_client.
BucketsApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/buckets’ endpoint.
Initialize defaults.
-
create_bucket
(bucket=None, bucket_name=None, org_id=None, retention_rules=None, description=None) → influxdb_client.domain.bucket.Bucket[source]¶ Create a bucket.
Parameters: - bucket (Bucket) – bucket to create (required)
- bucket_name – bucket name
- description – bucket description
- org_id – org_id
- bucket_name – bucket name
- retention_rules – retention rules array or single BucketRetentionRules
Returns: Bucket If the method is called asynchronously, returns the request thread.
-
delete_bucket
(bucket)[source]¶ Delete a bucket.
Parameters: bucket – bucket id or Bucket Returns: Bucket If the method is called asynchronously, returns the request thread.
-
find_bucket_by_name
(bucket_name)[source]¶ Find bucket by name.
Parameters: bucket_name – bucket name Returns: Bucket
-
find_buckets
(**kwargs)[source]¶ List buckets.
Key int offset: Offset for pagination Key int limit: Limit for pagination Key str after: The last resource ID from which to seek from (but not including). This is to be used instead of offset. Key str org: The organization name. Key str org_id: The organization ID. Key str name: Only returns buckets with a specific name. Returns: Buckets
-
-
class
influxdb_client.domain.
Bucket
(links=None, id=None, type='user', name=None, description=None, org_id=None, rp=None, schema_type=None, created_at=None, updated_at=None, retention_rules=None, labels=None)[source]¶ NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Bucket - a model defined in OpenAPI.
-
created_at
¶ Get the created_at of this Bucket.
Returns: The created_at of this Bucket. Return type: datetime
-
description
¶ Get the description of this Bucket.
Returns: The description of this Bucket. Return type: str
-
links
¶ Get the links of this Bucket.
Returns: The links of this Bucket. Return type: BucketLinks
-
retention_rules
¶ Get the retention_rules of this Bucket.
Rules to expire or retain data. No rules means data never expires.
Returns: The retention_rules of this Bucket. Return type: list[BucketRetentionRules]
-
schema_type
¶ Get the schema_type of this Bucket.
Returns: The schema_type of this Bucket. Return type: SchemaType
-
updated_at
¶ Get the updated_at of this Bucket.
Returns: The updated_at of this Bucket. Return type: datetime
-
LabelsApi¶
-
class
influxdb_client.
LabelsApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/labels’ endpoint.
Initialize defaults.
-
clone_label
(cloned_name: str, label: influxdb_client.domain.label.Label) → influxdb_client.domain.label.Label[source]¶ Create the new instance of the label as a copy existing label.
Parameters: - cloned_name – new label name
- label – existing label
Returns: clonned Label
-
create_label
(name: str, org_id: str, properties: Dict[str, str] = None) → influxdb_client.domain.label.Label[source]¶ Create a new label.
Parameters: - name – label name
- org_id – organization id
- properties – optional label properties
Returns: created label
-
delete_label
(label: Union[str, influxdb_client.domain.label.Label])[source]¶ Delete the label.
Parameters: label – label id or Label
-
find_label_by_id
(label_id: str)[source]¶ Retrieve the label by id.
Parameters: label_id – Returns: Label
-
find_label_by_org
(org_id) → List[influxdb_client.domain.label.Label][source]¶ Get the list of all labels for given organization.
Parameters: org_id – organization id Returns: list of labels
-
OrganizationsApi¶
-
class
influxdb_client.
OrganizationsApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/orgs’ endpoint.
Initialize defaults.
-
create_organization
(name: str = None, organization: influxdb_client.domain.organization.Organization = None) → influxdb_client.domain.organization.Organization[source]¶ Create an organization.
-
find_organizations
(**kwargs)[source]¶ List all organizations.
Key int offset: Offset for pagination Key int limit: Limit for pagination Key bool descending: Key str org: Filter organizations to a specific organization name. Key str org_id: Filter organizations to a specific organization ID. Key str user_id: Filter organizations to a specific user ID.
-
-
class
influxdb_client.domain.
Organization
(links=None, id=None, name=None, description=None, created_at=None, updated_at=None, status='active')[source]¶ NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Organization - a model defined in OpenAPI.
-
created_at
¶ Get the created_at of this Organization.
Returns: The created_at of this Organization. Return type: datetime
-
description
¶ Get the description of this Organization.
Returns: The description of this Organization. Return type: str
-
links
¶ Get the links of this Organization.
Returns: The links of this Organization. Return type: OrganizationLinks
-
status
¶ Get the status of this Organization.
If inactive the organization is inactive.
Returns: The status of this Organization. Return type: str
-
updated_at
¶ Get the updated_at of this Organization.
Returns: The updated_at of this Organization. Return type: datetime
-
UsersApi¶
-
class
influxdb_client.
UsersApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/users’ endpoint.
Initialize defaults.
-
class
influxdb_client.domain.
User
(id=None, oauth_id=None, name=None, status='active')[source]¶ NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
User - a model defined in OpenAPI.
TasksApi¶
-
class
influxdb_client.
TasksApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/tasks’ endpoint.
Initialize defaults.
-
add_label
(label_id: str, task_id: str) → influxdb_client.domain.label_response.LabelResponse[source]¶ Add a label to a task.
-
cancel_run
(task_id: str, run_id: str)[source]¶ Cancel a currently running run.
Parameters: - task_id –
- run_id –
-
clone_task
(task: influxdb_client.domain.task.Task) → influxdb_client.domain.task.Task[source]¶ Clone a task.
-
create_task
(task: influxdb_client.domain.task.Task = None, task_create_request: influxdb_client.domain.task_create_request.TaskCreateRequest = None) → influxdb_client.domain.task.Task[source]¶ Create a new task.
-
create_task_cron
(name: str, flux: str, cron: str, org_id: str) → influxdb_client.domain.task.Task[source]¶ Create a new task with cron repetition schedule.
-
create_task_every
(name, flux, every, organization) → influxdb_client.domain.task.Task[source]¶ Create a new task with every repetition schedule.
-
find_tasks
(**kwargs)[source]¶ List all tasks.
Key str name: only returns tasks with the specified name Key str after: returns tasks after specified ID Key str user: filter tasks to a specific user ID Key str org: filter tasks to a specific organization name Key str org_id: filter tasks to a specific organization ID Key int limit: the number of tasks to return Returns: Tasks
-
get_logs
(task_id: str) → List[influxdb_client.domain.log_event.LogEvent][source]¶ Retrieve all logs for a task.
Parameters: task_id – task id
-
get_run
(task_id: str, run_id: str) → influxdb_client.domain.run.Run[source]¶ Get run record for specific task and run id.
Parameters: - task_id – task id
- run_id – run id
Returns: Run for specified task and run id
-
get_run_logs
(task_id: str, run_id: str) → List[influxdb_client.domain.log_event.LogEvent][source]¶ Retrieve all logs for a run.
-
get_runs
(task_id, **kwargs) → List[influxdb_client.domain.run.Run][source]¶ Retrieve list of run records for a task.
Parameters:
-
retry_run
(task_id: str, run_id: str)[source]¶ Retry a task run.
Parameters: - task_id – task id
- run_id – run id
-
run_manually
(task_id: str, scheduled_for: <module 'datetime' from '/home/docs/.pyenv/versions/3.6.12/lib/python3.6/datetime.py'> = None)[source]¶ Manually start a run of the task now overriding the current schedule.
Parameters: - task_id –
- scheduled_for – planned execution
-
-
class
influxdb_client.domain.
Task
(id=None, type=None, org_id=None, org=None, name=None, description=None, status=None, labels=None, authorization_id=None, flux=None, every=None, cron=None, offset=None, latest_completed=None, last_run_status=None, last_run_error=None, created_at=None, updated_at=None, links=None)[source]¶ NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
Task - a model defined in OpenAPI.
Get the authorization_id of this Task.
The ID of the authorization used when this task communicates with the query engine.
Returns: The authorization_id of this Task. Return type: str
-
created_at
¶ Get the created_at of this Task.
Returns: The created_at of this Task. Return type: datetime
-
cron
¶ Get the cron of this Task.
A task repetition schedule in the form ‘* * * * * *’; parsed from Flux.
Returns: The cron of this Task. Return type: str
-
description
¶ Get the description of this Task.
An optional description of the task.
Returns: The description of this Task. Return type: str
-
every
¶ Get the every of this Task.
A simple task repetition schedule; parsed from Flux.
Returns: The every of this Task. Return type: str
-
flux
¶ Get the flux of this Task.
The Flux script to run for this task.
Returns: The flux of this Task. Return type: str
-
last_run_error
¶ Get the last_run_error of this Task.
Returns: The last_run_error of this Task. Return type: str
-
last_run_status
¶ Get the last_run_status of this Task.
Returns: The last_run_status of this Task. Return type: str
-
latest_completed
¶ Get the latest_completed of this Task.
Timestamp of latest scheduled, completed run, RFC3339.
Returns: The latest_completed of this Task. Return type: datetime
-
links
¶ Get the links of this Task.
Returns: The links of this Task. Return type: TaskLinks
-
name
¶ Get the name of this Task.
The name of the task.
Returns: The name of this Task. Return type: str
-
offset
¶ Get the offset of this Task.
Duration to delay after the schedule, before executing the task; parsed from flux, if set to zero it will remove this option and use 0 as the default.
Returns: The offset of this Task. Return type: str
-
org
¶ Get the org of this Task.
The name of the organization that owns this Task.
Returns: The org of this Task. Return type: str
-
org_id
¶ Get the org_id of this Task.
The ID of the organization that owns this Task.
Returns: The org_id of this Task. Return type: str
-
status
¶ Get the status of this Task.
Returns: The status of this Task. Return type: TaskStatusType
-
type
¶ Get the type of this Task.
The type of task, this can be used for filtering tasks on list actions.
Returns: The type of this Task. Return type: str
-
updated_at
¶ Get the updated_at of this Task.
Returns: The updated_at of this Task. Return type: datetime
DeleteApi¶
-
class
influxdb_client.
DeleteApi
(influxdb_client)[source]¶ Implementation for ‘/api/v2/delete’ endpoint.
Initialize defaults.
-
delete
(start: <module 'datetime' from '/home/docs/.pyenv/versions/3.6.12/lib/python3.6/datetime.py'>, stop: object, predicate: object, bucket: str, org: str) → None[source]¶ Delete Time series data from InfluxDB.
Parameters: - start – start time
- stop – stop time
- predicate – predicate
- bucket – bucket id or name from which data will be deleted
- org – organization id or name
Returns:
-
-
class
influxdb_client.domain.
DeletePredicateRequest
(start=None, stop=None, predicate=None)[source]¶ NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
DeletePredicateRequest - a model defined in OpenAPI.
-
predicate
¶ Get the predicate of this DeletePredicateRequest.
InfluxQL-like delete statement
Returns: The predicate of this DeletePredicateRequest. Return type: str
-
start
¶ Get the start of this DeletePredicateRequest.
RFC3339Nano
Returns: The start of this DeletePredicateRequest. Return type: datetime
-
stop
¶ Get the stop of this DeletePredicateRequest.
RFC3339Nano
Returns: The stop of this DeletePredicateRequest. Return type: datetime
-