Gestion des abonnements
Utilisez les API de gestion des abonnements pour gérer la livraison des données de télémétrie à votre collecteur de données.
Conditions préalables
-
Avant d'appeler les API de gestion des abonnements, consultez Configuration du collecteur de données pour configurer un type de récepteur de votre choix.
-
Pour créer des abonnements, vous devez disposer du rôle « Gestionnaire d'abonnements Fabric Stream » (autorisation STREAM_SUBSCRIPTION CREATE AND READ). Contactez votre administrateur d'entreprise ou votre administrateur IAM pour gérer les accès et les rôles.
-
Si vous utilisez l'API, veuillez fournir vos identifiants utilisateur, votre identifiant client et votre clé secrète client pour l'authentification OAuth2. Consultez la section Authentification API pour plus d'informations sur l'authentification de vos requêtes auprès de l'API Equinix.
Créer un abonnement
- Portal
- API
Le portail prend en charge la création et la gestion des abonnements à Splunk, Datadog, Microsoft Teams et PagerDuty.
-
Connectez-vous au [Portail client > Tableau de bord en tissu.
-
Dans le menu Observabilité, sélectionnez Flux de données.

-
Dans le menu déroulant Actions, sélectionnez Ajouter des abonnements.

-
Sélectionnez le collecteur de données pour votre abonnement dans le menu déroulant. Consultez les exemples ci-dessous pour connaître les collecteurs de données pris en charge.
Pour créer un abonnement, envoyez une requête POST au point de terminaison /fabric/v4/streams/<streamId>/subscriptions. Spécifiez l'ID du flux dans l'objet stream et les paramètres et informations d'authentification de votre collecteur de données dans l'objet sink du corps de la requête.
Reportez-vous aux exemples ci-dessous pour créer un abonnement de flux pour les collecteurs de données pris en charge.
Les valeurs URI/hôte de l'API d'abonnement prennent uniquement en charge HTTPS et ne prennent pas en charge les certificats auto-signés.
Datadog
- Portal
- API
Sur la page « Ajouter un abonnement », entrez vos renseignements sur Datadog, notamment:
- un nom d'abonnement
- votre URL d'hôte Datadog
- votre clé API Datadog
- votre clé d'application Datadog
- et fournir une description (facultatif)

Utilisez [le tableau de référence du site Datadog pour trouver votre paramètre de site pour le paramètre sink.host.
Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<datadog_subscription_name>",
"description": "<datadog_subscription_desc>",
"sink": {
"host": "https://<datadog_site_parameter>",
"type": "DATADOG",
"credential": {
"type": "API_KEY",
"apiKey": "<datadog_api_key>"
},
"settings": {
"applicationKey": "<datadog_application_key>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/1a39648d-c407-4470-b08b-454965f31bf4",
"uuid": "1a39648d-c407-4470-b08b-454965f31bf4",
"type": "STREAM_SUBSCRIPTION",
"name": "datadog_subscription",
"description": "datadog_subscription_desc",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"host": "https://<datadog_site_parameter>",
"type": "DATADOG",
"credential": {
"type": "API_KEY",
"apiKey": "<encrypted_datadog_api_key>"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"metricUri": "https://<datadog_site_parameter>/api/v2/series",
"eventUri": "https://<datadog_site_parameter>/api/v1/events"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-10-07T06:48:45.861755Z",
"updatedDateTime": "2024-10-07T06:48:51.514474Z"
}
}
Google PubSub
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations Google Cloud PubSub, notamment:
- Nom de l'abonnement
- Jeton d'accès Google Cloud PubSub
- URI d'abonnement Google Cloud PubSub
- Et fournissez une description (facultatif)

curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<gcp_pubsub_subscription_name>",
"description": "<gcp_pubsub_subscription_desc>",
"sink": {
"uri": "https://pubsub.googleapis.com/v1/projects/<gcp_project_name>/topics/<gcp_topic_name>:publish",
"type": "GOOGLE_PUBSUB",
"credential": {
"type": "ACCESS_TOKEN",
"accessToken": "<encoded_base64_service_account_json>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/12190e7d-a486-4a77-ba56-fecdab616837",
"uuid": "12190e7d-a486-4a77-ba56-fecdab616837",
"type": "STREAM_SUBSCRIPTION",
"name": "<gcp_pubsub_subscription_name>",
"description": "<gcp_pubsub_subscription_desc>",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"uri": "https://pubsub.googleapis.com/v1/projects/<gcp_project_name>/topics/<gcp_topic_name>:publish",
"type": "GOOGLE_PUBSUB",
"credential": {
"type": "ACCESS_TOKEN"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2025-04-28T21:23:02.006057019Z"
}
}
Webhook Grafana
Le webhook Grafana ne prend en charge que le format Open Telemetry.
- Portal
- API
Sur la page « Ajouter un abonnement », entrez vos informations Grafana, notamment:
- Nom de l'abonnement.
- L'URI des métriques Grafana.
- L'URI des événements Grafana.
- Votre clé API Grafana.
- Description facultative.

Exemple de requête cURL:
curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<webhook_subscription_name>",
"description": "<webhook_subscription_desc>",
"enabled": true,
"sink": {
"type": "WEBHOOK"
"settings": {
"eventUri": "https://<grafana_oltp_endpoint>/otlp/v1/logs",
"metricUri": "https://<grafana_oltp_endpoint>/otlp/v1/metrics",
"format": "OPENTELEMETRY"
},
"credential": {
"type": "API_KEY",
"apiKey": "<granfana_instance_id>:<grafana_api_key>",
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/1a39648d-c407-4470-b08b-454965f31bf4",
"uuid": "1a39648d-c407-4470-b08b-454965f31bf4",
"type": "STREAM_SUBSCRIPTION",
"name": "datadog_subscription",
"description": "datadog_subscription_desc",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"host": "https://<datadog_site_parameter>",
"type": "DATADOG",
"credential": {
"type": "API_KEY",
"apiKey": "<encrypted_datadog_api_key>"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"metricUri": "https://<datadog_site_parameter>/api/v2/series",
"eventUri": "https://<datadog_site_parameter>/api/v1/events"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-10-07T06:48:45.861755Z",
"updatedDateTime": "2024-10-07T06:48:51.514474Z"
}
}
Microsoft Teams
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations Microsoft Teams, notamment:
- un nom d'abonnement
- votre URI de webhook Microsoft Workflow
- et fournir une description (facultatif)

Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<ms_teams_subscription>",
"description": "<ms_teams_subscription_desc>",
"sink": {
"uri": "<teams_webhook_uri>",
"type": "TEAMS"
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/12190e7d-a486-4a77-ba56-fecdab616837",
"uuid": "12190e7d-a486-4a77-ba56-fecdab616837",
"type": "STREAM_SUBSCRIPTION",
"name": "ms_teams_subscription",
"description": "ms_teams_subscription_desc",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"uri": "****",
"type": "TEAMS",
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-10-04T13:20:40.127727Z"
}
}
PagerDuty
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations PagerDuty, notamment:
- un nom d'abonnement
- votre URL d'hôte PagerDuty
- votre clé d'intégration PagerDuty
- et fournir une description (facultatif)

Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<pagerduty_subscription_name>",
"description": "<pagerduty_subscription_desc>",
"sink": {
"host": "https://events.pagerduty.com",
"type": "PAGERDUTY",
"credential": {
"type": "INTEGRATION_KEY",
"integrationKey": "<pagerduty_integration_key>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/dae0726a-87f0-4c5f-8662-ccbcf44a0de2",
"uuid": "dae0726a-87f0-4c5f-8662-ccbcf44a0de2",
"type": "STREAM_SUBSCRIPTION",
"name": "pagerduty-subscription",
"description": "pagerduty-subscription-desc",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"host": "https://events.pagerduty.com",
"type": "PAGERDUTY",
"credential": {
"type": "INTEGRATION_KEY",
"integrationKey": "<encrypted_integration_key>"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"source": "equinix",
"changeUri": "https://events.pagerduty.com/v2/change/enqueue",
"alertUri": "https://events.pagerduty.com/v2/enqueue"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-09-18T22:04:58.664523Z"
}
}
ServiceNow
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations ServiceNow, notamment:
- Nom de l'abonnement.
- URL de l'hôte ServiceNow.
- Votre nom d'utilisateur ServiceNow.
- Votre mot de passe ServiceNow.
- Description facultative.

Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<servicenow_subscription_name>",
"description": "<servicenow_subscription_desc>",
"sink": {
"host": "https://<host>.service-now.com",
"type": "SERVICENOW",
"settings": {
"source": "<source_name>"
},
"credential": {
"type": "USERNAME_PASSWORD",
"username": "<servicenow-username>",
"password": "<servicenow-password>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/9b503760-b30f-4eb8-a681-aab1cfa9db1f",
"uuid": "9b503760-b30f-4eb8-a681-aab1cfa9db1f",
"type": "STREAM_SUBSCRIPTION",
"name": "servnow_subscription",
"description": "servnow_subscription_desc",
"state": "PROVISIONING",
"enabled": true,
"sink": {
"host": "https://<host>.service-now.com",
"type": "SERVICENOW",
"credential": {
"type": "USERNAME_PASSWORD"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"source": "source_name",
"metricUri": "https://<host>.service-now.com/api/mid/sa/metrics",
"eventUri": "https://<host>.service-now.com/api/global/em/jsonv2"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2025-01-22T18:09:20.894582046Z"
}
}
Slack
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations Slack, notamment:
- Nom de l'abonnement
- URI d'abonnement
- Description (facultatif)

Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<slack_subscription_name>",
"description": "<slack_subscription_desc>",
"sink": {
"uri": "<slack_webhook_uri>",
"type": "SLACK"
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/12190e7d-a486-4a77-ba56-fecdab616837",
"uuid": "12190e7d-a486-4a77-ba56-fecdab616837",
"type": "STREAM_SUBSCRIPTION",
"name": "slack_subscription",
"description": "slack_subscription_desc",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"uri": "****",
"type": "SLACK",
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-10-04T13:20:40.127727Z"
}
}
Splunk
- Portal
- API
Sur la page Ajouter un abonnement, entrez vos informations Splunk, notamment:
- un nom d'abonnement
- votre URI de collecteur d'événements HTTP Splunk
- votre jeton d'accès Splunk
- votre index d'événements Splunk (obligatoire)
- votre indice de métriques Splunk, si vous prévoyez d'ingérer des métriques dans Splunk
- et fournir une description (facultatif)

Exemple de requête cURL:
curl -X 'POST' 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<splunk_subscription_name>",
"description": "<splunk_subscription_desc>",
"sink": {
"uri": "https://http-inputs-<host>.splunkcloud.com:<port>/services/collector/event"
"type": "SPLUNK_HEC",
"settings": {
"eventIndex": "<name_of_eventIndex>",
"metricIndex": "<name_of_metricIndex>",
"source": "<name_of_splunk_hec>"
},
"credential": {
"type": "ACCESS_TOKEN",
"accessToken": "Splunk <Splunk AccessToken>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/958a9854-dc49-4ded-87bd-be4d0099355e",
"uuid": "958a9854-dc49-4ded-87bd-be4d0099355e",
"type": "STREAM_SUBSCRIPTION",
"name": "eq-splunk ",
"description": "subscription1",
"state": "PROVISIONING",
"enabled": true,
"sink": {
"uri": "https://http-inputs-<host>.splunkcloud.com:<port>/services/collector/event",
"type": "SPLUNK_HEC",
"credential": {
"type": "ACCESS_TOKEN"
},
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"eventIndex": "<name_of_eventIndex>",
"metricIndex": "<name_of_metricIndex>",
"source": "<name_of_splunk_hec>"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-08-12T21:49:21.761029359Z"
}
}
Webhook générique
Créez un abonnement à un service webhook générique pour les événements et les métriques. Spécifiez le type de destination comme étant un webhook.
Vous devez inclure un URI d'événement ou un URI de métrique. Pour diffuser à la fois des événements et des métriques, vous devez fournir les deux URI. Si vous ne fournissez qu'un seul de ces champs, seules les données correspondantes (événements ou métriques) seront envoyées à la plateforme de destination.
- Portal
- API
Sur la page Ajouter un abonnement, entrez les informations relatives à votre webhook, notamment:
- Nom de l'abonnement
- Choisissez le format CloudEvent ou le format Open Telemetry pour vos données en flux continu.
- L'URI de l'événement
- L'URI métrique
- Sélectionnez un type d'authentification parmi les options suivantes: Aucune authentification, Nom d'utilisateur/Mot de passe, Jeton d'accès ou Clé API. Entrez les renseignements requis dans les champs prévus à cet effet.
- Et fournissez une description (facultatif).

Exemple de requête cURL:
curl -X POST 'https://api.equinix.com/fabric/v4/streams/<streamId>/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>' \
-d '{
"type": "STREAM_SUBSCRIPTION",
"name": "<webhook_subscription_name>",
"description": "<webhook_subscription_desc>",
"enabled": true,
"sink": {
"type": "WEBHOOK",
"settings": {
"eventUri": "<webhook_uri>",
"metricUri": "<webhook_uri>",
"format": "<format>"
}
}
}'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/12190e7d-a486-4a77-ba56-fecdab616837",
"uuid": "12190e7d-a486-4a77-ba56-fecdab616837",
"type": "STREAM_SUBSCRIPTION",
"name": "<webhook_subscription_name>",
"description": "<webhook_subscription_desc>",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"type": "WEBHOOK",
"batchEnabled": false,
"batchSizeMax": 50,
"batchWaitTimeMax": 5,
"settings": {
"eventUri": "<webhook_uri>",
"format": "CLOUDEVENT"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2025-04-30T15:31:34.528915714Z"
}
}
Affichage d'un abonnement
- Portal
- API
-
Dans le menu Observabilité, cliquez sur Flux de données.
-
Sélectionnez un flux dans l'Inventaire des flux_.

-
Sur la page Détails du flux, cliquez sur Abonnements.

Pour récupérer les détails d'un abonnement, envoyez une requête GET au point de terminaison /fabric/v4/streams/{streamId}/subscriptions/{subscriptionId}.
Exemple de requête cURL:
curl -X 'GET' 'https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/557400f8-d360-11e9-bb65-2a2ae2dbcce4' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/958a9854-dc49-4ded-87bd-be4d0099355e",
"uuid": "958a9854-dc49-4ded-87bd-be4d0099355e",
"type": "STREAM_SUBSCRIPTION",
"name": "eq-splunk",
"description": "subscription1",
"state": "PROVISIONED",
"enabled": true,
"sink": {
"uri": "https://http-inputs-<host>.splunkcloud.com:<port>/<endpoint>",
"type": "SPLUNK_HEC",
"credential": {
"type": "ACCESS_TOKEN"
},
"settings": {
"eventIndex": "<name_of_eventIndex>",
"metricIndex": "<name_of_metricIndex>",
"source": "<name_of_splunk_hec>"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-08-12T21:49:21.761029Z"
}
}
Supprimer un abonnement
- Portal
- API
-
Dans le menu Observabilité, cliquez sur Flux de données.
-
Sélectionnez un flux dans l'Inventaire des flux_.

-
Sur la page Détails du flux, cliquez sur Abonnements.

-
Dans les Détails de l'abonnement, cliquez sur le menu des options
..., puis Supprimer l'abonnement.
Pour supprimer un abonnement, envoyez une requête DELETE au point de terminaison /fabric/v4/streams/{streamId}/subscriptions/{subscriptionId}.
Exemple de requête cURL:
curl -X 'DELETE' 'https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/557400f8-d360-11e9-bb65-2a2ae2dbcce4' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'
Exemple de réponse:
{
"href": "https://api.equinix.com/fabric/v4/streams/241372e9-79c9-4ef8-b77a-8b8176c228b4/subscriptions/958a9854-dc49-4ded-87bd-be4d0099355e",
"uuid": "958a9854-dc49-4ded-87bd-be4d0099355e",
"type": "STREAM_SUBSCRIPTION",
"name": "eq-splunk",
"description": "subscription1",
"state": "DEPROVISIONING",
"enabled": true,
"sink": {
"uri": "<protocol>://http-inputs-<host>.splunkcloud.com:<port>/<endpoint>",
"type": "SPLUNK_HEC",
"credential": {
"type": "ACCESS_TOKEN"
},
"settings": {
"eventIndex": "<name_of_eventIndex>",
"metricIndex": "<name_of_metricIndex>",
"source": "<name_of_splunk_hec>"
}
},
"changeLog": {
"createdBy": "user1",
"createdDateTime": "2024-08-12T21:49:21.761029Z"
}
}