Essais d'API Cross Connect
L'API Cross Connect vous permet de commander, de gérer et de désinstaller les connexions de câbles physiques entre les équipements des centres de données Equinix. Ce guide fournit des stratégies de test, des exemples et des meilleures pratiques pour l'intégration avec l'API Cross Connect.
Aperçu
Les interconnexions croisées sont des connexions physiques par câble utilisant des câbles coaxiaux, à fibre optique ou en cuivre qui relient directement les équipements des clients à d'autres équipements de clients à l'intérieur des centres de données Equinix. Comme les interconnexions transmettent les données de point à point, elles évitent les problèmes de latence et de congestion de l'Internet public.
L'API Cross Connect v2 offre trois points de terminaison principaux:
| Method | Endpoint | Description |
|---|---|---|
| POST | /colocations/v2/orders/crossConnects | Order new cross connects |
| PATCH | /colocations/v2/orders/crossConnects/{orderId} | Update existing cross connect order |
| POST | /colocations/v2/orders/crossConnects/deinstall | Deinstall existing cross connects |
Avant de tester l'API Cross Connect, assurez-vous d'avoir:
- Un compte développeur Equinix avec des autorisations de commande interconnectées
- Identifiants d'API valides (ID client et secret client)
- Accès aux emplacements appropriés des centres de données
- Comprendre l'authentification API
Flux de travail de test de connexion croisée
Commencez par valider votre flux d'authentification avec l'API Cross Connect:
# Test authentication for Cross Connect API (Python example)
import requests
auth_url = "https://api.equinix.com/oauth2/v1/token"
auth_payload = {
"grant_type": "client_credentials",
"client_id": "<your_client_id>",
"client_secret": "<your_client_secret>"
}
response = requests.post(auth_url, data=auth_payload)
data = response.json()
if response.status_code != 200:
raise Exception(f"Authentication failed: {response.status_code} {data}")
access_token = data.get("access_token")
print("Access token:", access_token)
print("Token timeout:", data.get("token_timeout"))
Test de commande de connexion croisée de base
Testez le scénario le plus courant: la commande d’un commutateur de fibre monomode:
import requests
import json
# Setup authentication
base_url = "https://api.equinix.com"
auth_url = f"{base_url}/oauth2/v1/token"
auth_payload = {
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
auth_response = requests.post(auth_url, data=auth_payload)
token = auth_response.json()["access_token"]
# Prepare request
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
# Test ordering a basic single mode fiber cross connect
payload = {
"customerReferenceId": "TEST-CC-001",
"description": "Test cross connect for API integration",
"details": [
{
"aSide": {
"connectionService": "SINGLE_MODE_FIBER",
"mediaType": "SINGLE_MODE_FIBER",
"protocolType": "10_GIG_ETHERNET",
"connectorType": "FC",
"patchPanel": {
"id": "CP:0104:1199890"
}
},
"zSide": {
"patchPanel": {
"id": "PP:0104:1190123"
},
"circuitId": "TEST-CIRCUIT-001",
"connectorType": "LC"
}
}
]
}
response = requests.post(
f"{base_url}/colocations/v2/orders/crossConnects",
headers=headers,
data=json.dumps(payload)
)
# Verify response
assert response.status_code == 201, f"Failed to create order: {response.text}"
order_data = response.json()
order_id = order_data.get("orderId")
print(f"Successfully created Cross Connect order with ID: {order_id}")
print(f"Current status: {order_data.get('status')}")
Meilleures pratiques pour les tests d'API Cross Connect
Identifiants de panneau de brassage non valides
- Assurez-vous que les identifiants des panneaux de brassage respectent le format correct:
CP:XXXX:XXXXXXX - Vérifiez la disponibilité du panneau de brassage dans le centre de données cible.
Erreurs d'authentification
- Vérifiez l'expiration du jeton (habituellement 1 heure).
- Assurez-vous que les informations d'identification du client sont correctes.
- Assurez-vous de la bonne implémentation du flux OAuth2
Erreurs de validation
- Examiner les champs obligatoires et optionnels dans la spécification de l'API
- Vérifiez les types de données et les exigences de format.
- Valider les valeurs d'énumération pour connectionService, mediaType, etc.
Erreurs d'autorisation
- Assurez-vous que votre compte a les autorisations de commande inter-connexions.
- Vérifier les autorisations d'accès au centre de données
- Assurez-vous d'avoir accès aux emplacements IBX spécifiés
Documentation connexe
Besoin d'aide
Si vous rencontrez des problèmes lors du test de l'API Cross Connect:
- Consultez la FAQ sur l'API
- Contactez le soutien d'Equinix (https://support.equinix.com) pour obtenir de l'aide.