Sdílet prostřednictvím


Osvědčené postupy pro Azure Cosmos DB for NoSQL v GitHub Copilotu pro Visual Studio Code

GitHub Copilot v editoru Visual Studio Code poskytuje inteligentní návrhy kódu, ale tyto návrhy se stanou ještě výkonnějšími, když pochopí váš konkrétní kontext databáze. Rozšíření Azure Cosmos DB pro Visual Studio Code teď automaticky poskytuje GitHub Copilot osvědčené postupy a doporučení specifická pro službu Azure Cosmos DB, což umožňuje kontextovou asistenci pomocí AI pro vývoj databází.

Když se připojíte k účtu služby Azure Cosmos DB prostřednictvím rozšíření Visual Studio Code, automaticky se vytvoří azurecosmosdb.instructions.md soubor ve složce profilu uživatele. Tento soubor funguje jako zprostředkovatel kontextu pro GitHub Copilot, který zajišťuje, že AI rozumí vašemu nastavení služby Azure Cosmos DB a může poskytovat optimalizované návrhy pro dělení, ladění výkonu, diagnostiku a další.

Proč záleží na kontextové umělé inteligenci

Pomocníci pro kódování AI, jako je GitHub Copilot, jsou efektivní pouze v rozsahu daného kontextu, který mají. Aniž byste pochopili, jak vaše aplikace komunikuje se službou Azure Cosmos DB, jako jsou strategie dělení, vzory indexování nebo návrh dotazů, může Copilot generovat návrhy, které nejsou optimalizované pro nastavení databáze.

Při automatickém azurecosmosdb.instructions.md nasazení souboru získá Copilot okamžitý přístup k:

  • Osvědčené postupy pro návrh oddílových klíčů a správu propustnosti ve službě Azure Cosmos DB
  • Tipy pro optimalizaci výkonu pro dotazy s více oddíly a indexování
  • Doporučení k protokolování diagnostiky pro řešení potíží s latencí nebo chybami
  • Nákladově efektivní pokyny k nastavení pro různé scénáře, včetně hledání vektorů
  • Vzory využití sady SDK a strategie zpracování chyb

Požadavky

  • Visual Studio Code nainstalovaný na vašem počítači
  • Předplatné GitHub Copilot (jednotlivec, firma nebo podnik)
  • Účet služby Azure Cosmos DB (libovolné rozhraní API)
  • Předplatné Azure s příslušnými oprávněními pro přístup k prostředkům Cosmos DB

Krok 1: Instalace požadovaných rozšíření

Nejprve se ujistěte, že máte nainstalované rozšíření Azure Cosmos DB i rozšíření GitHub Copilot:

Instalace rozšíření Azure Cosmos DB

  1. Otevření editoru Visual Studio Code
  2. Výběrem možnosti nebo stisknutím > (Windows/Linux) nebo Cmd+Shift+X (macOS) přejděte do zobrazení Rozšíření.
  3. Vyhledejte "Azure Cosmos DB" nebo použijte ID rozšíření: ms-azuretools.vscode-cosmosdb
  4. Vyberte Nainstalovat pro rozšíření Azure Databases od Microsoftu.
  5. Restartujte Visual Studio Code, pokud budete vyzváni.

Instalace GitHub Copilotu

  1. V zobrazení Rozšíření vyhledejte GitHub Copilot.
  2. Instalace rozšíření GitHub Copilot pomocí GitHubu
  3. Po zobrazení výzvy se přihlaste ke svému účtu GitHub.
  4. Aktivace předplatného Copilot, pokud jste to ještě neudělali

Krok 2: Připojení k účtu služby Azure Cosmos DB

Připojte svůj účet služby Azure Cosmos DB a povolte funkce podporující kontext:

Pro Azure Cosmos DB pro NoSQL

  1. V editoru Visual Studio Code otevřete podokno Azure výběrem ikony Azure na panelu aktivit.
  2. Přihlaste se ke svému účtu Azure pomocí ID Microsoft Entra
  3. Ve stromovém zobrazení Azure rozbalte své předplatné.
  4. Vyhledání a rozbalení Azure Cosmos DB
  5. Klikněte pravým tlačítkem na účet Azure Cosmos DB for NoSQL nebo ho vyberte pro připojení.

Poznámka:

Pokud jste v podnikovém prostředí s omezeními sítě, možná budete muset nakonfigurovat pravidla brány firewall tak, aby umožňovala vaši IP adresu. Zvažte počáteční povolení všech IP adres (0.0.0.0–255.255.255.255) pro testování a upřesnění seznamu povolených pro použití v produkčním prostředí.

