Managing Streams
A stream is a logical entity created through the Stream Management APIs. It allows you to organize telemetry data from assets that share the same set of subscriptions.
-
Create a Stream
-
Subscribe to the Stream.
-
Attach assets to the Stream.
-
(Optional) Create alert rules to define specific conditions for triggering notifications or actions based on metrics and event data.
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 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
- Portal
- API
-
Log in to the Customer Portal > Fabric Dashboard.
-
From the Observability menu, select Data Streams.
-
In the Data Stream Details, give your stream a name. Optionally, add a description. The Project ID is auto-populated with your current Project ID. Use the Context Switcher to change Projects.
-
Click Create Data Stream.
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"
}
}
Viewing Your Streams
- Portal
- API
-
Log in to the Customer Portal > Fabric Dashboard.
-
From the Observability menu, select Data Streams.
The table lists your data streams, their status, how many subscriptions there are to the stream, and how many resources you added to the stream.
Click on a Stream Name to view its Stream Details page, which contains your stream's description and Activity Log.
The Subscriptions tab contains the Subscription List for subscriptions to this stream, and the Resources tab contains the Resources List for the resources added to this stream.
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
- Portal
- API
To delete a stream, click on a Stream Name to view its Stream Details page. From the Actions drop-down, click Delete Data Stream.
In the confirmation box, click Yes, Delete.
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>'