Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
Подключаемый ipv6_lookup модуль ищет значение IPv6 в таблице подстановки и возвращает строки с соответствующими значениями. Подключаемый модуль вызывается оператором evaluate .
Синтаксис
T|evaluateipv6_lookup(LookupTable,SourceIPv6Key,IPv6LookupKey [,return_unmatched ] )
Параметры
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
| T | string |
✔️ | Табличные входные данные, столбец SourceIPv6Key которых используется для сопоставления IPv6. |
| LookupTable | string |
✔️ | Табличное выражение с данными подстановки IPv6, столбец LookupKey используется для сопоставления IPv6. Значения IPv6 можно маскировать с помощью нотации IP-префикса. |
| SourceIPv6Key | string |
✔️ | Столбец T со строкой IPv6 для поиска в LookupTable. Значения IPv6 можно маскировать с помощью нотации IP-префикса. |
| IPv6LookupKey | string |
✔️ | Столбец LookupTable со строкой IPv6, которая соответствует каждому значению SourceIPv6Key . |
| return_unmatched | bool |
Логический флаг, определяющий, должен ли результат включать все или только соответствующие строки (по умолчанию — false только соответствующие строки). |
Нотация IP-префикса
Нотация IP-префикса (также известная как нотация CIDR) — это краткий способ представления IP-адреса и связанной с ней сетевой маски. Формат: <base IP>/<prefix length>длина префикса — это число ведущих 1 битов в netmask. Длина префикса определяет диапазон IP-адресов, принадлежащих сети.
Для IPv4 длина префикса составляет от 0 до 32. Поэтому нотация 192.168.2.0/24 представляет IP-адрес 192.168.2.0 с netmask 255.255.255.0. Эта netmask имеет 24 ведущих 1 бита или длину префикса 24.
Для IPv6 длина префикса составляет от 0 до 128. Поэтому нотация fe80::85d:e82c:9446:7994/120 представляет IP-адрес fe80::85d:e85d:9446:7994 с netmask ffff:ffff:ffff. Эта netmask имеет 120 ведущих 1 битов или длину префикса 120.
Возвраты
Подключаемый ipv6_lookup модуль возвращает результат соединения (подстановки) на основе ключа IPv6. Схема таблицы — это объединение исходной таблицы и таблицы подстановки, аналогично результату lookup оператора.
Если для аргумента return_unmatched задано trueзначение, результирующая таблица включает как сопоставленные, так и несовпаденные строки (заполненные значениями NULL).
Если аргумент return_unmatched задан falseили опущен (значение false по умолчанию используется), результирующая таблица содержит столько записей, сколько соответствует результатам. Этот вариант поиска имеет лучшую производительность по сравнению с return_unmatched=true выполнением.
Замечание
- Этот подключаемый модуль охватывает сценарий соединения на основе IPv6, при условии небольшого размера таблицы подстановки (100K-300K строк), при этом входная таблица при необходимости имеет больший размер.
- Производительность подключаемого модуля зависит от размеров таблиц подстановки и источника данных, количества столбцов и количества соответствующих записей.
Примеры
Поиск IPv6 — только соответствующие строки
// IP lookup table: IP_Data (the data is generated by ChatGPT).
let IP_Data = datatable(network:string, continent_code:string ,continent_name:string, country_iso_code:string, country_name:string)
[
"2001:0db8:85a3::/48","NA","North America","US","United States",
"2404:6800:4001::/48","AS","Asia","JP","Japan",
"2a00:1450:4001::/48","EU","Europe","DE","Germany",
"2800:3f0:4001::/48","SA","South America","BR","Brazil",
"2c0f:fb50:4001::/48","AF","Africa","ZA","South Africa",
"2607:f8b0:4001::/48","NA","North America","CA","Canada",
"2a02:26f0:4001::/48","EU","Europe","FR","France",
"2400:cb00:4001::/48","AS","Asia","IN","India",
"2801:0db8:85a3::/48","SA","South America","AR","Argentina",
"2a03:2880:4001::/48","EU","Europe","GB","United Kingdom"
];
let IPs = datatable(ip:string)
[
"2001:0db8:85a3:0000:0000:8a2e:0370:7334", // United States
"2404:6800:4001:0001:0000:8a2e:0370:7334", // Japan
"2a02:26f0:4001:0006:0000:8a2e:0370:7334", // France
"a5e:f127:8a9d:146d:e102:b5d3:c755:abcd", // N/A
"a5e:f127:8a9d:146d:e102:b5d3:c755:abce" // N/A
];
IPs
| evaluate ipv6_lookup(IP_Data, ip, network)
Выходные данные
| сеть | continent_code | continent_name | country_iso_code | country_name | протокол IP |
|---|---|---|---|---|---|
| 2001:0db8:85a3::/48 | NA | Северная Америка | США | Соединенные Штаты | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
| 2404:6800:4001::/48 | КАК | Asia | JP | Япония | 2404:6800:4001:0001:0000:8a2e:0370:7334 |
| 2a02:26f0:4001::/48 | Европейский Союз | Европа | ФР | Франция | 2a02:26f0:4001:0006:0000:8a2e:0370:7334 |
Поиск IPv6 — возвращает как соответствующие, так и несоединяющие строки
// IP lookup table: IP_Data (the data is generated by ChatGPT).
let IP_Data = datatable(network:string, continent_code:string ,continent_name:string, country_iso_code:string, country_name:string)
[
"2001:0db8:85a3::/48","NA","North America","US","United States",
"2404:6800:4001::/48","AS","Asia","JP","Japan",
"2a00:1450:4001::/48","EU","Europe","DE","Germany",
"2800:3f0:4001::/48","SA","South America","BR","Brazil",
"2c0f:fb50:4001::/48","AF","Africa","ZA","South Africa",
"2607:f8b0:4001::/48","NA","North America","CA","Canada",
"2a02:26f0:4001::/48","EU","Europe","FR","France",
"2400:cb00:4001::/48","AS","Asia","IN","India",
"2801:0db8:85a3::/48","SA","South America","AR","Argentina",
"2a03:2880:4001::/48","EU","Europe","GB","United Kingdom"
];
let IPs = datatable(ip:string)
[
"2001:0db8:85a3:0000:0000:8a2e:0370:7334", // United States
"2404:6800:4001:0001:0000:8a2e:0370:7334", // Japan
"2a02:26f0:4001:0006:0000:8a2e:0370:7334", // France
"a5e:f127:8a9d:146d:e102:b5d3:c755:abcd", // N/A
"a5e:f127:8a9d:146d:e102:b5d3:c755:abce" // N/A
];
IPs
| evaluate ipv6_lookup(IP_Data, ip, network, true)
Выходные данные
| сеть | continent_code | continent_name | country_iso_code | country_name | протокол IP |
|---|---|---|---|---|---|
| 2001:0db8:85a3::/48 | NA | Северная Америка | США | Соединенные Штаты | 2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
| 2404:6800:4001::/48 | КАК | Asia | JP | Япония | 2404:6800:4001:0001:0000:8a2e:0370:7334 |
| 2a02:26f0:4001::/48 | Европейский Союз | Европа | ФР | Франция | 2a02:26f0:4001:0006:0000:8a2e:0370:7334 |
| a5e:f127:8a9d:146d:e102:b5d3:c755:abcd | |||||
| a5e:f127:8a9d:146d:e102:b5d3:c755:abce |
Связанный контент
- Обзор функций IPv6/IPv6