mysql_request-plugin-program
Plugin-programmet mysql_request
skickar en SQL-fråga till en MySQL Server-nätverksslutpunkt och returnerar den första raduppsättningen i resultatet. Frågan kan returnera fler än en raduppsättning, men endast den första raduppsättningen görs tillgänglig för resten av Kusto-frågan.
Plugin-programmet anropas med operatorn evaluate
.
Viktigt
Plugin-programmet mysql_request
är inaktiverat som standard.
Kör kommandot för .enable plugin mysql_request
att aktivera plugin-programmet. Om du vill se vilka plugin-program som är aktiverade använder du .show plugin
hanteringskommandon.
Syntax
evaluate
mysql_request
(
Connectionstring,
SqlQuery [,
SqlParameters] )
[:
OutputSchema]
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
Connectionstring | string |
✔️ | Den anslutningssträng som pekar på MySQL Server-nätverksslutpunkten. Se autentisering och hur du anger nätverksslutpunkten. |
SqlQuery | string |
✔️ | Frågan som ska köras mot SQL-slutpunkten. Måste returnera en eller flera raduppsättningar. Endast den första uppsättningen görs tillgänglig för resten av frågan. |
SqlParameters | dynamic |
Ett egenskapsuppsättningsobjekt som innehåller nyckel/värde-par som ska skickas som parametrar tillsammans med frågan. | |
OutputSchema | Namn och typer för de förväntade kolumnerna i plugin-programmets mysql_request utdata.Syntax: ( ColumnName: ColumnType [, ...] ) |
Anteckning
- Vi rekommenderar att du anger OutputSchema eftersom det gör att plugin-programmet kan användas i scenarier som annars inte fungerar utan det, till exempel en fråga mellan kluster. OutputSchema kan också aktivera flera frågeoptimeringar.
- Ett fel utlöses om körningsschemat för den första raduppsättningen som returneras av SQL-nätverksslutpunkten inte matchar OutputSchema-schemat .
Autentisering och auktorisering
Om du vill auktorisera till en MySQL Server-nätverksslutpunkt måste du ange auktoriseringsinformationen i anslutningssträng. Auktoriseringsmetoden som stöds är via användarnamn och lösenord.
Ange pratbubblans princip
Plugin-programmet gör pratbubblan till MySql-databasen. Kontrollera att klustrets pratbubblans princip aktiverar anrop av typen mysql
till målet MySqlDbUri.
I följande exempel visas hur du definierar pratbubblans princip för MySQL-databaser. Vi rekommenderar att du begränsar pratbubblan till specifika slutpunkter (my_endpoint1
, my_endpoint2
).
[
{
"CalloutType": "mysql",
"CalloutUriRegex": "my_endpoint1\\.mysql\\.database\\.azure\\.com",
"CanCall": true
},
{
"CalloutType": "mysql",
"CalloutUriRegex": "my_endpoint2\\.mysql\\.database\\.azure\\.com",
"CanCall": true
}
]
I följande exempel visas ett .alter callout policy
kommando för mysql
CalloutType:
.alter cluster policy callout @'[{"CalloutType": "mysql", "CalloutUriRegex": "\\.mysql\\.database\\.azure\\.com", "CanCall": true}]'
Autentisering med användarnamn och lösenord
Plugin-programmet mysql_request
stöder endast autentisering med användarnamn och lösenord till MySQL-serverslutpunkten och integreras inte med Microsoft Entra-autentisering.
Användarnamnet och lösenordet anges som en del av anslutningssträngen med hjälp av följande parametrar:
User ID=...; Password=...;
Varning
Konfidentiell eller skyddad information bör döljas från anslutningssträngar och frågor så att de utelämnas från kusto-spårning. Mer information finns i dolda strängliteraraler.
Kryptering och servervalidering
För säkerhet SslMode
är villkorslöst inställt på Required
när du ansluter till en MySQL-servernätverksslutpunkt. Därför måste servern konfigureras med ett giltigt SSL/TLS-servercertifikat.
Ange nätverksslutpunkten
Ange MySQL-nätverksslutpunkten som en del av anslutningssträng.
Syntax:
Server
=
FQDN [Port
=
port]
Plats:
- FQDN är slutpunktens fullständigt kvalificerade domännamn.
- Port är TCP-porten för slutpunkten. Som standard
3306
antas.
Exempel
SQL-fråga till Azure MySQL DB
I följande exempel skickas en SQL-fråga till en Azure MySQL-databas. Den hämtar alla poster från [dbo].[Table]
och bearbetar sedan resultatet.
Anteckning
Det här exemplet bör inte användas som en rekommendation för att filtrera eller projektdata på det här sättet. SQL-frågor bör konstrueras för att returnera den minsta möjliga datamängden.
evaluate mysql_request(
'Server=contoso.mysql.database.azure.com; Port = 3306;'
'Database=Fabrikam;'
h'UID=USERNAME;'
h'Pwd=PASSWORD;',
'select * from `dbo`.`Table`') : (Id: int, Name: string)
| where Id > 0
| project Name
SQL-fråga till en Azure MySQL-databas med ändringar
I följande exempel skickas en SQL-fråga till en Azure MySQL-databas som hämtar alla poster från [dbo].[Table]
och lägger till en annan datetime
kolumn och bearbetar sedan resultaten på Kusto-sidan.
Den anger en SQL-parameter (@param0
) som ska användas i SQL-frågan.
evaluate mysql_request(
'Server=contoso.mysql.database.azure.com; Port = 3306;'
'Database=Fabrikam;'
h'UID=USERNAME;'
h'Pwd=PASSWORD;',
'select *, @param0 as dt from `dbo`.`Table`',
dynamic({'param0': datetime(2020-01-01 16:47:26.7423305)})) : (Id:long, Name:string, dt: datetime)
| where Id > 0
| project Name
SQL-fråga till en Azure MySQL-databas utan ett frågedefinierat utdataschema
I följande exempel skickas en SQL-fråga till en Azure MySQL-databas utan ett utdataschema. Detta rekommenderas inte om inte schemat är okänt, eftersom det kan påverka frågans prestanda.
evaluate mysql_request(
'Server=contoso.mysql.database.azure.com; Port = 3306;'
'Database=Fabrikam;'
h'UID=USERNAME;'
h'Pwd=PASSWORD;',
'select * from `dbo`.`Table`')
| where Id > 0
| project Name
Den här funktionen stöds inte i Azure Monitor.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för