Vytvoření funkce aktivované službou Azure Cosmos DB

Zjistěte, jak vytvořit funkci na webu Azure Portal, která se aktivuje při přidání nebo změně dat ve službě Azure Cosmos DB. Další informace o službě Azure Cosmos DB najdete v tématu Azure Cosmos DB: Databázové výpočetní prostředí bez serveru využívající Azure Functions.

Poznámka:

Úpravy na portálu se podporují jenom pro funkce javascriptu, PowerShellu a skriptu jazyka C#. Úpravy v Pythonu na portálu se podporují jenom při spuštění v plánu Consumption. Pokud chcete vytvořit aplikaci skriptu jazyka C#, která podporuje úpravy na portálu, musíte zvolit verzi modulu runtime, která podporuje model v procesu.

Pokud je to možné, měli byste své funkce vyvíjet místně.

Další informace o omezeních úprav kódu funkce na webu Azure Portal najdete v tématu Omezení vývoje na webu Azure Portal.

Požadavky

Pro absolvování tohoto kurzu potřebujete:

Poznámka:

Vazby Azure Cosmos DB se podporují jenom pro použití se službou Azure Cosmos DB for NoSQL. Podpora služby Azure Cosmos DB pro tabulku je poskytována pomocí vazeb Table Storage počínaje rozšířením 5.x. Pro všechna ostatní rozhraní API služby Azure Cosmos DB byste měli přistupovat k databázi z vaší funkce pomocí statického klienta pro vaše rozhraní API, včetně Azure Cosmos DB pro MongoDB, Azure Cosmos DB for Cassandra a Azure Cosmos DB for Apache Gremlin.

Přihlášení k Azure

Přihlaste se k webu Azure Portal pomocí svého účtu Azure.

Vytvoření účtu služby Azure Cosmos DB

