Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando viene eseguita una funzione, l'associazione di input Database di Azure per MySQL recupera i dati da un database e lo passa al parametro di input della funzione.
Per informazioni sull'installazione e la configurazione, vedere la panoramica.
Importante
Questo articolo usa schede per supportare le versioni diverse del modello di programmazione Node.js. Il modello v4 è disponibile a livello generale ed è progettato per offrire un'esperienza più flessibile e intuitiva per gli sviluppatori JavaScript e TypeScript. Per altre informazioni sul funzionamento del modello v4, vedere la guida per gli sviluppatori di Node.js per Funzioni di Azure. Altre informazioni sulle differenze tra i modelli v3 e v4 sono disponibili nella guida alla migrazione.
Esempi
È possibile creare una funzione C# usando una delle modalità C# seguenti:
- Modello di lavoro isolato: funzione C# compilata eseguita in un processo di lavoro isolato dal runtime. È necessario un processo di lavoro isolato per supportare le funzioni C# in esecuzione su versioni LTS (Long-Term Support) e non LTS per .NET e .NET Framework.
- Modello in-process: funzione C# compilata eseguita nello stesso processo del runtime di Funzioni di Azure.
- Script C#: usato principalmente quando si creano funzioni C# nel portale di Azure.
Altri esempi per l'associazione di input Database di Azure per MySQL sono disponibili nel repository GitHub.
Questa sezione contiene gli esempi seguenti:
- Trigger HTTP, ottenere una riga per ID da una stringa di query
- Trigger HTTP, recupero di più righe dai dati di route
- Trigger HTTP, eliminare righe
Gli esempi fanno riferimento a una classe Product e a una tabella di database corrispondente:
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, ottenere una riga per ID da una stringa di query
L'esempio seguente illustra una funzione C# che recupera un singolo record. La funzione viene attivata da una richiesta HTTP che usa una stringa di query per specificare l'ID. Tale ID viene usato per recuperare un record Product con la query specificata.
Nota
Il parametro di stringa di query HTTP fa distinzione tra maiuscole e minuscole.
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, ottenere più righe da un parametro di route
L'esempio seguente mostra una funzione C# che recupera le righe restituite dalla query. La funzione viene attivata da una richiesta HTTP che usa i dati di route per specificare il valore di un parametro di query. Tale parametro viene usato per filtrare i Product record nella query specificata.
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, eliminazione di righe
L'esempio seguente illustra una funzione C# che esegue una stored procedure con input dal parametro di query della richiesta HTTP.
La stored procedure DeleteProductsCost deve essere creata nel database MySQL. In questo esempio la stored procedure elimina un singolo record o tutti i record, a seconda del valore del parametro .
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);
}
}
}
Altri esempi per l'associazione di input Database di Azure per MySQL sono disponibili nel repository GitHub.
Questa sezione contiene gli esempi seguenti:
- Trigger HTTP, ottenere più righe
- Trigger HTTP, ottenere una riga per ID da una stringa di query
- Trigger HTTP, eliminare righe
Gli esempi fanno riferimento a una classe Product e a una tabella di database corrispondente:
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, ottenere più righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in una funzione Java attivata da una richiesta HTTP. L'associazione legge da una query e restituisce i risultati nella risposta 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, ottenere una riga per ID da una stringa di query
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in una funzione Java attivata da una richiesta HTTP. L'associazione legge da una query filtrata in base a un parametro dalla stringa di query e restituisce la riga nella risposta 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, eliminazione di righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in una funzione Java attivata da una richiesta HTTP. L'associazione esegue una stored procedure con input dal parametro di query della richiesta HTTP.
La stored procedure DeleteProductsCost deve essere creata nel database. In questo esempio la stored procedure elimina un singolo record o tutti i record, a seconda del valore del parametro .
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();
}
}
Altri esempi per l'associazione di input Database di Azure per MySQL sono disponibili nel repository GitHub.
Questa sezione contiene gli esempi seguenti:
- Trigger HTTP, ottenere più righe
- Trigger HTTP, ottenere una riga per ID da una stringa di query
- Trigger HTTP, eliminare righe
Gli esempi fanno riferimento a una tabella di database:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, ottenere più righe
L'esempio seguente mostra un'associazione di input di Database di Azure per MySQL attivata da una richiesta HTTP. L'associazione legge da una query e restituisce i risultati nella risposta 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, ottenere una riga per ID da una stringa di query
L'esempio seguente mostra un'associazione di input di Database di Azure per MySQL attivata da una richiesta HTTP. L'associazione legge da una query filtrata in base a un parametro dalla stringa di query e restituisce la riga nella risposta 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, eliminazione di righe
L'esempio seguente mostra un'associazione di input di Database di Azure per MySQL attivata da una richiesta HTTP. L'associazione esegue una stored procedure con input dal parametro di query della richiesta HTTP.
La stored procedure DeleteProductsCost deve essere creata nel database. In questo esempio la stored procedure elimina un singolo record o tutti i record, a seconda del valore del parametro .
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
};
}
});
Altri esempi per l'associazione di input Database di Azure per MySQL sono disponibili nel repository GitHub.
Questa sezione contiene gli esempi seguenti:
- Trigger HTTP, ottenere più righe
- Trigger HTTP, ottenere una riga per ID da una stringa di query
- Trigger HTTP, eliminare righe
Gli esempi fanno riferimento a una tabella di database:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Trigger HTTP, ottenere più righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in un file function.json e una funzione di PowerShell attivata da una richiesta HTTP. L'associazione legge da una query e restituisce i risultati nella risposta HTTP.
L'esempio seguente è l'associazione dei dati nel file 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
}
La sezione Configurazione illustra queste proprietà.
L'esempio seguente è il codice di PowerShell di esempio per la funzione nel file 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, ottenere una riga per ID da una stringa di query
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in una funzione di PowerShell attivata da una richiesta HTTP. L'associazione legge da una query filtrata in base a un parametro dalla stringa di query e restituisce la riga nella risposta HTTP.
L'esempio seguente è l'associazione dei dati nel file 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
}
La sezione Configurazione illustra queste proprietà.
L'esempio seguente è il codice di PowerShell di esempio per la funzione nel file 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, eliminazione di righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in un file function.json e una funzione di PowerShell attivata da una richiesta HTTP. L'associazione esegue una stored procedure con input dal parametro di query della richiesta HTTP.
La stored procedure DeleteProductsCost deve essere creata nel database. In questo esempio la stored procedure elimina un singolo record o tutti i record, a seconda del valore del parametro .
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
}
La sezione Configurazione illustra queste proprietà.
L'esempio seguente è il codice di PowerShell di esempio per la funzione nel file 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
}
Altri esempi per l'associazione di input Database di Azure per MySQL sono disponibili nel repository GitHub.
Questa sezione contiene gli esempi seguenti:
- Trigger HTTP, ottenere più righe
- Trigger HTTP, ottenere una riga per ID da una stringa di query
- Trigger HTTP, eliminare righe
Gli esempi fanno riferimento a una tabella di database:
DROP TABLE IF EXISTS Products;
CREATE TABLE Products (
ProductId int PRIMARY KEY,
Name varchar(100) NULL,
Cost int NULL
);
Nota
È necessario usare Funzioni di Azure versione 1.22.0b4 per Python.
Trigger HTTP, ottenere più righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in un file function.json e una funzione Python attivata da una richiesta HTTP. L'associazione legge da una query e restituisce i risultati nella risposta HTTP.
L'esempio seguente è il codice Python di esempio per il file 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, ottenere una riga per ID da una stringa di query
L'esempio seguente mostra un'associazione di input di Database di Azure per MySQL in una funzione Python attivata da una richiesta HTTP. L'associazione legge da una query filtrata in base a un parametro dalla stringa di query e restituisce la riga nella risposta HTTP.
L'esempio seguente è il codice Python di esempio per il file 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, eliminazione di righe
L'esempio seguente illustra un'associazione di input di Database di Azure per MySQL in un file function.json e una funzione Python attivata da una richiesta HTTP. L'associazione esegue una stored procedure con input dal parametro di query della richiesta HTTP.
La stored procedure DeleteProductsCost deve essere creata nel database. In questo esempio la stored procedure elimina un singolo record o tutti i record, a seconda del valore del parametro .
DROP PROCEDURE IF EXISTS DeleteProductsCost;
Create Procedure DeleteProductsCost(cost INT)
BEGIN
DELETE from Products where Products.cost = cost;
END
L'esempio seguente è il codice Python di esempio per il file 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"
)
Attributi
La libreria C# usa l'attributo MySqlAttribute per dichiarare le associazioni MySQL nella funzione. L'attributo ha le proprietà seguenti:
| Proprietà dell'attributo | Descrizione |
|---|---|
CommandText |
Obbligatorio. Comando di query MySQL o nome della stored procedure eseguita dall'associazione. |
ConnectionStringSetting |
Obbligatorio. Nome di un'impostazione dell'app contenente la stringa di connessione per il database su cui viene eseguita la query o la stored procedure. Questo valore non è il stringa di connessione effettivo e deve essere invece risolto in un nome di variabile di ambiente. |
CommandType |
Obbligatorio. Valore CommandType , che è Text per una query e StoredProcedure per una stored procedure. |
Parameters |
Facoltativo. Zero o più valori di parametro passati al comando durante l'esecuzione come singola stringa. Deve seguire il formato @param1=param1,@param2=param2. Il nome del parametro e il valore del parametro non possono contenere una virgola (,) o un segno di uguale (=). |
Annotazioni
Nella libreria di runtime delle funzioni Java usare l'annotazione @MySQLInput sui parametri i cui valori provengono da Database di Azure per MySQL. Questa annotazione supporta gli elementi seguenti:
| Elemento | Descrizione |
|---|---|
commandText |
Obbligatorio. Comando di query MySQL o nome della stored procedure eseguita dall'associazione. |
connectionStringSetting |
Obbligatorio. Nome di un'impostazione dell'app contenente la stringa di connessione per il database su cui viene eseguita la query o la stored procedure. Questo valore non è il stringa di connessione effettivo e deve essere invece risolto in un nome di variabile di ambiente. |
commandType |
Obbligatorio. Valore CommandType , che è Text per una query e StoredProcedure per una stored procedure. |
name |
Obbligatorio. Nome univoco dell'associazione di funzioni. |
parameters |
Facoltativo. Zero o più valori di parametro passati al comando durante l'esecuzione come singola stringa. Deve seguire il formato @param1=param1,@param2=param2. Il nome del parametro e il valore del parametro non possono contenere una virgola (,) o un segno di uguale (=). |
Impostazione
La tabella seguente illustra le proprietà che è possibile impostare sull'oggetto options passato al input.generic() metodo :
| Proprietà | Descrizione |
|---|---|
commandText |
Obbligatorio. Comando di query MySQL o nome della stored procedure eseguita dall'associazione. |
connectionStringSetting |
Obbligatorio. Nome di un'impostazione dell'app contenente la stringa di connessione per il database su cui viene eseguita la query o la stored procedure. Questo valore non è il stringa di connessione effettivo e deve essere invece risolto in un nome di variabile di ambiente. Le parole chiave facoltative nel valore stringa di connessione sono disponibili per perfezionare la connettività delle associazioni MySQL. |
commandType |
Obbligatorio. Valore CommandType , che è Text per una query e StoredProcedure per una stored procedure. |
parameters |
Facoltativo. Zero o più valori di parametro passati al comando durante l'esecuzione come singola stringa. Deve seguire il formato @param1=param1,@param2=param2. Il nome del parametro e il valore del parametro non possono contenere una virgola (,) o un segno di uguale (=). |
Impostazione
La tabella seguente illustra le proprietà di configurazione dell'associazione impostate nel file function.json:
| Proprietà | Descrizione |
|---|---|
type |
Obbligatorio. Deve essere impostato su mysql. |
direction |
Obbligatorio. Deve essere impostato su in. |
name |
Obbligatorio. Nome della variabile che rappresenta i risultati della query nel codice della funzione. |
commandText |
Obbligatorio. Comando di query MySQL o nome della stored procedure eseguita dall'associazione. |
connectionStringSetting |
Obbligatorio. Nome di un'impostazione dell'app contenente la stringa di connessione per il database su cui viene eseguita la query o la stored procedure. Questo valore non è il stringa di connessione effettivo e deve essere invece risolto in un nome di variabile di ambiente. Le parole chiave facoltative nel valore stringa di connessione sono disponibili per perfezionare la connettività delle associazioni MySQL. |
commandType |
Obbligatorio. Valore CommandType , che è Text per una query e StoredProcedure per una stored procedure. |
parameters |
Facoltativo. Zero o più valori di parametro passati al comando durante l'esecuzione come singola stringa. Deve seguire il formato @param1=param1,@param2=param2. Il nome del parametro e il valore del parametro non possono contenere una virgola (,) o un segno di uguale (=). |
Quando si sviluppa in locale, aggiungere le impostazioni dell'applicazione nel file local.settings.json nella Values raccolta.
Utilizzo
Il costruttore dell'attributo accetta il testo del comando MySQL, il tipo di comando, i parametri e il nome dell'impostazione della stringa di connessione. Il comando può essere una query MySQL con il tipo di System.Data.CommandType.Text comando o un nome di stored procedure con il tipo di System.Data.CommandType.StoredProcedurecomando . Il nome dell'impostazione della stringa di connessione corrisponde all'impostazione dell'applicazione (in local.settings.json per lo sviluppo locale) che contiene la stringa di connessione a Database di Azure per MySQL.
Se si verifica un'eccezione quando viene eseguita un'associazione di input di Database di Azure per MySQL, il codice della funzione smette di eseguire. Il risultato potrebbe essere un codice di errore, ad esempio un trigger HTTP che restituisce un codice di errore 500.