Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa MicrosoftSentinelProvider umożliwia interakcję z usługą Data Lake usługi Microsoft Sentinel, umożliwiając wykonywanie operacji, takich jak wyświetlanie listy baz danych, odczytywanie tabel i zapisywanie danych. Ta klasa jest przeznaczona do pracy z sesjami platformy Spark w notesach Jupyter i udostępnia metody uzyskiwania dostępu do danych przechowywanych w usłudze Microsoft Sentinel i manipulowania nimi w usłudze Data Lake usługi Microsoft Sentinel.
Ta klasa jest częścią modułu sentinel.datalake i udostępnia metody interakcji z usługą Data Lake. Aby użyć tej klasy, zaimportuj ją i utwórz wystąpienie klasy przy użyciu spark sesji.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Musisz mieć niezbędne uprawnienia do wykonywania operacji, takich jak odczytywanie i zapisywanie danych. Aby uzyskać więcej informacji na temat uprawnień, zobacz Uprawnienia usługi Data Lake usługi Microsoft Sentinel.
Methods
Klasa MicrosoftSentinelProvider udostępnia kilka metod interakcji z usługą Data Lake usługi Microsoft Sentinel.
Każda metoda wymieniona poniżej zakłada, że MicrosoftSentinelProvider klasa została zaimportowana, a wystąpienie zostało utworzone przy użyciu spark sesji w następujący sposób:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
list_databases
Wyświetl listę wszystkich dostępnych baz danych/obszarów roboczych usługi Microsoft Sentinel.
data_provider.list_databases()
Returns:
-
list[str]: lista nazw baz danych (obszarów roboczych) dostępnych w usłudze Data Lake usługi Microsoft Sentinel.
list_tables
Wyświetl listę wszystkich tabel w danej bazie danych.
data_provider.list_tables([database_name],[database_id])
Parameters:
-
database_name(str, opcjonalnie): nazwa bazy danych (obszaru roboczego) do wyświetlenia listy tabel. JEŚLI nie określono bazy danych tabel systemowych, jest używana. -
database_id(str, opcjonalnie): unikatowy identyfikator bazy danych, jeśli nazwy obszarów roboczych nie są unikatowe.
Returns:
-
list[str]: lista nazw tabel w określonej bazie danych.
Examples:
Wyświetl listę wszystkich tabel w bazie danych tabel systemowych:
data_provider.list_tables()
Wyświetl listę wszystkich tabel w określonej bazie danych.
database_id Określ bazę danych, jeśli nazwy obszarów roboczych nie są unikatowe:
data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")
read_table
Ładowanie ramki danych z tabeli w usłudze Lake.
data_provider.read_table({table}, [database_name], [database_id])
Parameters:
-
table_name(str): nazwa tabeli do odczytania. -
database_name(str, opcjonalnie): nazwa bazy danych (obszaru roboczego) zawierającej tabelę. Wartość domyślna toSystem tables. -
database_id(str, opcjonalnie): unikatowy identyfikator bazy danych, jeśli nazwy obszarów roboczych nie są unikatowe.
Returns:
-
DataFrame: Ramka danych zawierająca dane z określonej tabeli.
Example:
df = data_provider.read_table("EntraGroups", "Workspace001")
save_as_table
Pisanie ramki danych jako tabeli zarządzanej. Możesz zapisać w warstwie lake przy użyciu sufiksu _SPRK w nazwie tabeli lub warstwy analizy przy użyciu sufiksu _SPRK_CL .
data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])
Parameters:
-
DataFrame(Ramka danych): ramka danych do zapisu jako tabela. -
table_name(str): nazwa tabeli do utworzenia lub zastąpienia. -
database_name(str, opcjonalnie): nazwa bazy danych (obszaru roboczego) do zapisania tabeli. Wartość domyślna toSystem tables. -
database_id(str, opcjonalny, tylko poziom analityczny): Unikalny identyfikator bazy danych w warstwie analityki, jeśli nazwy przestrzeni roboczej nie są unikalne. -
write_options(dict, opcjonalnie): Opcje pisania tabeli. Obsługiwane opcje: — tryb: lubappend(wartość domyślna:overwriteappend) — partitionBy: lista kolumn do partycji według przykładu: {'mode': 'append', 'partitionBy': ['date']}
Returns:
-
str: identyfikator przebiegu operacji zapisu.
Note
Opcja partycjonowania dotyczy tylko tabel niestandardowych w bazie danych tabel systemowych (obszarze roboczym) w warstwie data lake. Nie jest obsługiwana w przypadku tabel w warstwie analizy ani tabel w bazach danych innych niż baza danych tabel systemowych w warstwie data lake.
Examples:
Utwórz nową tabelę niestandardową w warstwie data lake w obszarze roboczym System tables .
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")
Dołącz do tabeli w bazie danych tabel systemowych (obszarze roboczym) w warstwie data lake.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)
Utwórz nową tabelę niestandardową w warstwie analizy.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")
Dołącz lub zastąp istniejącą tabelę niestandardową w warstwie analizy.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)
Dołącz do bazy danych tabel systemowych z partycjonowaniem w kolumnie TimeGenerated .
data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})
delete_table
Usuwa tabelę z warstwy lake. Tabelę z warstwy lake można usunąć przy użyciu sufiksu _SPRK w nazwie tabeli. Nie można usunąć tabeli z warstwy analizy przy użyciu tej funkcji. Aby usunąć tabelę niestandardową w warstwie analizy, użyj funkcji interfejsu API usługi Log Analytics. Aby uzyskać więcej informacji, zobacz Dodawanie lub usuwanie tabel i kolumn w dziennikach usługi Azure Monitor.
data_provider.delete_table({table_name}, [database_name], [database_id])
Parameters:
-
table_name(str): nazwa tabeli do usunięcia. -
database_name(str, opcjonalnie): nazwa bazy danych (obszaru roboczego) zawierającej tabelę. Wartość domyślna toSystem tables. -
database_id(str, opcjonalnie): unikatowy identyfikator bazy danych, jeśli nazwy obszarów roboczych nie są unikatowe.
Returns:
-
dict: słownik zawierający wynik operacji usuwania.
Example:
data_provider.delete_table("customtable_SPRK", "System tables")