mysql_request eklentisi
Eklenti, mysql_request
Azure MySQL Server ağ uç noktasına bir SQL sorgusu gönderir ve sonuçlardaki ilk satır kümesini döndürür. Sorgu birden fazla satır kümesi döndürebilir, ancak Kusto sorgusunun geri kalanında yalnızca ilk satır kümesi kullanılabilir hale getirilir.
Eklenti işleciyle birlikte çağrılır evaluate
.
Önemli
mysql_request
Eklenti varsayılan olarak devre dışıdır.
Eklentiyi etkinleştirmek için komutunu çalıştırın.enable plugin mysql_request
. Hangi eklentilerin etkinleştirildiğini görmek için yönetim komutlarını kullanın.show plugin
.
Sözdizimi
evaluate
mysql_request
(
Bağlan ionString,
SqlQuery [,
SqlParameters] )
[:
OutputSchema]
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
Bağlan ionString | string |
✔️ | MySQL Sunucusu ağ uç noktasını işaret eden bağlantı dizesi. Bkz. kimlik doğrulaması ve ağ uç noktasını belirtme. |
Sqlquery | string |
✔️ | SQL uç noktasında yürütülecek sorgu. Bir veya daha fazla satır kümesi döndürmelidir. Sorgunun geri kalanı için yalnızca ilk küme kullanılabilir hale getirildi. |
SqlParameters | dynamic |
Sorguyla birlikte parametre olarak geçirmek için anahtar-değer çiftlerini tutan bir özellik paketi nesnesi. | |
OutputSchema | Eklenti çıkışının beklenen sütunları mysql_request için adlar ve türler.Sözdizimi: ( ColumnName: ColumnType [, ...] ) |
Not
- OutputSchema'nın belirtilmesi kesinlikle önerilir, bu nedenle eklentinin kümeler arası sorgu gibi olmadan çalışmayabilecek senaryolarda kullanılmasına izin verir. OutputSchema, birden çok sorgu iyileştirmesini de etkinleştirebilir.
- SQL ağ uç noktası tarafından döndürülen ilk satır kümesinin çalışma zamanı şeması OutputSchema şemasıyla eşleşmiyorsa hata oluşur.
Kimlik doğrulaması ve yetkilendirme
MySQL Sunucusu ağ uç noktasına yetkilendirmek için bağlantı dizesi yetkilendirme bilgilerini belirtmeniz gerekir. Desteklenen yetkilendirme yöntemi kullanıcı adı ve parola ile yapılır.
Belirtme çizgisi ilkesini ayarlama
Eklenti, MySql veritabanına açıklama balonları yapar. Kümenin belirtme çizgisi ilkesinin hedef MySqlDbUri'ye yönelik tür mysql
çağrılarını etkinleştirdiğinden emin olun.
Aşağıdaki örnekte MySQL veritabanları için belirtme çizgisi ilkesinin nasıl tanımlanacağı gösterilmektedir. Belirtme çizgisi ilkesini belirli uç noktalarla (my_endpoint1
, my_endpoint2
) kısıtlamanızı öneririz.
[
{
"CalloutType": "mysql",
"CalloutUriRegex": "my_endpoint1\\.mysql\\.database\\.azure\\.com",
"CanCall": true
},
{
"CalloutType": "mysql",
"CalloutUriRegex": "my_endpoint2\\.mysql\\.database\\.azure\\.com",
"CanCall": true
}
]
Aşağıdaki örnekte CalloutType için mysql
bir .alter callout policy
komut gösterilmektedir:
.alter cluster policy callout @'[{"CalloutType": "mysql", "CalloutUriRegex": "\\.mysql\\.database\\.azure\\.com", "CanCall": true}]'
Kullanıcı adı ve parola kimlik doğrulaması
mysql_request
Eklenti yalnızca MySQL sunucu uç noktasında kullanıcı adı ve parola kimlik doğrulamasını destekler ve Microsoft Entra kimlik doğrulamasıyla tümleştirilmez.
Kullanıcı adı ve parola, bağlantı dizesinin bir parçası olarak aşağıdaki parametreler kullanılarak sağlanır:
User ID=...; Password=...;
Uyarı
Gizli veya korunan bilgilerin bağlantı dizesi ve sorgulardan gizlenerek Kusto izlemesinden atlanması gerekir. Daha fazla bilgi için bkz . belirsiz dize değişmez değerleri.
Şifreleme ve sunucu doğrulaması
Güvenlik için, SslMode
bir MySQL sunucusu ağ uç noktasına bağlanırken koşulsuz olarak olarak ayarlanır Required
. Sonuç olarak, sunucunun geçerli bir SSL/TLS sunucu sertifikasıyla yapılandırılması gerekir.
Ağ uç noktasını belirtme
bağlantı dizesi parçası olarak MySQL ağ uç noktasını belirtin.
Söz dizimi:
Server
=
FQDN [Port
=
Bağlantı Noktası]
Where:
- FQDN , uç noktanın tam etki alanı adıdır.
- Bağlantı noktası , uç noktanın TCP bağlantı noktasıdır. Varsayılan olarak varsayılır
3306
.
Örnekler
Azure MySQL DB'ye SQL sorgusu
Aşağıdaki örnek, Azure MySQL veritabanına bir SQL sorgusu gönderir. 'den [dbo].[Table]
tüm kayıtları alır ve ardından sonuçları işler.
Not
Bu örnek, verileri bu şekilde filtrelemek veya yansıtmak için öneri olarak alınmamalıdır. SQL sorguları, mümkün olan en küçük veri kümesini döndürecek şekilde oluşturulmalıdır.
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
Değişikliklerle Azure MySQL veritabanına SQL sorgusu
Aşağıdaki örnek, azure mysql veritabanına bir SQL sorgusu gönderir ve başka bir datetime
sütun eklerken tüm kayıtları [dbo].[Table]
alır ve ardından sonuçları Kusto tarafında işler.
SQL sorgusunda kullanılacak bir SQL parametresini (@param0
) belirtir.
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
Sorgu tanımlı çıkış şeması olmadan Azure MySQL veritabanına SQL sorgusu
Aşağıdaki örnek, çıkış şeması olmayan bir Azure MySQL veritabanına SQL sorgusu gönderir. Şema bilinmiyorsa, sorgunun performansını etkileyene kadar bu önerilmez.
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
Bu özellik Azure İzleyici'de desteklenmez.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin