Ir para o conteúdo principal

Teste de API Cross Connect

A API Cross Connect permite solicitar, gerenciar e desinstalar conexões físicas de cabos entre equipamentos nos data centers da Equinix. Este guia fornece estratégias de teste, exemplos e práticas recomendadas para integração com a API Cross Connect.

Visão geral

As conexões cruzadas são conexões físicas por meio de cabos coaxiais, de fibra óptica ou de cobre que conectam o equipamento do cliente diretamente a outros equipamentos do cliente dentro dos data centers da Equinix. Como as interconexões transmitem dados ponto a ponto, elas evitam os problemas de latência e congestionamento da internet pública.

A API Cross Connect v2 fornece três endpoints principais:

MethodEndpointDescription
POST/colocations/v2/orders/crossConnectsOrder new cross connects
PATCH/colocations/v2/orders/crossConnects/{orderId}Update existing cross connect order
POST/colocations/v2/orders/crossConnects/deinstallDeinstall existing cross connects

Antes de testar a API Cross Connect, certifique-se de ter:

  • Uma conta de desenvolvedor Equinix com permissões de pedido de conexão cruzada.
  • Credenciais de API válidas (ID do cliente e segredo do cliente)
  • Acesso a locais de data center adequados
  • Compreendendo a Autenticação de API

Fluxo de trabalho de teste de interconexão

Comece validando seu fluxo de autenticação com a 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"))

Teste básico de ordem de interconexão

Teste o cenário mais comum: solicitar uma interconexão de fibra monomodo:

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')}")

Melhores práticas para testes de API de conexão cruzada

IDs de painel de conexão inválidos

  • Certifique-se de que os IDs do painel de conexão sigam o formato correto: CP:XXXX:XXXXXXX
  • Verificar a disponibilidade do painel de conexões no centro de dados de destino.

Erros de autenticação

  • Verifique a expiração do token (normalmente 1 hora).
  • Verifique se as credenciais do cliente estão corretas.
  • Garantir a implementação correta do fluxo OAuth2

Erros de Validação

  • Analise os campos obrigatórios e opcionais na especificação da API.
  • Verifique os tipos de dados e os requisitos de formato.
  • Validar valores de enumeração para connectionService, mediaType, etc.

Erros de permissão

  • Verifique se sua conta possui permissões de pedido entre conexões.
  • Verificar permissões de acesso ao centro de dados
  • Certifique-se de ter acesso aos locais IBX especificados.

Documentação relacionada

Precisar de ajuda

Se você encontrar problemas ao testar a API Cross Connect:

Esta página foi útil?