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řepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer
Mapování JSON slouží k mapování příchozích dat na sloupce uvnitř tabulek, když je zdrojový soubor příjmu dat ve formátu JSON.
Každý prvek v seznamu mapování definuje mapování pro určitý sloupec. Tyto prvky jsou tvořeny ze tří vlastností: column, datatypea properties. Další informace najdete v přehledu mapování dat.
Každý element mapování JSON musí obsahovat jednu z následujících volitelných vlastností:
Důležité
Příjem dat ve frontě:
- Pokud tabulka odkazovaná v mapování v databázi neexistuje, vytvoří se automaticky vzhledem k tomu, že platné datové typy jsou zadány pro všechny sloupce.
- Pokud sloupec odkazovaný v mapování v tabulce neexistuje, přidá se automaticky do tabulky jako poslední sloupec při prvním ingestování dat pro tento sloupec, protože je pro sloupec zadaný platný datový typ. Pokud chcete do mapování přidat nové sloupce, použijte příkaz .alter ingestion mapping.
- Data se dávková pomocí vlastností příjmu dat. Čím více jedinečných vlastností mapování příjmu dat, jako jsou různé hodnoty ConstValue, tím více fragmentovaný příjem dat se stane, což může vést ke snížení výkonu.
Příklady
[
{"Column": "event_timestamp", "Properties": {"Path": "$.Timestamp"}},
{"Column": "event_name", "Properties": {"Path": "$.Event.Name"}},
{"Column": "event_type", "Properties": {"Path": "$.Event.Type"}},
{"Column": "source_uri", "Properties": {"Transform": "SourceLocation"}},
{"Column": "source_line", "Properties": {"Transform": "SourceLineNumber"}},
{"Column": "event_time", "Properties": {"Path": "$.Timestamp", "Transform": "DateTimeFromUnixMilliseconds"}},
{"Column": "ingestion_time", "Properties": {"ConstValue": "2021-01-01T10:32:00"}},
{"Column": "full_record", "Properties": {"Path": "$"}}
]
Výše uvedené mapování je serializováno jako řetězec JSON, pokud je k dispozici jako součást .ingest příkazu pro správu.
.ingest into Table123 (@"source1", @"source2")
with
(
format = "json",
ingestionMapping =
```
[
{"Column": "column_a", "Properties": {"Path": "$.Obj.Property"}},
{"Column": "column_b", "Properties": {"Path": "$.Property"}},
{"Column": "custom_column", "Properties": {"Path": "$.[\'Property name with space\']"}}
]
```
)
Předem vytvořené mapování
Při předběžném vytvoření mapování namapujte podle názvu v .ingest příkazu pro správu.
.ingest into Table123 (@"source1", @"source2")
with
(
format="json",
ingestionMappingReference = "Mapping_Name"
)
Mapování identit
Mapování JSON můžete použít během příjmu dat bez definování schématu mapování (viz mapování identit).
.ingest into Table123 (@"source1", @"source2")
with
(
format="json"
)
Kopírování mapování JSON
Mapování JSON existující tabulky můžete zkopírovat a vytvořit novou tabulku se stejným mapováním pomocí následujícího procesu:
V tabulce, jejíž mapování chcete zkopírovat, spusťte následující příkaz:
.show table TABLENAME ingestion json mappings | extend formatted_mapping = strcat("'",replace_string(Mapping, "'", "\\'"),"'") | project formatted_mappingPomocí výstupu výše uvedeného příkazu vytvořte novou tabulku se stejným mapováním:
.create table TABLENAME ingestion json mapping "TABLENAME_Mapping" RESULT_OF_ABOVE_CMD