Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A MicrosoftSentinelProvider classe fornece uma maneira de interagir com o data lake do Microsoft Sentinel, permitindo que você execute operações como listar bancos de dados, ler tabelas e salvar dados. Essa classe foi projetada para trabalhar com as sessões do Spark em notebooks Jupyter e fornece métodos para acessar e manipular dados armazenados no data lake do Microsoft Sentinel.
Essa classe faz parte do sentinel.datalake módulo e fornece métodos para interagir com o data lake. Para usar essa classe, importe-a e crie uma instância da classe usando a spark sessão.
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Você deve ter as permissões necessárias para executar operações como ler e gravar dados. Para obter mais informações sobre permissões, consulte as permissões do data lake do Microsoft Sentinel.
Methods
A MicrosoftSentinelProvider classe fornece vários métodos para interagir com o data lake do Microsoft Sentinel.
Cada método listado abaixo pressupõe que a MicrosoftSentinelProvider classe foi importada e uma instância foi criada usando a sessão da spark seguinte maneira:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
list_databases
Listar todos os bancos de dados disponíveis/workspaces do Microsoft Sentinel.
data_provider.list_databases()
Returns:
-
list[str]: uma lista de nomes de banco de dados (workspaces) disponíveis no data lake do Microsoft Sentinel.
list_tables
Liste todas as tabelas em um determinado banco de dados.
data_provider.list_tables([database_name],[database_id])
Parameters:
-
database_name(str, opcional): o nome do banco de dados (workspace) do qual listar tabelas. SE não for especificado, o banco de dados de tabelas do sistema será usado. -
database_id(str, opcional): o identificador exclusivo do banco de dados se os nomes do workspace não forem exclusivos.
Returns:
-
list[str]: uma lista de nomes de tabela no banco de dados especificado.
Examples:
Liste todas as tabelas no banco de dados de tabelas do sistema:
data_provider.list_tables()
Liste todas as tabelas em um banco de dados específico. Especifique o database_id banco de dados se os nomes do workspace não forem exclusivos:
data_provider.list_tables("workspace1", database_id="ab1111112222ab333333")
read_table
Carregue um DataFrame de uma tabela no Lake.
data_provider.read_table({table}, [database_name], [database_id])
Parameters:
-
table_name(str): o nome da tabela a ser lida. -
database_name(str, opcional): o nome do banco de dados (workspace) que contém a tabela. UsaSystem tablescomo padrão. -
database_id(str, opcional): o identificador exclusivo do banco de dados se os nomes do workspace não forem exclusivos.
Returns:
-
DataFrame: Um DataFrame que contém os dados da tabela especificada.
Example:
df = data_provider.read_table("EntraGroups", "Workspace001")
save_as_table
Escreva um DataFrame como uma tabela gerenciada. Você pode gravar na camada lake usando o _SPRK sufixo no nome da tabela ou na camada de análise usando o _SPRK_CL sufixo.
data_provider.save_as_table({DataFrame}, {table_name}, [database_name], [database_id], [write_options])
Parameters:
-
DataFrame(DataFrame): o DataFrame a ser gravado como uma tabela. -
table_name(str): o nome da tabela a ser criada ou substituída. -
database_name(str, opcional): o nome do banco de dados (workspace) para salvar a tabela. UsaSystem tablescomo padrão. -
database_id(STR, opcional, apenas no nível de análise): O identificador único do banco de dados no nível de análise se os nomes dos espaços de trabalho não forem únicos. -
write_options(ditado, opcional): opções para escrever a tabela. Opções com suporte: - modo:appendouoverwrite(padrão:append) - partitionBy: lista de colunas para partição por exemplo: {'mode': 'append', 'partitionBy': ['date']}
Returns:
-
str: a ID de execução da operação de gravação.
Note
A opção de particionamento só se aplica a tabelas personalizadas no banco de dados de tabelas do sistema (workspace) na camada data lake. Não há suporte para tabelas na camada de análise ou para tabelas em bancos de dados diferentes do banco de dados de tabelas do sistema na camada data lake.
Examples:
Crie uma nova tabela personalizada na camada data lake no System tables workspace.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", "System tables")
Acrescente a uma tabela no banco de dados de tabelas do sistema (workspace) na camada data lake.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK", write_options=write_options)
Crie uma nova tabela personalizada na camada de análise.
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace")
Acrescente ou substitua uma tabela personalizada existente na camada de análise.
write_options = {
'mode': 'append'
}
data_provider.save_as_table(dataframe, "CustomTable1_SPRK_CL", "analyticstierworkspace", write_options)
Acrescente ao banco de dados de tabelas do sistema com particionamento na TimeGenerated coluna.
data_loader.save_as_table(dataframe, "table1", write_options: {'mode': 'append', 'partitionBy': ['TimeGenerated']})
delete_table
Exclui a tabela da camada do lago. Você pode excluir a tabela da camada lake usando o _SPRK sufixo no nome da tabela. Você não pode excluir uma tabela da camada de análise usando essa função. Para excluir uma tabela personalizada na camada de análise, use as funções da API do Log Analytics. Para obter mais informações, consulte Adicionar ou excluir tabelas e colunas nos Logs do Azure Monitor.
data_provider.delete_table({table_name}, [database_name], [database_id])
Parameters:
-
table_name(str): o nome da tabela a ser excluída. -
database_name(str, opcional): o nome do banco de dados (workspace) que contém a tabela. UsaSystem tablescomo padrão. -
database_id(str, opcional): o identificador exclusivo do banco de dados se os nomes do workspace não forem exclusivos.
Returns:
-
dict: um dicionário que contém o resultado da operação de exclusão.
Example:
data_provider.delete_table("customtable_SPRK", "System tables")