Před vytvořením triggeru potřebujete účet služby Azure Cosmos DB, který používá rozhraní SQL API.

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  2. Vyhledejte Službu Azure Cosmos DB. Vyberte Vytvořit>službu Azure Cosmos DB.

  3. Na stránce Vytvořit účet služby Azure Cosmos DB vyberte možnost Vytvořit v části Azure Cosmos DB for NoSQL.

    Azure Cosmos DB poskytuje několik rozhraní API:

    • NoSQL pro data dokumentů
    • PostgreSQL
    • MongoDB pro data dokumentů
    • Apache Cassandra
    • Table
    • Apache Gremlin pro data grafu

    Další informace o rozhraní API pro NoSQL najdete v tématu Vítá vás Azure Cosmos DB.

  4. Na stránce Vytvořit účet služby Azure Cosmos DB zadejte základní nastavení nového účtu služby Azure Cosmos DB.

    Nastavení Hodnota Popis
    Předplatné Název předplatného Vyberte předplatné Azure, které chcete pro tento účet služby Azure Cosmos DB použít.
    Skupina prostředků Název skupiny prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novoua zadejte jedinečný název nové skupiny prostředků.
    Název účtu Jedinečný název Zadejte název pro identifikaci účtu služby Azure Cosmos DB. Vzhledem k tomu, že se váš identifikátor URI vytvoří připojením řetězce documents.azure.com k názvu, který zadáte, použijte jedinečný název. Název může obsahovat pouze malá písmena, číslice a znak spojovníku (-). Musí mít 3 až 44 znaků.
    Umístění Oblast nejbližší vašim uživatelům Vyberte zeměpisné umístění, ve kterém chcete účet služby Azure Cosmos DB hostovat. Použijte umístění, které je vašim uživatelům nejbližší, abyste jim zajistili nejrychlejší přístup k datům.
    Režim kapacity Zřízená propustnost nebo bezserverová Vyberte Zřízenou propustnost a vytvořte účet v režimu zřízené propustnosti. Vyberte Bezserverový účet a vytvořte účet v bezserverovém režimu.
    Uplatnění slevy na úroveň Free služby Azure Cosmos DB Použít nebo nepoužovat S úrovní Free služby Azure Cosmos DB získáte prvních 1 000 RU/s a 25 GB úložiště zdarma v účtu. Další informace o úrovni Free
    Omezení celkové propustnosti účtu Vybráno nebo ne Omezte celkovou propustnost, kterou je možné zřídit pro tento účet. Tento limit zabraňuje neočekávaným poplatkům souvisejícím se zřízenou propustností. Tento limit můžete po vytvoření účtu aktualizovat nebo odebrat.

    Pro každé předplatné Azure můžete mít až jeden účet služby Azure Cosmos DB úrovně Free a při vytváření účtu se musíte přihlásit. Pokud nevidíte možnost použít slevu na úroveň Free, je už u úrovně Free povolen jiný účet v předplatném.

    Snímek obrazovky se stránkou Vytvořit účet služby Azure Cosmos DB

    Poznámka:

    Pokud jako režim kapacity vyberete bezserverový režim, nejsou k dispozici následující možnosti:

    • Použít slevu založenou na bezplatné úrovni
    • Omezení celkové propustnosti účtu
  5. Na kartě Globální distribuce nakonfigurujte následující podrobnosti. V tomto rychlém startu můžete ponechat výchozí hodnoty:

    Nastavení Hodnota Popis
    Geografická redundance Zakázat Povolte nebo zakažte globální distribuci vašeho účtu spárováním oblasti s párovou oblastí. Další oblasti můžete do svého účtu přidat později.
    Zápisy do více oblastí Zakázat Funkce zápisu do více oblastí umožňuje využívat zřízenou propustnost pro databáze a kontejnery po celém světě.
    Zóny dostupnosti Zakázat Zóny dostupnosti vám pomohou dále zlepšit dostupnost a odolnost vaší aplikace.

    Poznámka:

    Následující možnosti nejsou k dispozici, pokud jako režim kapacity na předchozí stránce Základy vyberete bezserverový režim:

    • Geografická redundance
    • Zápisy do více oblastí
  6. Volitelně můžete nakonfigurovat další podrobnosti na následujících kartách:

    • Sítě. Nakonfigurujte přístup z virtuální sítě.
    • Zásady zálohování. Nakonfigurujte zásady pravidelného nebo průběžného zálohování.
    • Šifrování. Použijte klíč spravovaný službou nebo klíč spravovaný zákazníkem.
    • Značky. Značky jsou dvojice název-hodnota, které umožňují kategorizovat prostředky a zobrazovat souhrnnou fakturaci. Stačí k tomu u několika prostředků a skupin prostředků použít stejnou značku.
  7. Vyberte Zkontrolovat a vytvořit.

  8. Zkontrolujte nastavení účtu a pak vyberte Vytvořit. Vytvoření účtu trvá několik minut. Počkejte, až se na portálu zobrazí stránka s textem Vaše nasazení je hotové.

    Snímek obrazovky ukazuje, že vaše nasazení je hotové.

  9. Pokud chcete přejít na stránku účtu Azure Cosmos DB, vyberte Přejít k prostředku.

    Snímek obrazovky se stránkou účtu služby Azure Cosmos DB

