Test de l'API Cross Connect
L'API Cross-Connect vous permet de commander, de gérer et de désinstaller des connexions de câbles physiques entre des équipements dans les datacentres Equinix. Ce guide fournit des stratégies de test, des exemples et des bonnes pratiques pour l'intégration avec l'API Cross-Connect.
Vue d'ensemble
Les Cross-Connect sont des connexions physiques par câble utilisant des câbles coaxiaux, en fibre ou en cuivre qui relient directement les équipements des clients à d'autres équipements des clients à l'intérieur des datacentres Equinix. Comme les Cross-Connect transmettent les données point à point, ils évitent les problèmes de latence et de congestion de l'Internet public.
L'API Cross Connect v2 fournit trois points d'extrémité 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 que vous avez :
- Un compte Equinix Developer avec des autorisations de commande cross connect.
- Identifiants API valides (ID client et secret client)
- Accès à des centres de données appropriés
- Compréhension de API Authentication
Workflow de test Cross Connect
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 Cross-Connect de base
Testez le scénario le plus courant - commandez une connexion croisée en 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
ID de panneau de brassage invalides
- Assurez-vous que les identifiants des panneaux de brassage respectent le format correct :
CP:XXXX:XXXXXXX. - Vérifiez la disponibilité des panneaux de brassage dans le centre de données cible.
Erreurs d'authentification
- Vérifiez l'expiration du jeton (généralement 1 heure)
- Vérifiez que les informations d'identification du client sont correctes
- Veillez à la bonne mise en œuvre du flux OAuth2
Erreurs de validation
- Examinez les champs obligatoires et facultatifs dans la spécification de l'API
- Vérifiez les types de données et les exigences en matière de format
- Validez les valeurs de l'énumération pour connectionService, mediaType, etc.
Erreurs de permission
- Vérifiez que votre compte dispose des autorisations de commande cross connect
- Vérifiez les autorisations d'accès au centre de données
- Assurez-vous d'avoir accès aux sites IBX spécifiés
Documentation connexe
Besoin d'aide
Si vous rencontrez des problèmes en testant l'API Cross Connect :
- Consultez la FAQ API
- Contactez [Equinix Support] (https://support.equinix.com) pour obtenir de l'aide.