Cross Connect API 测试
Cross Connect API 使您能够订购、管理和拆除 Equinix 数据中心内设备之间的物理电缆连接。 本指南提供了与 Cross Connect API 集成的测试策略、示例和最佳实践。
概述
交叉连接是指使用同轴电缆、光纤或铜缆将客户设备直接连接到 Equinix 数据中心内其他客户设备的物理电缆连接。 由于交叉连接以点对点方式传输数据,因此可以避免公共互联网的延迟和拥塞问题。
Cross Connect API v2 提供三个主要端点:
| 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 |
在测试 Cross Connect API 之前,请确保您已具备以下条件:
- 具有跨连接订购权限的 Equinix 开发者帐户
- 有效的 API 凭证(客户端 ID 和客户端密钥)
- 获取合适的数据中心位置
- 了解API身份验证
Cross Connect测试工作流程
首先使用 Cross Connect API 验证您的身份验证流程:
# 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"))
基本交叉连接顺序测试
测试最常见的场景——订购单模光纤Cross Connect器:
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')}")
跨连接 API 测试最佳实践
无效的配线架 ID
- 请确保配线架 ID 遵循正确的格式:
CP:XXXX:XXXXXXX - 确认目标数据中心配线架的可用性
身份验证错误
- 检查令牌过期时间(通常为 1 小时)
- 请确认客户端凭据是否正确
- 确保正确实施 OAuth2 流程
验证错误
- 查看 API 规范中的必填字段和可选字段
- 检查数据类型和格式要求
- 验证 connectionService、mediaType 等枚举值。
权限错误
- 请确认您的账户拥有跨平台订购权限
- 检查数据中心访问权限
- 请确保您有权访问指定的IBX地点。
相关文档
需要帮助
如果您在测试 Cross Connect API 时遇到问题:
- 请查看API常见问题解答
- 如需帮助,请联系 Equinix 支持