Microsoft Sentinel Provider – třída

Třída MicrosoftSentinelProvider poskytuje způsob, jak pracovat s Microsoft Sentinel data lake, což 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 Microsoft Sentinel Data Lake a manipulaci s nimi.

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

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

Musíte mít potřebná oprávnění k provádění operací, jako je čtení a zápis dat. Další informace o oprávněních najdete v tématu Microsoft Sentinel oprávnění data lake.

Metody

Třída MicrosoftSentinelProvider poskytuje několik metod pro interakci s Microsoft Sentinel data lake. 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í / Microsoft Sentinel pracovních prostorů.

data_provider.list_databases()    

Vrátí:

  • list[str]: Seznam názvů databází (pracovních prostorů) dostupných v Microsoft Sentinel Data Lake.

list_tables

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

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

Parametry:

  • database_name (str, volitelné): Název databáze (pracovního prostoru), ze které se mají tabulky vypsat. POKUD není zadáno, použije se databáze systémových tabulek.
  • database_id (str, volitelné): Jedinečný identifikátor databáze, pokud názvy pracovních prostorů nejsou jedinečné.

Vrátí:

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

Příklady:

Seznam všech tabulek v databázi systémových tabulek:

data_provider.list_tables() 

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

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])

Parametry:

  • 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é.

Vrátí:

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

Příklad:

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

save_as_table

Napište datový rámec jako spravovanou tabulku. Do vrstvy Lake můžete zapisovat pomocí přípony _SPRK v názvu tabulky nebo do analytické vrstvy pomocí přípony _SPRK_CL .

Poznámka

Pro analytickou úroveň save_as_table podporuje append pouze režim. overwrite režim se podporuje jenom na úrovni lake.

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

Parametry:

  • DataFrame (DataFrame): Datový rámec pro zápis jako tabulku.
  • 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), do které chcete tabulku uložit. Výchozí hodnota je System tables.
  • database_id (str, volitelné, pouze úroveň analýzy): Jedinečný identifikátor databáze v analytické vrstvě, pokud názvy pracovních prostorů nejsou jedinečné.
  • write_options (diktování, volitelné): Možnosti pro zápis tabulky. Podporované možnosti: – režim: append nebo overwrite (výchozí: append) overwrite se podporuje jenom na úrovni lake. - partitionBy: seznam sloupců k dělení podle příkladu: {'mode': 'append', 'partitionBy': ['date']}

Vrátí:

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

Poznámka

Možnost dělení na oddíly se vztahuje pouze na vlastní tabulky v databázi systémových tabulek (pracovním prostoru) na úrovni Data Lake. Nepodporuje se pro tabulky na úrovni analýzy ani pro tabulky v jiných databázích, než je databáze systémových tabulek na úrovni Data Lake.

Příklady:

Vytvořte novou vlastní tabulku na úrovni Data Lake 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ím prostoru) na úrovni Data Lake.

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

Vytvořte novou vlastní tabulku na úrovni analýzy.

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

Připojte se k existující vlastní tabulce na úrovni analýzy.

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 na TimeGenerated sloupec.

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

delete_table

Odstraní tabulku z úrovně lake. Tabulku z vrstvy Lake můžete odstranit pomocí přípony _SPRK v názvu tabulky. Pomocí této funkce nemůžete odstranit tabulku z analytické vrstvy. 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 monitorování Azure.

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

Parametry:

  • 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é.

Vrátí:

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

Příklad:

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