Vytvoření aplikace funkcí v Azure

  1. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  2. Na stránce Nový vyberte Aplikaci výpočetních>funkcí.

  3. V části Vybrat možnost hostování vyberte Možnost Consumption>Vyberte a vytvořte aplikaci ve výchozím plánu Consumption. V této možnosti bezserverového hostování platíte jenom za čas, kdy vaše funkce běží. Plán Premium také nabízí dynamické škálování. Pokud používáte plán služby App Service, musíte zajistit správu škálování vaší aplikace funkcí.

  4. Na stránce Základy použijte nastavení aplikace funkcí, jak je uvedeno v následující tabulce:

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Předplatné, ve kterém vytvoříte novou aplikaci funkcí.
    Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které vytvoříte aplikaci funkcí. Měli byste vytvořit novou skupinu prostředků, protože při vytváření nových aplikací funkcí v existující skupině prostředků existují známá omezení.
    Název aplikace funkcí Globálně jedinečný název Název identifikující novou aplikaci funkcí. Platné znaky jsou a-z (bez rozlišování malých a velkých písmen), 0-9 a -.
    Zásobník modulu runtime Upřednostňovaný jazyk Vyberte modul runtime, který podporuje váš oblíbený programovací jazyk funkcí. Úpravy na portálu jsou dostupné jenom pro javascript, PowerShell, Python, TypeScript a skript jazyka C#.
    Pokud chcete vytvořit aplikaci skriptu jazyka C#, která podporuje úpravy na portálu, musíte zvolit verzi modulu runtime, která podporuje model v procesu.
    Knihovnu tříd jazyka C# a funkce Jazyka Java je nutné vyvíjet místně.
    Verze Číslo verze Zvolte verzi nainstalovaného modulu runtime.
    Oblast Upřednostňovaná oblast Vyberte oblast, která je blízko vás nebo blízko jiných služeb, ke kterým mají vaše funkce přístup.
    Operační systém Windows Operační systém je předem vybraný na základě výběru zásobníku modulu runtime, ale v případě potřeby můžete nastavení změnit. Úpravy na portálu se podporují jenom ve Windows.
  5. Na zbývajících kartách přijměte výchozí možnosti, včetně výchozího chování vytvoření nového účtu úložiště na kartě Úložiště a nové instance Application Insight na kartě Monitorování . Můžete také použít existující účet úložiště nebo instanci Application Insights.

  6. Vyberte Zkontrolovat a vytvořit , abyste zkontrolovali konfiguraci aplikace, kterou jste zvolili, a pak vyberte Vytvořit , abyste zřídili a nasadili aplikaci funkcí.

  7. Vyberte ikonu Oznámení v pravém horním rohu portálu a podívejte se na zprávu o úspěšném nasazení.

  8. Volbou Přejít k prostředku novou aplikaci funkcí zobrazíte. Můžete také vybrat Připnout na řídicí panel. Připnutí usnadňuje návrat k tomuto prostředku aplikace funkcí z řídicího panelu.

    Snímek obrazovky s oznámením o nasazení

Dál vytvoříte v nové aplikaci Function App funkci.

Vytvoření triggeru služby Azure Cosmos DB

  1. V aplikaci funkcí vyberte Přehled a pak v části Funkce vyberte + Vytvořit.

  2. V části Vybrat šablonu se posuňte dolů a zvolte šablonu triggeru služby Azure Cosmos DB.

  3. V podrobnostech o šabloně nakonfigurujte nový trigger s nastavením uvedeným v této tabulce a pak vyberte Vytvořit:

    Nastavení Navrhovaná hodnota Popis
    Nová funkce Přijměte výchozí název. Název funkce.
    Připojení účtu Azure Cosmos DB Přijměte výchozí nový název. Vyberte Nový, účet databáze, který jste vytvořili dříve, a pak OK. Tato akce vytvoří nastavení aplikace pro připojení k vašemu účtu. Toto nastavení vazba použije k připojení k databázi.
    Název databáze Úlohy Název databáze, která obsahuje kolekci, kterou chcete monitorovat.
    Název kolekce Items Název kolekce, která se má monitorovat.
    Název kolekce pro zapůjčení leases Název kolekce pro uložení zapůjčení
    Vytvoření kolekce zapůjčení, pokud neexistuje Ano Kontroluje existenci kolekce zapůjčení a automaticky ji vytvoří.

    Azure vytvoří funkci aktivovanou službou Azure Cosmos DB na základě zadaných hodnot.

  4. Pokud chcete zobrazit kód funkce založené na šabloně, vyberte Kód + Test.

    Šablona funkce Azure Cosmos DB v jazyce C#

    Tato šablona funkce zapíše do protokolů počet dokumentů a ID prvního dokumentu.

Dále se připojíte ke svému účtu služby Azure Cosmos DB a vytvoříte Items kontejner v Tasks databázi.

