Compartir a través de


Procedimientos recomendados de Azure Cosmos DB para NoSQL en GitHub Copilot para Visual Studio Code

GitHub Copilot en Visual Studio Code proporciona sugerencias de código inteligentes, pero esas sugerencias se vuelven aún más eficaces cuando comprenden su contexto de base de datos específico. La extensión Azure Cosmos DB para Visual Studio Code ahora proporciona automáticamente a GitHub Copilot recomendaciones y procedimientos recomendados específicos de Azure Cosmos DB, lo que permite la asistencia de IA con reconocimiento de contexto para el desarrollo de bases de datos.

Cuando se conecta a la cuenta de Azure Cosmos DB a través de la extensión de Visual Studio Code, crea automáticamente un azurecosmosdb.instructions.md archivo en la carpeta de perfiles de usuario. Este archivo actúa como proveedor de contexto para GitHub Copilot, lo que garantiza que la inteligencia artificial comprende la configuración de Azure Cosmos DB y puede proporcionar sugerencias optimizadas para la creación de particiones, la optimización del rendimiento, los diagnósticos, etc.

¿Por qué importa la inteligencia artificial compatible con el contexto?

Los asistentes de codificación de IA, como GitHub Copilot, solo son tan eficaces como el contexto que tienen. Sin comprender cómo interactúa la aplicación con Azure Cosmos DB, como estrategias de creación de particiones, patrones de indexación o diseño de consultas, Copilot podría generar sugerencias que no están optimizadas para la configuración de la base de datos.

Con el azurecosmosdb.instructions.md archivo implementado automáticamente, Copilot obtiene acceso inmediato a:

  • Procedimientos recomendados de Azure Cosmos DB para la administración del rendimiento y el diseño de claves de partición
  • Sugerencias de optimización del rendimiento para consultas y indexación de varias particiones
  • Recomendaciones de registro de diagnóstico para solucionar problemas de latencia o errores
  • Guía de configuración rentable para varios escenarios, incluida la búsqueda de vectores
  • Patrones de uso del SDK y estrategias de control de errores

Prerrequisitos

  • Visual Studio Code instalado en el equipo
  • Suscripción a GitHub Copilot (individual, negocios o empresarial)
  • Una cuenta de Azure Cosmos DB (cualquier API)
  • Suscripción de Azure con los permisos adecuados para acceder a los recursos de Cosmos DB

Paso 1: Instalar las extensiones necesarias

En primer lugar, asegúrese de que tiene instalada la extensión de Azure Cosmos DB y la extensión de GitHub Copilot:

Instalación de la extensión de Azure Cosmos DB

  1. Abrir Visual Studio Code
  2. Para ir a la vista Extensiones , seleccione Ver > extensiones o presione Ctrl+Mayús+X (Windows/Linux) o Cmd+Mayús+X (macOS)
  3. Busque "Azure Cosmos DB" o use el identificador de extensión: ms-azuretools.vscode-cosmosdb
  4. Seleccione Instalar en la extensión Azure Databases de Microsoft.
  5. Vuelva a cargar Visual Studio Code si se le solicita

Instalación de GitHub Copilot

  1. En la vista Extensiones , busque "GitHub Copilot"
  2. Instala la extensión GitHub Copilot de GitHub
  3. Inicie sesión en su cuenta de GitHub cuando se le solicite
  4. Active la suscripción de Copilot si aún no lo ha hecho

Paso 2: Conexión a la cuenta de Azure Cosmos DB

Conecte la cuenta de Azure Cosmos DB para habilitar las características compatibles con el contexto:

Para Azure Cosmos DB for NoSQL

  1. En Visual Studio Code, abra el panel de Azure seleccionando el icono de Azure en la barra de actividades.
  2. Inicio de sesión en su cuenta de Azure con el identificador de Microsoft Entra
  3. En la vista de árbol de Azure, expanda la suscripción.
  4. Localiza y expande Azure Cosmos DB
  5. Haga clic con el botón derecho en la cuenta de Azure Cosmos DB para NoSQL o selecciónela para conectarse.

Nota:

Si está en un entorno corporativo con restricciones de red, es posible que deba configurar reglas del cortafuegos para permitir su dirección IP. Considere la posibilidad inicial de permitir todas las direcciones IP (0.0.0.0 - 255.255.255.255) para las pruebas y, a continuación, refinar la lista de permitidos para su uso en producción.

Paso 3: Comprobación de la implementación de archivos de contexto

Una vez conectado, la extensión crea automáticamente el archivo en la azurecosmosdb.instructions.md carpeta de perfil de usuario:

Ubicación de Windows:

%APPDATA%\Code\User\prompts\azurecosmosdb.instructions.md

Ubicación de macOS:

~/Library/Application Support/Code/User/prompts/azurecosmosdb.instructions.md

Ubicación de Linux:

~/.config/Code/User/prompts/azurecosmosdb.instructions.md

Este archivo se implementa automáticamente en el perfil de usuario, lo que hace que esté disponible en todas las áreas de trabajo de Visual Studio Code sin necesidad de duplicación en cada proyecto.

Paso 4: Experiencia de sugerencias compatibles con el contexto

Ahora GitHub Copilot proporciona sugerencias optimizadas para Azure Cosmos DB. Estos son algunos ejemplos de cómo el contexto mejorado mejora la experiencia de desarrollo:

Sugerencias de consulta optimizadas

Al escribir consultas, Copilot ahora comprende patrones específicos de Azure Cosmos DB:

