Sdílet prostřednictvím


Kurz: Funkce Pythonu se službou Azure Queue Storage jako triggerem

V tomto kurzu se dozvíte, jak nakonfigurovat funkci Pythonu s frontou služby Storage jako trigger provedením následujících úloh.

  • Pomocí editoru Visual Studio Code vytvořte projekt funkcí Pythonu.
  • Pomocí editoru Visual Studio Code spusťte funkci místně.
  • Pomocí Azure CLI vytvořte připojení mezi funkcí Azure Functions a frontou úložiště pomocí konektoru služby.
  • K nasazení funkce použijte Visual Studio.

Přehled součástí projektu funkcí v tomto kurzu:

Komponenta projektu Výběr / řešení
Zdrojová služba Funkce Azure
Cílová služba Fronta služby Azure Storage
Vazba funkce Fronta úložiště jako trigger
Typ ověřování místního projektu Připojovací řetězec
Typ ověřování cloudových funkcí Připojovací řetězec

Upozorňující

Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Ověřovací tok popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.

Požadavky

Vytvoření projektu funkce Pythonu

Podle kurzu vytvořte místní projekt Azure Functions a na příkazovém řádku zadejte následující informace:

Instrukce Výběr
Výběr jazyka Zvolte Python. (programovací jazykový model v1)
Výběr interpreta Pythonu pro vytvoření virtuálního prostředí Zvolte upřednostňovaný interpret Pythonu. Pokud se možnost nezobrazí, zadejte úplnou cestu k binárnímu souboru Pythonu.
Výběr šablony pro první funkci projektu Zvolte Azure Queue Storage trigger.
Zadejte název funkce. Zadejte QueueStorageTriggerFunc.
Výběr nastavení z local.settings.json Zvolte Create new local app settings, který vám umožní vybrat účet úložiště a zadat název fronty, který funguje jako trigger.

Vytvořili jste projekt funkce Pythonu s frontou azure Storage jako triggerem. Místní projekt se připojí ke službě Azure Storage pomocí připojovací řetězec uloženého do local.settings.json souboru. main Funkce v __init__.py souboru funkce může nakonec využívat připojovací řetězec pomocí vazby funkce definované v function.json souboru.

Místní spuštění funkce

Podle kurzu spusťte funkci místně a ověřte trigger.

  1. Pokud se zobrazí výzva k připojení k úložišti, vyberte účet úložiště, který jste zvolili při vytváření prostředku funkce Azure Functions. Tato hodnota se používá pro modul runtime funkce Azure Functions a nemusí se nutně shodovat s účtem úložiště, který používáte pro trigger.
  2. Pokud chcete funkci spustit místně, stiskněte klávesu <kbd>F5 </kbd> nebo vyberte ikonu Spustit a Ladit na panelu aktivit na levé straně.
  3. Pokud chcete ověřit, že trigger funguje správně, nechte funkci spuštěnou místně a otevřete podokno Fronta úložiště na webu Azure Portal, vyberte Přidat zprávu a zadejte testovací zprávu. V terminálu editoru Visual Studio Code byste měli vidět, že se funkce aktivuje a zpracuje jako položka fronty.

Vytvoření připojení pomocí konektoru Service Connector

V posledním kroku jste místně ověřili projekt funkce. Teď se dozvíte, jak nakonfigurovat připojení mezi funkcí Azure Functions a frontou Azure Storage v cloudu, aby se vaše funkce po nasazení do cloudu aktivovala frontou úložiště.

  1. function.json Otevřete soubor v místním projektu, změňte hodnotu connection vlastnosti bindings tak, aby byla AZURE_STORAGEQUEUE_CONNECTIONSTRING.
  2. Spuštěním následujícího příkazu Azure CLI vytvořte připojení mezi vaší funkcí Azure a účtem úložiště Azure.
az functionapp connection create storage-queue --source-id "<your-function-resource-id>" --target-id "<your-storage-queue-resource-id>" --secret
  • --source-id formát: /subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site}
  • --target-id formát: /subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/queueServices/default

Tento krok vytvoří prostředek konektoru služby, který nakonfiguruje proměnnou AZURE_STORAGEQUEUE_CONNECTIONSTRING v nastavení aplikace funkce. Modul runtime vazby funkce ho používá k připojení k úložišti, aby funkce mohl přijímat triggery z fronty úložiště. Další informace najdete v tématu, jak konektor Service Connector pomáhá službě Azure Functions připojovat se ke službám.

Nasazení funkce do Azure

Teď můžete funkci nasadit do Azure a ověřit, že trigger fronty úložiště funguje.

  1. Postupujte podle tohoto kurzu azure Functions a nasaďte funkci do Azure.
  2. Otevřete podokno Fronta úložiště na webu Azure Portal, vyberte Přidat zprávu a zadejte testovací zprávu. Měli byste vidět, že se funkce aktivuje a zpracuje jako položka fronty v protokolech funkcí.

Odstraňování potíží

Pokud dojde k nějakým chybám souvisejícím s hostitelem úložiště, například No such host is known (<account-name>.queue.core.windows.net:443)zkontrolujte, jestli připojovací řetězec, které používáte pro připojení ke službě Azure Storage, obsahuje koncový bod fronty, nebo ne. Pokud ne, přejděte do Azure Storage na webu Azure Portal, zkopírujte připojovací řetězec z Access keys podokna a nahraďte hodnoty.

Pokud k této chybě dojde při místním spuštění projektu, zkontrolujte local.settings.json soubor.

Pokud k této chybě dojde, když funkci nasadíte do cloudu (v tomto případě nasazení funkce obvykle selže Syncing triggers ), zkontrolujte nastavení aplikace vaší funkce.

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

Pokud tento projekt nebudete dál používat, odstraňte prostředek aplikace Funkcí, který jste vytvořili dříve.

  1. Na webu Azure Portal otevřete prostředek aplikace funkcí a vyberte Odstranit.
  2. Zadejte název aplikace a potvrďte to tak, že vyberete Odstranit .

Další kroky

Další informace o konceptech konektoru služeb a o tom, jak azure Functions pomáhá připojit se ke službám, najdete v následujících článcích.