Vytvoření kontejneru Položek

  1. Na nové kartě prohlížeče otevřete druhou instanci webu Azure Portal.

  2. Na levé straně portálu rozbalte pruh ikon, do vyhledávacího pole zadejte cosmos a vyberte Azure Cosmos DB.

    Vyhledání služby Azure Cosmos DB

  3. Zvolte váš účet služby Azure Cosmos DB a vyberte Průzkumník dat.

  4. V části ROZHRANÍ SQL API zvolte Databáze úloh a vyberte Nový kontejner.

    Vytvoření kontejneru

  5. V části Přidat kontejner použijte nastavení zobrazená v tabulce pod obrázkem.

    Definování kontejneru Úkolů

    Nastavení Navrhovaná hodnota Popis
    ID databáze Úlohy Název nové databáze. Musí se shodovat s názvem definovaným ve vazbě vaší funkce.
    ID kontejneru Items Název nového kontejneru. Musí se shodovat s názvem definovaným ve vazbě vaší funkce.
    Klíč oddílu /kategorie Klíč oddílu, který rovnoměrně distribuuje data do jednotlivých oddílů. Výběr správného klíče oddílu je důležitý při vytváření výkonného kontejneru.
    Propustnost 400 RU Použijte výchozí hodnotu. Pokud budete chtít snížit latenci, můžete propustnost později navýšit.
  6. Kliknutím na TLAČÍTKO OK vytvořte kontejner Položek. Vytvoření kontejneru může chvíli trvat.

Jakmile kontejner zadaný v vazbě funkce existuje, můžete funkci otestovat přidáním položek do tohoto nového kontejneru.

Testování funkce

  1. Rozbalte nový kontejner Položky v Průzkumníku dat, zvolte Položky a pak vyberte Nová položka.

    Vytvoření položky v kontejneru Položek

  2. Obsah nové položky nahraďte následujícím obsahem a pak zvolte Uložit.

    {
        "id": "task1",
        "category": "general",
        "description": "some task"
    }
    
  3. Přepněte na první kartu prohlížeče, která obsahuje vaši funkci na portálu. Rozbalte protokoly funkce a ověřte, že nový dokument aktivoval funkci. Všimněte si, že se do protokolů zapsala hodnota ID dokumentu task1.

    Zobrazte si zprávy v protokolech.

  4. (Volitelné) Vraťte se ke svému dokumentu, proveďte nějakou změnu a klikněte na Aktualizovat. Pak přejděte zpět do protokolů funkce a ověřte, že aktualizace také aktivovala funkci.

Vyčištění prostředků

Další rychlé starty v této kolekci jsou postavené na tomto rychlém startu. Pokud plánujete pracovat s dalšími rychlými starty, kurzy nebo s některou ze služeb, které jste vytvořili v tomto rychlém startu, nevyčistíte prostředky.

Prostředky v Azure odkazují na aplikace funkcí, funkce, účty úložiště atd. Jsou seskupené do skupin prostředků a můžete odstranit všechno ve skupině odstraněním skupiny.

Vytvořili jste prostředky pro dokončení těchto rychlých startů. Tyto prostředky se vám můžou účtovat v závislosti na stavu vašeho účtu a cenách služeb. Pokud prostředky už nepotřebujete, můžete k jejich odstranění použít tento postup:

  1. Na webu Azure Portal přejděte na stránku Skupina prostředků.

    Pokud se chcete na tuto stránku dostat ze stránky aplikace funkcí, vyberte kartu Přehled a pak vyberte odkaz v části Skupina prostředků.

    Snímek obrazovky znázorňující výběr skupiny prostředků, kterou chcete odstranit ze stránky aplikace funkcí

    Pokud se chcete na tuto stránku dostat z řídicího panelu, vyberte Skupiny prostředků a pak vyberte skupinu prostředků, kterou jste použili pro tento článek.

  2. Na stránce Skupina prostředků zkontrolujte seznam zahrnutých prostředků a ověřte, že se jedná o ty, které chcete odstranit.

  3. Vyberte Odstranit skupinu prostředků a postupujte podle pokynů.

    Odstranění může trvat několik minut. Po jeho dokončení se na několik sekund zobrazí oznámení. K zobrazení tohoto oznámení můžete také vybrat ikonu zvonku v horní části stránky.

Další kroky

Vytvořili jste funkci, která se spouští při přidání nebo úpravě dokumentu ve službě Azure Cosmos DB. Další informace o funkcích aktivovaných službou Azure Cosmos DB najdete v tématu Vazby Azure Cosmos DB ve službě Azure Functions.

Teď, když jste vytvořili svou první funkci, přidáme do funkce výstupní vazbu, která zapíše zprávu do fronty služby Storage.