Sdílet prostřednictvím


Microsoft Sentinel Provider – třída

Třída MicrosoftSentinelProvider poskytuje způsob, jak pracovat s datovým jezerem Microsoft Sentinel a umožňuje provádět operace, jako je výpis databází, čtení tabulek a ukládání dat. Tato třída je navržená pro práci s relacemi Sparku v poznámkových blocích Jupyter a poskytuje metody pro přístup k datům uloženým v datovém jezeře Microsoft Sentinelu a manipulaci s nimi.

Tato třída je součástí sentinel.datalake modulu a poskytuje metody pro interakci s datovým jezerem. Pokud chcete tuto třídu použít, naimportujte ji a vytvořte instanci třídy pomocí spark relace.

from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)      

K provádění operací, jako je čtení a zápis dat, musíte mít potřebná oprávnění. Další informace o oprávněních najdete v tématu Oprávnění data Lake služby Microsoft Sentinel.

Methods

Třída MicrosoftSentinelProvider poskytuje několik metod pro interakci s datovým jezerem Microsoft Sentinel. Každá níže uvedená metoda předpokládá, že MicrosoftSentinelProvider třída byla importována a instance byla vytvořena pomocí spark relace následujícím způsobem:

from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark) 

list_databases

Zobrazí seznam všech dostupných databází / pracovních prostorů Microsoft Sentinelu.

data_provider.list_databases()    

Returns:

  • list[str]: Seznam názvů databází (pracovních prostorů) dostupných v datovém jezeře Microsoft Sentinel.

list_tables

Zobrazí seznam všech tabulek v dané databázi.

data_provider.list_tables([database_name],[database_id])
   

Parameters:

  • database_name (str, volitelné): Název databáze (pracovního prostoru) pro výpis tabulek z. Pokud není zadána databáze systémových tabulek, použije se.
  • database_id (str, volitelné): Jedinečný identifikátor databáze, pokud názvy pracovních prostorů nejsou jedinečné.

Returns:

  • list[str]: Seznam názvů tabulek v zadané databázi.

Examples:

Výpis všech tabulek v systémové databázi tabulek:

data_provider.list_tables() 

Zobrazí seznam všech tabulek v konkrétní databázi. database_id Zadejte databázi, pokud názvy pracovních prostorů nejsou jedinečné:

data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")

read_table

Načtěte datový rámec z tabulky v Lake.

data_provider.read_table({table}, [database_name], [database_id])

Parameters:

  • table_name (str): Název tabulky, která se má přečíst.
  • database_name (str, volitelné): Název databáze (pracovního prostoru) obsahující tabulku. Výchozí hodnota je System tables.
  • database_id (str, volitelné): Jedinečný identifikátor databáze, pokud názvy pracovních prostorů nejsou jedinečné.

Returns:

  • DataFrame: Datový rámec obsahující data ze zadané tabulky.

Example:

df = data_provider.read_table("EntraGroups", "Workspace001")

save_as_table

Zapište datový rámec jako spravovanou tabulku. K zápisu do vrstvy jezera můžete použít příponu _SPRK v názvu tabulky nebo do analytické vrstvy pomocí přípony _SPRK_CL .

Note

Pro úroveň save_as_table analýzy podporuje append pouze režim. overwrite režim je podporován pouze na úrovni jezera.

data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])

Parameters:

  • DataFrame (Datový rámec): Datový rámec, který se má zapisovat jako tabulka.
  • table_name (str): Název tabulky, která se má vytvořit nebo přepsat.
  • database_name (str, volitelné): Název databáze (pracovního prostoru) pro uložení tabulky. Výchozí hodnota je System tables.
  • database_id (str, volitelné, pouze analytická vrstva): Unikátní identifikátor databáze v analytické vrstvě, pokud názvy pracovních prostorů nejsou jedinečné.
  • write_options (dikt, volitelné): Možnosti pro zápis tabulky. Podporované možnosti: – režim: append nebo overwrite (výchozí: append) overwrite je podporován pouze v úrovni jezera. - partitionBy: seznam sloupců, které se mají rozdělit podle příkladu: {'mode': 'append', 'partitionBy': ['date']}

Returns:

  • str: ID spuštění operace zápisu.

Note

Možnost dělení se vztahuje pouze na vlastní tabulky v databázi systémových tabulek (pracovní prostor) ve vrstvě Data Lake. Nepodporuje se u tabulek v analytické vrstvě ani pro tabulky v jiných databázích, než je databáze systémových tabulek ve vrstvě Data Lake.

Examples:

Vytvořte novou vlastní tabulku v datovém jezeře v System tables pracovním prostoru.

data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")

Přepište tabulku v databázi systémových tabulek (pracovní prostor) ve vrstvě Data Lake.

write_options = {
    'mode': 'overwrite'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)

Vytvořte novou vlastní tabulku v analytické vrstvě.

data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")

Připojte se k existující vlastní tabulce v analytické vrstvě.

write_options = {
    'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)

Připojte se k databázi systémových tabulek s dělením ve TimeGenerated sloupci.

data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})

delete_table

Odstraní tabulku z vrstvy jezera. Tabulku můžete z vrstvy jezera odstranit pomocí _SPRK přípony v názvu tabulky. Pomocí této funkce nemůžete odstranit tabulku z analytické úrovně. Pokud chcete odstranit vlastní tabulku na úrovni analýzy, použijte funkce rozhraní API služby Log Analytics. Další informace najdete v tématu Přidání nebo odstranění tabulek a sloupců v protokolech služby Azure Monitor.

data_provider.delete_table({table_name}, [database_name], [database_id])

Parameters:

  • table_name (str): Název tabulky, která se má odstranit.
  • database_name (str, volitelné): Název databáze (pracovního prostoru) obsahující tabulku. Výchozí hodnota je System tables.
  • database_id (str, volitelné): Jedinečný identifikátor databáze, pokud názvy pracovních prostorů nejsou jedinečné.

Returns:

  • dict: Slovník obsahující výsledek operace odstranění.

Example:

data_provider.delete_table("customtable_SPRK", "System tables")