Krok 3: Ověření nasazení kontextového souboru

Po připojení rozšíření automaticky vytvoří azurecosmosdb.instructions.md soubor ve složce profilu uživatele:

Umístění systému Windows:

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

Umístění macOS:

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

Umístění Linuxu:

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

Tento soubor se automaticky nasadí do vašeho profilu uživatele a zpřístupní ho ve všech pracovních prostorech editoru Visual Studio Code, aniž by bylo nutné duplikovat v každém projektu.

Krok 4: Zkušenosti s návrhy s podporou kontextu

GitHub Copilot teď nabízí návrhy optimalizované pro Azure Cosmos DB. Tady je několik příkladů, jak vylepšený kontext zlepšuje vaše vývojové prostředí:

Optimalizované návrhy dotazů

Při psaní dotazů teď Copilot rozumí vzorům specifickým pro službu 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" }
    ]
};

Doporučení osvědčených postupů

Copilot navrhuje následující osvědčené postupy azure Cosmos DB pro modelování dat:

// 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" }
    ]
};

Zpracování chyb a diagnostika

Copilot navrhuje správné vzory zpracování chyb specifické pro službu 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);
    }
}

Výhody pro vývojáře

Tato integrace transformuje rozšíření Azure Cosmos DB na více než jen nástroj pro správu – ve vašem vývojovém prostředí se stane znalostní vrstvou AI. S využitím pomoci s podporou kontextu můžete:

Pište optimalizované dotazy a volání API SDK řízené kontextovými osvědčenými postupy
Vyhněte se běžným nástrahám v rané fázi vývoje
Návrhy, které odpovídají pokynům pro Azure Cosmos DB v reálném světě, ne obecné databázové logice
Zlepšení výkonu prostřednictvím optimalizací navržených pro AI
Zkrácení doby vývoje s relevantními dokončováními kódu s podporou kontextu

Přizpůsobení pokynů

Soubor azurecosmosdb.instructions.md je otevřen a rozšiřitelný. Můžete:

  1. Projděte si soubor a zjistěte, jaký kontext je poskytován Copilotu.
  2. Přidání pokynů specifických pro projekt pro standardy kódování vašeho týmu
  3. Přispívání vylepšení odesláním žádostí o přijetí změn do úložiště GitHub
  4. Nahlášení problémů nebo návrhů v části Problémy

Osvědčené postupy pro maximální výhodu

Chcete-li získat co nejvíce z této kontextově vnímající AI asistence:

1. Udržujte rozšíření aktualizované

Pravidelně aktualizujte rozšíření Azure Cosmos DB, abyste získali nejnovější osvědčené postupy a vylepšení.

2. Použití popisných názvů proměnných

Copilot nabízí lepší návrhy, když váš kód používá jasné popisné názvy, které označují koncepty služby 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. Zahrňte komentáře k datovému modelu.

Pomozte copilotu poskytnout relevantnější návrhy přidáním komentářů ke strategii dělení a datovému modelu:

// 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. Použití funkcí správy dat rozšíření

Pomocí integrovaných funkcí rozšíření společně s Copilotem můžete využít kompletní vývojové prostředí:

  • Editor dotazů pro testování a optimalizaci dotazů
  • Správa dokumentů pro úpravy v reálném čase
  • Metriky výkonu pro pochopení nákladů na dotazy
  • Možnosti exportu pro analýzu dat

Řešení problémů

Copilot neposkytuje návrhy specifické pro Službu Azure Cosmos DB

  1. Ověření nasazení souboru: Zkontrolujte, jestli azurecosmosdb.instructions.md ve složce profilu uživatele existuje.
  2. Restartování editoru Visual Studio Code: Někdy se vyžaduje restartování, aby se změny projevily.
  3. Zkontrolujte stav Copilotu GitHubu: Ujistěte se, že je Copilot aktivní a správně ověřený.
  4. Opětovné připojení ke službě Azure Cosmos DB: Zkuste účet odpojit a znovu připojit.

Přípona nenasazuje soubor s pokyny

  1. Aktualizace rozšíření: Ujistěte se, že máte nejnovější verzi rozšíření Azure Cosmos DB.
  2. Kontrola oprávnění: Ověření, že Visual Studio Code má oprávnění k zápisu do složky profilu uživatele
  3. Ruční připojení: Zkuste se ručně připojit k účtu služby Azure Cosmos DB prostřednictvím rozšíření.