Managing Streams
A stream is a logical entity created through the Stream Management APIs. It allows you to organize telemetry data from resources that share the same set of subscriptions.
Limitations
Streams have the following limitations:
-
There is a limit of 5 streams per Project.
-
You can only attach one Organization to a Stream.
-
You can only attach 5 Project assets to a Stream.
-
You can create up to 3 subscriptions per Stream. Each subscription must be for a different sink.
-
You can attach 50 assets per Stream.
-
You can create up to 50 Metrics Alert Rules per Stream.
Prerequisites
-
To use Observability APIs to create streams, you must have the
Fabric Stream Subscription Manager
(STREAM_SUBSCRIPTION PERMISSION CREATE AND READ) role. Contact your Company Administrator or IAM Administrator to mange access and roles. -
Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for more information on how to authenticate your requests to the Equinix API.
Creating Streams
Once your Assets are created, you will need to create a Stream to manage these Assets. Send a POST
request to the /fabric/v4/streams
endpoint to create a Stream.
Sample cURL request:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "TELEMETRY_STREAM",
"name": "splunk1",
"description": "subscription 1",
"project": {
"projectId": "<projectId>"
}
}'
Sample Response:
{
"uuid": "241372e9-79c9-4ef8-b77a-8b8176c2098b4",
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4",
"type": "TELEMETRY_STREAM",
"name": "splunk1",
"description": "subscription 1",
"project": {
"projectId": "<projectId>"
},
"enabled": true,
"state": "PROVISIONING",
"assetsCount": 0,
"streamSubscriptionsCount": 0,
"changelog": {
"createdBy": "testuser",
"createdDateTime": "2024-08-12T21:14:17.689103902Z"
}
}
Retrieving Streams
To get the details of a Stream, send a GET
request to the /fabric/v4/streams/{stream_id}
endpoint.
Sample cURL Request:
curl -X 'GET' 'https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c2098b4' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'
Sample Response:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4",
"uuid": "241372e9-79c9-4ef8-b77a-8b8176c2098b4",
"type": "STREAM_SUSBSCRIPTION",
"name": "splunk1",
"description": "subscription 1",
"project": {
"projectId": "<projectId>"
},
"enabled": true,
"state": "PROVISIONED",
"changelog": {
"createdBy": "testuser",
"createdDateTime": "2024-08-12T21:14:17.689104Z"
}
}
Deleting Streams
To delete a stream, send a DELETE
request to the /fabric/v4/streams/{stream_id}
endpoint.
Sample cURL Request:
curl -X 'DELETE' 'https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c2098b4' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'