Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při spuštění funkce vstupní vazba Azure Database for MySQL načte data z databáze a předá ji vstupnímu parametru funkce.
Informace o nastavení a konfiguraci najdete v přehledu.
Důležité
Tento článek používá karty pro podporu více verzí programovacího modelu Node.js. Model v4 je obecně dostupný a je navržený tak, aby měl flexibilnější a intuitivnější prostředí pro vývojáře v JavaScriptu a TypeScriptu. Další podrobnosti o tom, jak model v4 funguje, najdete v příručce pro vývojáře služby Azure Functions Node.js. Další informace o rozdílech mezi v3 a v4 najdete v průvodci migrací.
Příklady
Funkci jazyka C# můžete vytvořit pomocí jednoho z následujících režimů jazyka C#:
- Izolovaný model pracovního procesu: Kompilovaná funkce jazyka C#, která běží v pracovním procesu, který je izolovaný od modulu runtime. Izolovaný pracovní proces se vyžaduje pro podporu funkcí jazyka C# běžících na dlouhodobé podpoře (LTS) a jiných verzích než LTS pro .NET a rozhraní .NET Framework.
- Model v procesu: Zkompilovaná funkce jazyka C#, která běží ve stejném procesu jako modul runtime Azure Functions.
- Skript jazyka C#: Používá se především při vytváření funkcí jazyka C# na webu Azure Portal.
Další ukázky vstupní vazby Azure Database for MySQL jsou k dispozici v úložišti GitHub.
Tato část obsahuje následující příklady:
- Trigger HTTP, získání řádku podle ID z řetězce dotazu
- Trigger HTTP, získání více řádků ze směrovacích dat
- Trigger HTTP, odstranění řádků
Příklady odkazují na Product třídu a odpovídající tabulku databáze:
namespace AzureMySqlSamples.Common
{
public class Product
{
public int? ProductId { get; set; }
public string Name { get; set; }
public int Cost { get; set; }
public override bool Equals(object obj)
}
}
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, získání řádku podle ID z řetězce dotazu
Následující příklad ukazuje funkci jazyka C#, která načte jeden záznam. Funkce se aktivuje požadavkem HTTP, který k zadání ID používá řetězec dotazu. Toto ID se používá k načtení záznamu Product se zadaným dotazem.
Poznámka:
Parametr řetězce dotazu HTTP rozlišují malá a velká písmena.
using System.Collections.Generic;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.MySql;
using Microsoft.Azure.Functions.Worker.Http;
using AzureMySqlSamples.Common;
namespace AzureMySqlSamples.InputBindingIsolatedSamples
{
public static class GetProductById
{
[Function(nameof(GetProductById))]
public static IEnumerable<Product> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getproducts/{productId}")]
HttpRequestData req,
[MySqlInput("select * from Products where ProductId = @productId",
"MySqlConnectionString",
parameters: "@ProductId={productId}")]
IEnumerable<Product> products)
{
return products;
}
}
}
Trigger HTTP, získání více řádků z parametru trasy
Následující příklad ukazuje funkci jazyka C# , která načte řádky, které vrátil dotaz. Funkce se aktivuje požadavkem HTTP, který používá směrovací data k určení hodnoty parametru dotazu. Tento parametr slouží k filtrování Product záznamů v zadaném dotazu.
using System.Collections.Generic;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.MySql;
using Microsoft.Azure.Functions.Worker.Http;
using AzureMySqlSamples.Common;
namespace AzureMySqlSamples.InputBindingIsolatedSamples
{
public static class GetProducts
{
[Function(nameof(GetProducts))]
public static IEnumerable<Product> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getproducts")]
HttpRequestData req,
[MySqlInput("select * from Products",
"MySqlConnectionString")]
IEnumerable<Product> products)
{
return products;
}
}
}
Trigger HTTP, odstranění řádků
Následující příklad ukazuje funkci jazyka C# , která spouští uloženou proceduru se vstupem z parametru dotazu požadavku HTTP.
Uložená procedura DeleteProductsCost musí být vytvořena v databázi MySQL. V tomto příkladu uložená procedura odstraní jeden záznam nebo všechny záznamy v závislosti na hodnotě parametru.
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = cost;
END
namespace AzureMySqlSamples.InputBindingSamples
{
public static class GetProductsStoredProcedure
{
[FunctionName(nameof(GetProductsStoredProcedure))]
public static IActionResult Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getproducts-storedprocedure/{cost}")]
HttpRequest req,
[MySql("DeleteProductsCost",
"MySqlConnectionString",
commandType: System.Data.CommandType.StoredProcedure,
parameters: "@Cost={cost}")]
IEnumerable<Product> products)
{
return new OkObjectResult(products);
}
}
}
Další ukázky vstupní vazby Azure Database for MySQL jsou k dispozici v úložišti GitHub.
Tato část obsahuje následující příklady:
- Trigger HTTP, získání více řádků
- Trigger HTTP, získání řádku podle ID z řetězce dotazu
- Trigger HTTP, odstranění řádků
Příklady odkazují na Product třídu a odpovídající tabulku databáze:
package com.function.Common;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Product {
@JsonProperty("ProductId")
private int ProductId;
@JsonProperty("Name")
private String Name;
@JsonProperty("Cost")
private int Cost;
public Product() {
}
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, získání více řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL ve funkci Java, kterou aktivuje požadavek HTTP. Vazba se načte z dotazu a vrátí výsledky v odpovědi HTTP.
package com.function;
import com.function.Common.Product;
import com.microsoft.azure.functions.HttpMethod;
import com.microsoft.azure.functions.HttpRequestMessage;
import com.microsoft.azure.functions.HttpResponseMessage;
import com.microsoft.azure.functions.HttpStatus;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.annotation.HttpTrigger;
import com.microsoft.azure.functions.mysql.annotation.CommandType;
import com.microsoft.azure.functions.mysql.annotation.MySqlInput;
import java.util.Optional;
public class GetProducts {
@FunctionName("GetProducts")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "getproducts}")
HttpRequestMessage<Optional<String>> request,
@MySqlInput(
name = "products",
commandText = "SELECT * FROM Products",
commandType = CommandType.Text,
connectionStringSetting = "MySqlConnectionString")
Product[] products) {
return request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(products).build();
}
}
Trigger HTTP, získání řádku podle ID z řetězce dotazu
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL ve funkci Java, kterou aktivuje požadavek HTTP. Vazba čte z dotazu filtrovaného parametrem z řetězce dotazu a vrátí řádek v odpovědi HTTP.
public class GetProductById {
@FunctionName("GetProductById")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "getproducts/{productid}")
HttpRequestMessage<Optional<String>> request,
@MySqlInput(
name = "products",
commandText = "SELECT * FROM Products WHERE ProductId= @productId",
commandType = CommandType.Text,
parameters = "@productId={productid}",
connectionStringSetting = "MySqlConnectionString")
Product[] products) {
return request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(products).build();
}
}
Trigger HTTP, odstranění řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL ve funkci Java, kterou aktivuje požadavek HTTP. Vazba spustí uloženou proceduru se vstupem z parametru dotazu požadavku HTTP.
Uložená procedura DeleteProductsCost musí být vytvořena v databázi. V tomto příkladu uložená procedura odstraní jeden záznam nebo všechny záznamy v závislosti na hodnotě parametru.
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = cost;
END
public class DeleteProductsStoredProcedure {
@FunctionName("DeleteProductsStoredProcedure")
public HttpResponseMessage run(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS,
route = "Deleteproducts-storedprocedure/{cost}")
HttpRequestMessage<Optional<String>> request,
@MySqlInput(
name = "products",
commandText = "DeleteProductsCost",
commandType = CommandType.StoredProcedure,
parameters = "@Cost={cost}",
connectionStringSetting = "MySqlConnectionString")
Product[] products) {
return request.createResponseBuilder(HttpStatus.OK).header("Content-Type", "application/json").body(products).build();
}
}
Další ukázky vstupní vazby Azure Database for MySQL jsou k dispozici v úložišti GitHub.
Tato část obsahuje následující příklady:
- Trigger HTTP, získání více řádků
- Trigger HTTP, získání řádku podle ID z řetězce dotazu
- Trigger HTTP, odstranění řádků
Příklady odkazují na tabulku databáze:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, získání více řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL, kterou aktivuje požadavek HTTP. Vazba se načte z dotazu a vrátí výsledky v odpovědi HTTP.
import { app, HttpRequest, HttpResponseInit, input, InvocationContext } from '@azure/functions';
const mysqlInput = input.generic({
commandText: 'select * from Products',
commandType: 'Text',
connectionStringSetting: 'MySqlConnectionString',
});
export async function httpTrigger1(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log('HTTP trigger and MySQL input binding function processed a request.');
const products = context.extraInputs.get(mysqlInput);
return {
jsonBody: products,
};
}
app.http('httpTrigger1', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraInputs: [mysqlInput],
handler: httpTrigger1,
});
const { app, input } = require('@azure/functions');
const mysqlInput = input.generic({
type: 'mysql',
commandText: 'select * from Products where Cost = @Cost',
parameters: '@Cost={Cost}',
commandType: 'Text',
connectionStringSetting: 'MySqlConnectionString'
})
app.http('GetProducts', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
route: 'getproducts/{cost}',
extraInputs: [mysqlInput],
handler: async (request, context) => {
const products = JSON.stringify(context.extraInputs.get(mysqlInput));
return {
status: 200,
body: products
};
}
});
Trigger HTTP, získání řádku podle ID z řetězce dotazu
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL, kterou aktivuje požadavek HTTP. Vazba čte z dotazu filtrovaného parametrem z řetězce dotazu a vrátí řádek v odpovědi HTTP.
import { app, HttpRequest, HttpResponseInit, input, InvocationContext } from '@azure/functions';
const mysqlInput = input.generic({
commandText: 'select * from Products where ProductId= @productId',
commandType: 'Text',
parameters: '@productId={productid}',
connectionStringSetting: 'MySqlConnectionString',
});
export async function httpTrigger1(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log('HTTP trigger and MySQL input binding function processed a request.');
const products = context.extraInputs.get(mysqlInput);
return {
jsonBody: products,
};
}
app.http('httpTrigger1', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraInputs: [mysqlInput],
handler: httpTrigger1,
});
const { app, input } = require('@azure/functions');
const mysqlInput = input.generic({
type: 'mysql',
commandText: 'select * from Products where ProductId= @productId',
commandType: 'Text',
parameters: '@productId={productid}',
connectionStringSetting: 'MySqlConnectionString'
})
app.http('GetProducts', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
route: 'getproducts/{productid}',
extraInputs: [mysqlInput],
handler: async (request, context) => {
const products = JSON.stringify(context.extraInputs.get(mysqlInput));
return {
status: 200,
body: products
};
}
});
Trigger HTTP, odstranění řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL, kterou aktivuje požadavek HTTP. Vazba spustí uloženou proceduru se vstupem z parametru dotazu požadavku HTTP.
Uložená procedura DeleteProductsCost musí být vytvořena v databázi. V tomto příkladu uložená procedura odstraní jeden záznam nebo všechny záznamy v závislosti na hodnotě parametru.
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = cost;
END
import { app, HttpRequest, HttpResponseInit, input, InvocationContext } from '@azure/functions';
const mysqlInput = input.generic({
commandText: 'DeleteProductsCost',
commandType: 'StoredProcedure',
parameters: '@Cost={cost}',
connectionStringSetting: 'MySqlConnectionString',
});
export async function httpTrigger1(request: HttpRequest, context: InvocationContext): Promise<HttpResponseInit> {
context.log('HTTP trigger and MySQL input binding function processed a request.');
const products = context.extraInputs.get(mysqlInput);
return {
jsonBody: products,
};
}
app.http('httpTrigger1', {
methods: ['GET', 'POST'],
authLevel: 'anonymous',
extraInputs: [mysqlInput],
handler: httpTrigger1,
});
const { app, input } = require('@azure/functions');
const mysqlInput = input.generic({
type: 'mysql',
commandText: 'DeleteProductsCost',
commandType: 'StoredProcedure',
parameters: '@Cost={cost}',
connectionStringSetting: 'MySqlConnectionString'
})
app.http('httpTrigger1', {
methods: ['POST'],
authLevel: 'anonymous',
route: 'DeleteProductsByCost',
extraInputs: [mysqlInput],
handler: async (request, context) => {
const products = JSON.stringify(context.extraInputs.get(mysqlInput));
return {
status: 200,
body: products
};
}
});
Další ukázky vstupní vazby Azure Database for MySQL jsou k dispozici v úložišti GitHub.
Tato část obsahuje následující příklady:
- Trigger HTTP, získání více řádků
- Trigger HTTP, získání řádku podle ID z řetězce dotazu
- Trigger HTTP, odstranění řádků
Příklady odkazují na tabulku databáze:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, získání více řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL v souboru function.json a funkci PowerShellu, kterou aktivuje požadavek HTTP. Vazba se načte z dotazu a vrátí výsledky v odpovědi HTTP.
Následující příklad je svázání dat v souboru function.json:
{
"bindings": [
{
"authLevel": "function",
"name": "Request",
"type": "httpTrigger",
"direction": "in",
"methods": [
"get"
],
"route": "getproducts/{cost}"
},
{
"name": "response",
"type": "http",
"direction": "out"
},
{
"name": "products",
"type": "mysql",
"direction": "in",
"commandText": "select * from Products",
"commandType": "Text",
"connectionStringSetting": "MySqlConnectionString"
}
],
"disabled": false
}
V části Konfigurace jsou vysvětleny tyto vlastnosti.
Následující příklad je ukázkový kód PowerShellu pro funkci v souboru run.ps1:
using namespace System.Net
param($Request, $TriggerMetadata, $products)
Write-Host "PowerShell function with MySql Input Binding processed a request."
Push-OutputBinding -Name response -Value ([HttpResponseContext]@{
StatusCode = [System.Net.HttpStatusCode]::OK
Body = $products
})
Trigger HTTP, získání řádku podle ID z řetězce dotazu
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL ve funkci PowerShellu, kterou aktivuje požadavek HTTP. Vazba čte z dotazu filtrovaného parametrem z řetězce dotazu a vrátí řádek v odpovědi HTTP.
Následující příklad je svázání dat v souboru function.json:
{
"bindings": [
{
"authLevel": "function",
"name": "Request",
"type": "httpTrigger",
"direction": "in",
"methods": [
"get"
],
"route": "getproducts/{productid}"
},
{
"name": "response",
"type": "http",
"direction": "out"
},
{
"name": "products",
"type": "mysql",
"direction": "in",
"commandText": "select * from Products where ProductId= @productId",
"commandType": "Text",
"parameters": "MySqlConnectionString",
"connectionStringSetting": "MySqlConnectionString"
}
],
"disabled": false
}
V části Konfigurace jsou vysvětleny tyto vlastnosti.
Následující příklad je ukázkový kód PowerShellu pro funkci v souboru run.ps1:
using namespace System.Net
param($Request, $TriggerMetadata, $products)
Write-Host "PowerShell function with MySql Input Binding processed a request."
Push-OutputBinding -Name response -Value ([HttpResponseContext]@{
StatusCode = [System.Net.HttpStatusCode]::OK
Body = $products
})
Trigger HTTP, odstranění řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL v souboru function.json a funkci PowerShellu, kterou aktivuje požadavek HTTP. Vazba spustí uloženou proceduru se vstupem z parametru dotazu požadavku HTTP.
Uložená procedura DeleteProductsCost musí být vytvořena v databázi. V tomto příkladu uložená procedura odstraní jeden záznam nebo všechny záznamy v závislosti na hodnotě parametru.
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = 'cost';
END
{
"bindings": [
{
"authLevel": "function",
"name": "Request",
"type": "httpTrigger",
"direction": "in",
"methods": [
"get"
],
"route": "deleteproducts-storedprocedure/{cost}"
},
{
"name": "response",
"type": "http",
"direction": "out"
},
{
"name": "products",
"type": "mysql",
"direction": "in",
"commandText": "DeleteProductsCost",
"commandType": "StoredProcedure",
"parameters": "@Cost={cost}",
"connectionStringSetting": "MySqlConnectionString"
}
],
"disabled": false
}
V části Konfigurace jsou vysvětleny tyto vlastnosti.
Následující příklad je ukázkový kód PowerShellu pro funkci v souboru run.ps1:
using namespace System.Net
param($Request, $TriggerMetadata, $products)
Write-Host "PowerShell function with MySql Input Binding processed a request."
Push-OutputBinding -Name response -Value ([HttpResponseContext]@{
StatusCode = [System.Net.HttpStatusCode]::OK
Body = $products
}
Další ukázky vstupní vazby Azure Database for MySQL jsou k dispozici v úložišti GitHub.
Tato část obsahuje následující příklady:
- Trigger HTTP, získání více řádků
- Trigger HTTP, získání řádku podle ID z řetězce dotazu
- Trigger HTTP, odstranění řádků
Příklady odkazují na tabulku databáze:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Poznámka:
Musíte použít Azure Functions verze 1.22.0b4 pro Python.
Trigger HTTP, získání více řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL v souboru function.json a funkci Pythonu, kterou aktivuje požadavek HTTP. Vazba se načte z dotazu a vrátí výsledky v odpovědi HTTP.
Následující příklad je ukázkový kód Pythonu pro soubor function_app.py:
import azure.functions as func
import datetime
import json
import logging
app = func.FunctionApp()
@app.generic_trigger(arg_name="req", type="httpTrigger", route="getproducts/{cost}")
@app.generic_output_binding(arg_name="$return", type="http")
@app.generic_input_binding(arg_name="products", type="mysql",
commandText= "select * from Products",
command_type="Text",
connection_string_setting="MySqlConnectionString")
def mysql_test(req: func.HttpRequest, products: func.MySqlRowList) -> func.HttpResponse:
rows = list(map(lambda r: json.loads(r.to_json()), products))
return func.HttpResponse(
json.dumps(rows),
status_code=200,
mimetype="application/json"
)
Trigger HTTP, získání řádku podle ID z řetězce dotazu
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL ve funkci Pythonu, kterou aktivuje požadavek HTTP. Vazba čte z dotazu filtrovaného parametrem z řetězce dotazu a vrátí řádek v odpovědi HTTP.
Následující příklad je ukázkový kód Pythonu pro soubor function_app.py:
import azure.functions as func
import datetime
import json
import logging
app = func.FunctionApp()
@app.generic_trigger(arg_name="req", type="httpTrigger", route="getproducts/{cost}")
@app.generic_output_binding(arg_name="$return", type="http")
@app.generic_input_binding(arg_name="products", type="mysql",
commandText= "select * from Products where ProductId= @productId",
command_type="Text",
parameters= "@productId={productid}",
connection_string_setting="MySqlConnectionString")
def mysql_test(req: func.HttpRequest, products: func.MySqlRowList) -> func.HttpResponse:
rows = list(map(lambda r: json.loads(r.to_json()), products))
return func.HttpResponse(
json.dumps(rows),
status_code=200,
mimetype="application/json"
)
Trigger HTTP, odstranění řádků
Následující příklad ukazuje vstupní vazbu Azure Database for MySQL v souboru function.json a funkci Pythonu, kterou aktivuje požadavek HTTP. Vazba spustí uloženou proceduru se vstupem z parametru dotazu požadavku HTTP.
Uložená procedura DeleteProductsCost musí být vytvořena v databázi. V tomto příkladu uložená procedura odstraní jeden záznam nebo všechny záznamy v závislosti na hodnotě parametru.
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = cost;
END
Následující příklad je ukázkový kód Pythonu pro soubor function_app.py:
import azure.functions as func
import datetime
import json
import logging
app = func.FunctionApp()
@app.generic_trigger(arg_name="req", type="httpTrigger", route="getproducts/{cost}")
@app.generic_output_binding(arg_name="$return", type="http")
@app.generic_input_binding(arg_name="products", type="mysql",
commandText= "DeleteProductsCost",
command_type="StoredProcedure",
parameters= "@Cost={cost}",
connection_string_setting="MySqlConnectionString")
def mysql_test(req: func.HttpRequest, products: func.MySqlRowList) -> func.HttpResponse:
rows = list(map(lambda r: json.loads(r.to_json()), products))
return func.HttpResponse(
json.dumps(rows),
status_code=200,
mimetype="application/json"
)
Atributy
Knihovna jazyka C# pomocí atributu MySqlAttribute deklaruje vazby MySQL pro funkci. Atribut má následující vlastnosti:
| Vlastnost atributu | Popis |
|---|---|
CommandText |
Povinný: Příkaz dotazu MySQL nebo název uložené procedury, kterou vazba provede. |
ConnectionStringSetting |
Povinný: Název nastavení aplikace, které obsahuje připojovací řetězec pro databázi, na které se dotaz nebo uložená procedura provádí. Tato hodnota není skutečným připojovací řetězec a musí se místo toho přeložit na název proměnné prostředí. |
CommandType |
Povinný: Hodnota CommandType , která je Text určená pro dotaz a StoredProcedure uloženou proceduru. |
Parameters |
Nepovinné. Nula nebo více hodnot parametrů předaných příkazu během provádění jako jeden řetězec. Musí dodržovat formát @param1=param1,@param2=param2. Název parametru a hodnota parametru nemohou obsahovat čárku (,) nebo rovnítko (=). |
Poznámky
V knihovně modulu runtime funkcí Java použijte poznámku @MySQLInput k parametrům, jejichž hodnoty pocházejí ze služby Azure Database for MySQL. Tato poznámka podporuje následující prvky:
| Element (Prvek) | Popis |
|---|---|
commandText |
Povinný: Příkaz dotazu MySQL nebo název uložené procedury, kterou vazba provede. |
connectionStringSetting |
Povinný: Název nastavení aplikace, které obsahuje připojovací řetězec pro databázi, na které se dotaz nebo uložená procedura provádí. Tato hodnota není skutečným připojovací řetězec a musí se místo toho přeložit na název proměnné prostředí. |
commandType |
Povinný: Hodnota CommandType , která je Text určená pro dotaz a StoredProcedure uloženou proceduru. |
name |
Povinný: Jedinečný název vazby funkce. |
parameters |
Nepovinné. Nula nebo více hodnot parametrů předaných příkazu během provádění jako jeden řetězec. Musí dodržovat formát @param1=param1,@param2=param2. Název parametru a hodnota parametru nemohou obsahovat čárku (,) nebo rovnítko (=). |
Konfigurace
Následující tabulka vysvětluje vlastnosti, které můžete nastavit u objektu options předaného input.generic() metodě:
| Vlastnost | Popis |
|---|---|
commandText |
Povinný: Příkaz dotazu MySQL nebo název uložené procedury, kterou vazba provede. |
connectionStringSetting |
Povinný: Název nastavení aplikace, které obsahuje připojovací řetězec pro databázi, na které se dotaz nebo uložená procedura provádí. Tato hodnota není skutečným připojovací řetězec a musí se místo toho přeložit na název proměnné prostředí. Volitelná klíčová slova v hodnotě připojovací řetězec jsou k dispozici pro upřesnění připojení vazeb MySQL. |
commandType |
Povinný: Hodnota CommandType , která je Text určená pro dotaz a StoredProcedure uloženou proceduru. |
parameters |
Nepovinné. Nula nebo více hodnot parametrů předaných příkazu během provádění jako jeden řetězec. Musí dodržovat formát @param1=param1,@param2=param2. Název parametru a hodnota parametru nemohou obsahovat čárku (,) nebo rovnítko (=). |
Konfigurace
Následující tabulka vysvětluje vlastnosti konfigurace vazby, které jste nastavili v souboru function.json:
| Vlastnost | Popis |
|---|---|
type |
Povinný: Musí být nastavena na mysqlhodnotu . |
direction |
Povinný: Musí být nastavena na inhodnotu . |
name |
Povinný: Název proměnné, která představuje výsledek dotazu v kódu funkce. |
commandText |
Povinný: Příkaz dotazu MySQL nebo název uložené procedury, kterou vazba provede. |
connectionStringSetting |
Povinný: Název nastavení aplikace, které obsahuje připojovací řetězec pro databázi, na které se dotaz nebo uložená procedura provádí. Tato hodnota není skutečným připojovací řetězec a musí se místo toho přeložit na název proměnné prostředí. Volitelná klíčová slova v hodnotě připojovací řetězec jsou k dispozici pro upřesnění připojení vazeb MySQL. |
commandType |
Povinný: Hodnota CommandType , která je Text určená pro dotaz a StoredProcedure uloženou proceduru. |
parameters |
Nepovinné. Nula nebo více hodnot parametrů předaných příkazu během provádění jako jeden řetězec. Musí dodržovat formát @param1=param1,@param2=param2. Název parametru a hodnota parametru nemohou obsahovat čárku (,) nebo rovnítko (=). |
Při místním vývoji přidejte nastavení aplikace do souboru local.settings.json v kolekci Values .
Využití
Konstruktor atributu přebírá text příkazu MySQL, typ příkazu, parametry a název nastavení připojovacího řetězce. Příkazem může být dotaz MySQL s typem System.Data.CommandType.Text příkazu nebo názvem uložené procedury s typem System.Data.CommandType.StoredProcedurepříkazu . Název nastavení připojovacího řetězce odpovídá nastavení aplikace (v local.settings.json pro místní vývoj), které obsahuje připojovací řetězec ke službě Azure Database for MySQL.
Pokud při spuštění vstupní vazby Azure Database for MySQL dojde k výjimce, kód funkce se zastaví. Výsledkem může být kód chyby, například trigger HTTP, který vrací kód chyby 500.