Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
V tomto rychlém startu pomocí nástrojů příkazového řádku Azure Developer vytvoříte funkce, které reagují na požadavky HTTP. Po místním otestování kódu ho nasadíte do nové aplikace funkcí bez serveru, kterou vytvoříte v plánu Flex Consumption ve službě Azure Functions.
Zdroj projektu používá Azure Developer CLI (azd) ke zjednodušení nasazení kódu do Azure. Toto nasazení se řídí aktuálními osvědčenými postupy pro zabezpečená a škálovatelná nasazení Azure Functions.
Ve výchozím nastavení se plán Flex Consumption řídí fakturačním modelem s průběžnými platbami , což znamená, že k dokončení tohoto rychlého startu se v účtu Azure účtují malé náklady na několik centů nebo méně USD.
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
JAVA_HOME
prostředí musí být nastavena na umístění instalace správné verze sady JDK.curl
.Pomocí azd init
příkazu můžete vytvořit místní projekt kódu Azure Functions ze šablony.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template functions-quickstart-dotnet-azd -e flexquickstart-dotnet
Tento příkaz načte soubory projektu z úložiště šablony a inicializuje projekt v aktuální složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
Spuštěním tohoto příkazu přejděte do http
složky aplikace:
cd http
Ve složce, která obsahuje tato data JSON, vytvořte soubor s názvem local.settings.jsonhttp
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
}
}
Tento soubor se vyžaduje při místním spuštění.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template azure-functions-java-flex-consumption-azd -e flexquickstart-java
Tento příkaz načte soubory projektu z úložiště šablony a inicializuje projekt v aktuální složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
Spuštěním tohoto příkazu přejděte do http
složky aplikace:
cd http
Ve složce, která obsahuje tato data JSON, vytvořte soubor s názvem local.settings.jsonhttp
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "java"
}
}
Tento soubor se vyžaduje při místním spuštění.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template functions-quickstart-javascript-azd -e flexquickstart-js
Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v kořenové složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
V kořenové složce vytvořte soubor s názvem local.settings.json , který obsahuje tato data JSON:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "node"
}
}
Tento soubor se vyžaduje při místním spuštění.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template functions-quickstart-powershell-azd -e flexquickstart-ps
Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v kořenové složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
Spuštěním tohoto příkazu přejděte do src
složky aplikace:
cd src
Ve složce, která obsahuje tato data JSON, vytvořte soubor s názvem local.settings.jsonsrc
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION": "7.2"
}
}
Tento soubor se vyžaduje při místním spuštění.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template functions-quickstart-typescript-azd -e flexquickstart-ts
Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v kořenové složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
V kořenové složce vytvořte soubor s názvem local.settings.json , který obsahuje tato data JSON:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "node"
}
}
Tento soubor se vyžaduje při místním spuštění.
V místním terminálu nebo příkazovém řádku spusťte tento azd init
příkaz v prázdné složce:
azd init --template functions-quickstart-python-http-azd -e flexquickstart-py
Tento příkaz načte soubory projektu z úložiště šablon a inicializuje projekt v kořenové složce. Příznak -e
nastaví název aktuálního prostředí. V azd
prostředí se používá k zachování jedinečného kontextu nasazení pro vaši aplikaci a můžete definovat více než jedno. Používá se také v názvu skupiny prostředků, kterou vytvoříte v Azure.
V kořenové složce vytvořte soubor s názvem local.settings.json , který obsahuje tato data JSON:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "python"
}
}
Tento soubor se vyžaduje při místním spuštění.
Spuštěním těchto příkazů v kořenové složce vytvořte a aktivujte virtuální prostředí s názvem .venv
:
python3 -m venv .venv
source .venv/bin/activate
Pokud Python nenainstaloval balíček venv do distribuce Linuxu, spusťte následující příkaz:
sudo apt-get install python3-venv
Spusťte tento příkaz ze složky aplikace v terminálu nebo na příkazovém řádku:
func start
mvn clean package
mvn azure-functions:run
npm install
func start
npm install
npm start
Když se hostitel Functions spustí ve složce místního projektu, zapíše koncové body adresy URL funkcí aktivovaných protokolem HTTP do výstupu terminálu.
V prohlížeči přejděte na httpget
koncový bod, který by měl vypadat jako tato adresa URL:
V novém okně terminálu nebo příkazového řádku spusťte tento curl
příkaz, kterým odešlete požadavek POST s datovou částí JSON do koncového httppost
bodu:
curl -i http://localhost:7071/api/httppost -H "Content-Type: text/json" -d @testdata.json
curl -i http://localhost:7071/api/httppost -H "Content-Type: text/json" -d "@src/functions/testdata.json"
Tento příkaz načte data datové části JSON ze testdata.json
souboru projektu. Příklady obou požadavků HTTP najdete v test.http
souboru projektu.
Až budete hotovi, ukončete proces hostitele stisknutím ctrl+C v okně func.exe
terminálu.
deactivate
ukončete virtuální prostředí.Můžete si projít kód, který definuje dva koncové body funkce triggeru HTTP:
[Function("httpget")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get")]
HttpRequest req,
string name)
{
var returnValue = string.IsNullOrEmpty(name)
? "Hello, World."
: $"Hello, {name}.";
_logger.LogInformation($"C# HTTP trigger function processed a request for {returnValue}.");
return new OkObjectResult(returnValue);
}
@FunctionName("httpget")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.FUNCTION)
HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
// Parse query parameter
String name = Optional.ofNullable(request.getQueryParameters().get("name")).orElse("World");
return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name).build();
}
const { app } = require('@azure/functions');
app.http('httpget', {
methods: ['GET'],
authLevel: 'function',
handler: async (request, context) => {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || await request.text() || 'world';
return { body: `Hello, ${name}!` };
}
});
import { app, HttpRequest, HttpResponseInit, InvocationContext } from "@azure/functions";
export async function httpGetFunction(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log(`Http function processed request for url "${request.url}"`);
const name = request.query.get('name') || await request.text() || 'world';
return { body: `Hello, ${name}!` };
};
app.http('httpget', {
methods: ['GET'],
authLevel: 'function',
handler: httpGetFunction
});
Tento function.json
soubor definuje httpget
funkci:
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "Request",
"methods": [
"get"
],
"route": "httpget"
},
{
"type": "http",
"direction": "out",
"name": "Response"
}
]
}
Tento run.ps1
soubor implementuje kód funkce:
using namespace System.Net
# Input bindings are passed in via param block.
param($Request, $TriggerMetadata)
# Write to the Azure Functions log stream.
Write-Host "PowerShell HTTP trigger function processed a request."
# Interact with query parameters
$name = $Request.Query.name
$body = "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response."
if ($name) {
$body = "Hello, $name. This HTTP triggered function executed successfully."
}
# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
Body = $body
})
@app.route(route="httpget", methods=["GET"])
def http_get(req: func.HttpRequest) -> func.HttpResponse:
name = req.params.get("name", "World")
logging.info(f"Processing GET request. Name: {name}")
return func.HttpResponse(f"Hello, {name}!")
Po místním ověření funkcí je čas je publikovat do Azure.
Tento projekt je nakonfigurovaný tak, aby pomocí azd provision
příkazu vytvořil aplikaci funkcí v plánu Flex Consumption spolu s dalšími požadovanými prostředky Azure.
Poznámka
Tento projekt zahrnuje sadu souborů Bicep, které používají k vytvoření zabezpečeného nasazení do plánu Flex Consumption, který azd
dodržuje osvědčené postupy.
azd deploy
Pro azd up
aplikace v Javě se v současné době nepodporují příkazy.
V kořenové složce projektu spusťte tento příkaz a vytvořte požadované prostředky Azure:
azd provision
Kořenová složka obsahuje azure.yaml
definiční soubor vyžadovaný azd
.
Pokud ještě nejste přihlášení, zobrazí se výzva k ověření pomocí účtu Azure.
Po zobrazení výzvy zadejte tyto požadované parametry nasazení:
Parametr | Popis |
---|---|
Předplatné Azure | Předplatné, ve kterém se vaše prostředky vytvářejí. |
Umístění Azure | Oblast Azure, ve které se má vytvořit skupina prostředků, která obsahuje nové prostředky Azure. Zobrazí se pouze oblasti, které aktuálně podporují plán Flex Consumption. |
Příkaz azd provision
použije vaši odpověď na tyto výzvy s konfiguračními soubory Bicep k vytvoření a konfiguraci těchto požadovaných prostředků Azure:
Po úspěšném dokončení příkazu můžete kód projektu nasadit do této nové aplikace funkcí v Azure.
Pomocí nástrojů Core Tools můžete zabalit kód a nasadit ho target
do Azure z výstupní složky.
Ve výstupní složce přejděte ke složce aplikace ekvivalentní target
:
cd http/target/azure-functions/contoso-functions
Tato složka by měla mít soubor host.json, který označuje, že se jedná o kořen zkompilované aplikace funkcí Java.
Spuštěním těchto příkazů nasaďte zkompilovaný projekt kódu Java do nového prostředku aplikace funkcí v Azure pomocí nástrojů Core Tools:
APP_NAME=$(azd env get-value AZURE_FUNCTION_NAME)
func azure functionapp publish $APP_NAME
Příkaz azd env get-value
získá název vaší aplikace funkcí z místního prostředí, které je vyžadováno pro nasazení pomocí func azure functionapp publish
. Po úspěšném dokončení publikování se v Azure zobrazí odkazy na koncové body triggeru HTTP.
Tento projekt je nakonfigurovaný tak, aby pomocí azd up
příkazu nasadil tento projekt do nové aplikace funkcí v plánu Flex Consumption v Azure.
Tip
Tento projekt zahrnuje sadu souborů Bicep, které používají k vytvoření zabezpečeného nasazení do plánu Flex Consumption, který azd
dodržuje osvědčené postupy.
Spuštěním tohoto příkazu vytvořte azd
požadované prostředky Azure v Azure a nasaďte projekt kódu do nové aplikace funkcí:
azd up
Kořenová složka obsahuje azure.yaml
definiční soubor vyžadovaný azd
.
Pokud ještě nejste přihlášení, zobrazí se výzva k ověření pomocí účtu Azure.
Po zobrazení výzvy zadejte tyto požadované parametry nasazení:
Parametr | Popis |
---|---|
Předplatné Azure | Předplatné, ve kterém se vaše prostředky vytvářejí. |
Umístění Azure | Oblast Azure, ve které se má vytvořit skupina prostředků, která obsahuje nové prostředky Azure. Zobrazí se pouze oblasti, které aktuálně podporují plán Flex Consumption. |
Příkaz azd up
použije k dokončení těchto úloh nasazení odpověď na tyto výzvy s konfiguračními soubory Bicep:
Vytvořte a nakonfigurujte tyto požadované prostředky Azure (ekvivalentní azd provision
):
Zabalte a nasaďte kód do kontejneru nasazení (ekvivalentní).azd deploy
Aplikace se pak spustí a spustí v nasazeném balíčku.
Po úspěšném dokončení příkazu se zobrazí odkazy na prostředky, které jste vytvořili.
Koncové body funkcí v Azure teď můžete vyvolat tak, že na jejich adresy URL odešlete požadavky HTTP pomocí testovacího nástroje HTTP nebo z prohlížeče (pro požadavky GET). Při spuštění funkcí v Azure se vynucuje autorizace přístupového klíče a vy musíte zadat přístupový klíč funkce s vaším požadavkem.
Nástroje Core Tools můžete použít k získání koncových bodů adresy URL vašich funkcí spuštěných v Azure.
V místním terminálu nebo příkazovém řádku spusťte tyto příkazy, abyste získali hodnoty koncového bodu adresy URL:
$APP_NAME = azd env get-value AZURE_FUNCTION_NAME
func azure functionapp list-functions $APP_NAME --show-keys
Příkaz azd env get-value
získá název aplikace funkcí z místního prostředí.
--show-keys
Použití možnosti func azure functionapp list-functions
znamená, že vrácená adresa URL vyvolání: hodnota pro každý koncový bod obsahuje přístupový klíč na úrovni funkce.
Stejně jako předtím pomocí testovacího nástroje HTTP ověřte tyto adresy URL ve vaší aplikaci funkcí spuštěné v Azure.
Příkaz můžete spustit azd up
tolikrát, kolikrát potřebujete zřídit prostředky Azure a nasadit aktualizace kódu do aplikace funkcí.
Poznámka
Nasazené soubory kódu se vždy přepíšou nejnovějším balíčkem pro nasazení.
Vaše počáteční odpovědi na azd
výzvy a všechny proměnné prostředí vygenerované azd
pomocí se ukládají místně ve vašem pojmenovaném prostředí.
azd env get-values
Pomocí příkazu zkontrolujte všechny proměnné ve vašem prostředí, které se použily při vytváření prostředků Azure.
Po dokončení práce s aplikací funkcí a souvisejícími prostředky můžete pomocí tohoto příkazu odstranit aplikaci funkcí a související prostředky z Azure a vyhnout se dalším nákladům:
azd down --no-prompt
Poznámka
Tato --no-prompt
možnost dává azd
pokyn k odstranění skupiny prostředků bez potvrzení od vás.
Tento příkaz nemá vliv na místní projekt kódu.
Události
Vytváření inteligentních aplikací
17. 3. 21 - 21. 3. 10
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Modul
Publikování rozhraní API do Azure Static Web Apps - Training
Publikování aplikace a rozhraní API JavaScriptu angular, React, Svelte nebo Vue pomocí Azure Static Web Apps a Azure Functions Nasaďte svůj kód z GitHubu na přípravný web pomocí náhledových URL.
Certifikace
Microsoft Certifikát: Azure Vývojářský Asistent - Certifications
Vytvářejte ucelená řešení v Microsoft Azure pro vytváření funkcí Azure, implementaci a správu webových aplikací, vývoj řešení využívajících úložiště Azure a další.
Dokumentace
Vytvoření první funkce na webu Azure Portal
Naučíte se postup vytvoření první funkce Azure Function pro provádění pomocí webu Azure Portal bez serveru.
Vytvoření funkce Pythonu pomocí editoru Visual Studio Code – Azure Functions
Zjistěte, jak vytvořit funkci Pythonu a pak publikovat místní projekt do bezserverového hostování ve službě Azure Functions pomocí rozšíření Azure Functions v editoru Visual Studio Code.
Začínáme se službou Azure Functions
Proveďte první kroky k práci se službou Azure Functions.