Ingest from the Cloud SDK
Ingestion with the Cloud SDK
The primary way of ingesting arbitrary data that is not via the Formant agent is with the Cloud SDK, a lightweight Python module which can interact with the Formant ingestion API directly. It can be installed with pip3 install formant
.
Why use the Cloud SDK?
There are many good reasons to use the Formant agent for most of your ingested data: the agent provides buffering logic, has many automatic ingestion capabilities, has ROS capabilities, integrates with several adapters, and provides default telemetry streams.
Still, sometimes you may want to ingest directly without requiring an agent. The ingest
method of the Formant Cloud SDK is a good option in those situations.
See the full guide on Ingesting telemetry without an agent.
Example of ingestion with the Formant Cloud SDK
from formant.sdk.cloud.v1 import Client as FormantClient
if __name__ == "__main__":
# to authenticate set FORMANT_EMAIL and FORMANT_PASSWORD
# environment variables for an existing service account
# NOTE: the account must have administrator access to ingest data
fclient = FormantClient()
device_id = "572f5ff3-63e9-4687-b242-c0d8a4891d80"
timestamp = 1609804800000
tags = {"location": "sf"}
# Ingest numeric data
ingest_result = fclient.ingest(
{
"items": [
{
"deviceId": device_id,
"name": "engine_temp",
"type": "numeric",
"tags": tags,
"points": [[timestamp, 100]],
}
]
}
)
Updated about 1 year ago