// Copilot will suggest optimized query patterns
const query = {
    query: "SELECT * FROM c WHERE c.partitionKey = @partitionKey AND c.status = @status",
    parameters: [
        { name: "@partitionKey", value: userId },
        { name: "@status", value: "active" }
    ]
};

Mejores prácticas recomendadas

Copilot sugiere seguir los procedimientos recomendados de Azure Cosmos DB para el modelado de datos:

// Copilot suggests embedding related data for single-partition queries
const userDocument = {
    id: userId,
    partitionKey: userId, // Copilot suggests consistent partition key usage
    profile: {
        name: "John Doe",
        email: "john@example.com",
        preferences: {
            theme: "dark",
            notifications: true
        }
    },
    // Embed frequently accessed related data
    recentActivity: [
        { action: "login", timestamp: "2024-01-01T10:00:00Z" },
        { action: "purchase", timestamp: "2024-01-01T11:30:00Z" }
    ]
};

Control de errores y diagnósticos

Copilot sugiere patrones de control de errores adecuados específicos de Azure Cosmos DB:

try {
    const response = await container.items.create(document);
    console.log("Document created successfully");
} catch (error) {
    // Copilot suggests Azure Cosmos DB-specific error handling
    if (error.code === 429) {
        console.log("Rate limited. Retry after:", error.retryAfterInMilliseconds);
        // Implement exponential backoff
    } else if (error.code === 409) {
        console.log("Document already exists");
    } else {
        console.error("Error creating document:", error.message);
        // Log diagnostic information for troubleshooting
        console.log("Diagnostic info:", response.diagnostics);
    }
}

Ventajas para desarrolladores

Esta integración transforma la extensión de Azure Cosmos DB en algo más que una herramienta de administración, sino que se convierte en una capa de conocimiento de IA dentro del entorno de desarrollo. Con ayuda contextual, puede hacer lo siguiente:

Escriba consultas optimizadas y realice llamadas SDK guiadas por prácticas recomendadas contextuales
Evitar problemas comunes al principio del desarrollo
Recibir sugerencias alineadas con las instrucciones reales de Azure Cosmos DB, no con la lógica genérica de la base de datos
Mejora del rendimiento a través de optimizaciones sugeridas por ia
Reducir el tiempo de desarrollo con finalizaciones de código relevantes y compatibles con el contexto

Personalización de las instrucciones

El azurecosmosdb.instructions.md archivo está abierto y extensible. Ustedes pueden:

  1. Revise el archivo para comprender qué contexto se proporciona a Copilot.
  2. Adición de instrucciones específicas del proyecto para los estándares de codificación de su equipo
  3. Contribuir a mejoras mediante el envío de solicitudes de incorporación de cambios al repositorio de GitHub
  4. Notificar problemas o sugerencias en la sección de problemas

Procedimientos recomendados para obtener la máxima ventaja

Para obtener el máximo partido de esta asistencia de inteligencia artificial con reconocimiento del contexto:

1. Mantener la extensión actualizada

Actualice periódicamente la extensión de Azure Cosmos DB para recibir los procedimientos recomendados y mejoras más recientes.

2. Usar nombres descriptivos de variables

Copilot proporciona mejores sugerencias cuando el código usa nombres descriptivos claros que indican conceptos de Azure Cosmos DB:

// Good - Clear Azure Cosmos DB context
const cosmosClient = new CosmosClient({ endpoint, key });
const database = cosmosClient.database("productCatalog");
const container = database.container("products");

// Less optimal - Generic naming
const client = new CosmosClient({ endpoint, key });
const db = client.database("productCatalog");
const coll = db.container("products");

3. Incluir comentarios sobre el modelo de datos

Ayude a Copilot a proporcionar sugerencias más relevantes agregando comentarios sobre la estrategia de creación de particiones y el modelo de datos:

// Partition by userId to ensure user data is co-located
// Embed user preferences to minimize cross-partition queries
const userDocument = {
    id: generateUserId(),
    partitionKey: userId, // Using userId as partition key for user isolation
    // ... rest of document
};

4. Usar las características de administración de datos de la extensión

Use las características integradas de la extensión junto con Copilot para obtener una experiencia de desarrollo completa:

  • Editor de consultas para probar y optimizar consultas
  • Administración de documentos para edición en tiempo real
  • Métricas de rendimiento para comprender los costos de las consultas
  • Funcionalidades de exportación para el análisis de datos

Solución de problemas

Copilot no proporciona sugerencias específicas de Azure Cosmos DB

  1. Comprobar la implementación de archivos: compruebe que azurecosmosdb.instructions.md existe en la carpeta de perfiles de usuario.
  2. Reiniciar Visual Studio Code: a veces se necesita un reinicio para que los cambios surtan efecto
  3. Comprobación del estado de GitHub Copilot: Asegúrese de que Copilot está activo y autenticado correctamente
  4. Volver a conectarse a Azure Cosmos DB: Pruebe a desconectar y volver a conectar la cuenta

Extensión que no implementa el archivo de instrucciones

  1. Actualización de la extensión: asegúrese de que tiene la versión más reciente de la extensión de Azure Cosmos DB.
  2. Comprobar permisos: compruebe que Visual Studio Code tiene permisos de escritura en la carpeta de perfiles de usuario
  3. Conexión manual: pruebe a conectarse manualmente a la cuenta de Azure Cosmos DB a través de la extensión.