mirror of
https://github.com/thousandeyes/thousandeyes-sdk-python.git
synced 2025-12-06 16:05:30 +00:00
157 lines
8.3 KiB
Markdown
157 lines
8.3 KiB
Markdown
# thousandeyes-sdk-streaming
|
|
ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry.
|
|
|
|
ThousandEyes for OTel is made up of the following components:
|
|
|
|
* Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams,
|
|
in particular to configure how ThousandEyes telemetry data is exported to client integrations.
|
|
* A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional
|
|
detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs.
|
|
* Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client
|
|
configuration.
|
|
|
|
For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry).
|
|
|
|
|
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
|
|
- API version: 7.0.15
|
|
- Generator version: 7.6.0
|
|
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
|
|
|
|
## Requirements.
|
|
|
|
Python 3.8+
|
|
|
|
## Installation & Usage
|
|
### pip install
|
|
|
|
Install directly via PyPi:
|
|
|
|
```sh
|
|
pip install thousandeyes-sdk-streaming
|
|
```
|
|
(you may need to run `pip` with root permission: `sudo pip install thousandeyes-sdk-streaming`)
|
|
|
|
Then import the package:
|
|
```python
|
|
import thousandeyes_sdk.streaming
|
|
```
|
|
|
|
### Setuptools
|
|
|
|
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
|
|
|
|
```sh
|
|
python setup.py install --user
|
|
```
|
|
(or `sudo python setup.py install` to install the package for all users)
|
|
|
|
Then import the package:
|
|
```python
|
|
import thousandeyes_sdk.streaming
|
|
```
|
|
|
|
### Tests
|
|
|
|
Execute `pytest` to run the tests.
|
|
|
|
## Getting Started
|
|
|
|
Please follow the installation procedure and then run the following:
|
|
|
|
```python
|
|
|
|
import thousandeyes_sdk.core
|
|
import thousandeyes_sdk.streaming
|
|
from thousandeyes_sdk.core.exceptions import ApiException
|
|
from pprint import pprint
|
|
|
|
# Defining the host is optional and defaults to https://api.thousandeyes.com/v7
|
|
# See configuration.py for a list of all supported configuration parameters.
|
|
configuration = thousandeyes_sdk.core.Configuration(
|
|
host = "https://api.thousandeyes.com/v7"
|
|
)
|
|
|
|
# The client must configure the authentication and authorization parameters
|
|
# in accordance with the API server security policy.
|
|
# Examples for each auth method are provided below, use the example that
|
|
# satisfies your auth use case.
|
|
|
|
# Configure Bearer authorization: BearerAuth
|
|
configuration = thousandeyes_sdk.core.Configuration(
|
|
access_token = os.environ["BEARER_TOKEN"]
|
|
)
|
|
|
|
|
|
# Enter a context with an instance of the API client
|
|
with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
|
|
# Create an instance of the API class
|
|
api_instance = thousandeyes_sdk.streaming.StreamingApi(api_client)
|
|
aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional)
|
|
stream = thousandeyes_sdk.streaming.Stream() # Stream | Stream to configure (optional)
|
|
|
|
try:
|
|
# Create data stream
|
|
api_response = api_instance.create_stream(aid=aid, stream=stream)
|
|
print("The response of StreamingApi->create_stream:\n")
|
|
pprint(api_response)
|
|
except ApiException as e:
|
|
print("Exception when calling StreamingApi->create_stream: %s\n" % e)
|
|
|
|
```
|
|
|
|
## Documentation for API Endpoints
|
|
|
|
All URIs are relative to *https://api.thousandeyes.com/v7*
|
|
|
|
Class | Method | HTTP request | Description
|
|
------------ | ------------- | ------------- | -------------
|
|
*StreamingApi* | [**create_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#create_stream) | **POST** /stream | Create data stream
|
|
*StreamingApi* | [**delete_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#delete_stream) | **DELETE** /stream/{id} | Delete a data stream
|
|
*StreamingApi* | [**get_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_stream) | **GET** /stream/{id} | Retrieve data stream
|
|
*StreamingApi* | [**get_streams**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_streams) | **GET** /stream | List data streams
|
|
*StreamingApi* | [**update_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#update_stream) | **PUT** /stream/{id} | Update data stream
|
|
|
|
|
|
## Documentation For Models
|
|
|
|
- [ApiError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ApiError.md)
|
|
- [ApiErrorIntegrationLimits](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ApiErrorIntegrationLimits.md)
|
|
- [AuditOperation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/AuditOperation.md)
|
|
- [AuditOperationWithUpdate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/AuditOperationWithUpdate.md)
|
|
- [BadRequestError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/BadRequestError.md)
|
|
- [CreateStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md)
|
|
- [DataModelVersion](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/DataModelVersion.md)
|
|
- [EndpointType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointType.md)
|
|
- [GetStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/GetStreamResponse.md)
|
|
- [PutStream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/PutStream.md)
|
|
- [Stream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/Stream.md)
|
|
- [StreamLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamLinks.md)
|
|
- [StreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamResponse.md)
|
|
- [StreamSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamSelfLink.md)
|
|
- [StreamType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamType.md)
|
|
- [TagMatch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TagMatch.md)
|
|
- [TagMatchObjectType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TagMatchObjectType.md)
|
|
- [TestMatch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatch.md)
|
|
- [TestMatchDomain](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/TestMatchDomain.md)
|
|
- [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/UnauthorizedError.md)
|
|
|
|
|
|
<a id="documentation-for-authorization"></a>
|
|
## Documentation For Authorization
|
|
|
|
|
|
Authentication schemes defined for the API:
|
|
<a id="BearerAuth"></a>
|
|
### BearerAuth
|
|
|
|
- **Type**: Bearer authentication
|
|
|
|
|
|
## Author
|
|
|
|
<a href="mailto:api-team@thousandeyes.com">ThousandEyes API Team </a>
|
|
|
|
|