- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$LOCATE_DBT_ARCHIVE¶
Retorna o URL do qual você pode recuperar artefatos de execução de dbt compactados para um projeto dbt especificado.
Use essa função com a DBT_PROJECT_EXECUTION_HISTORY para acessar artefatos e logs de dbt programaticamente.
Sintaxe¶
SYSTEM$LOCATE_DBT_ARCHIVE ( '<query_id>' )
Argumentos¶
query_idO ID da consulta da execução do projeto dbt que tem os arquivos você deseja localizar.
Retornos¶
Essa função retorna o URL do qual você pode recuperar o conteúdo compactado dos resultados de um projeto dbt especificado.
Para obter mais informações e exemplos, consulte Acesso programático a artefatos e logs do dbt.
Requisitos de controle de acesso¶
Esta função inclui apenas execuções de espaços de trabalho e projetos dbt nos quais você tem os seguintes privilégios:
OWNERSHIP ou USAGE nos espaços de trabalho
OWNERSHIP, USAGE ou MONITOR nos projetos dbt
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema. Observe que uma função com privilégio concedido em um esquema permite que essa função resolva o esquema. Por exemplo, uma função com privilégio CREATE concedido em um esquema pode criar objetos nesse esquema sem também ter USAGE concedido nesse esquema.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Esta função do sistema funciona somente com objetos de projeto dbt; ela não está disponível para espaços de trabalho.
IDs de consulta gerados a partir de CREATE DBT PROJECT ou ALTER DBT PROJECT … ADD VERSION não são compatíveis com esta função do sistema.
Consultas diretas do conteúdo do arquivo (por exemplo, Exemplos de consulta) não são compatíveis.
Se
query_idfor NULL ou não for uma execução dbt, você receberá um erro.Os resultados do projeto dbt ficam disponíveis por até 14 dias.
Os arquivos podem ficar indisponíveis se uma execução expirar, for cancelada ou falhar antes de serem carregados. Nesses casos, as execuções aparecem como
UNHANDLED ERRORno histórico do dbt.Você não pode usar essa função para obter logs de execuções em andamento, pois o arquivo de logs só fica disponível após a conclusão da execução.
Exemplos¶
O exemplo a seguir retorna o URL snow:// dos artefatos compactados (por exemplo, dbt_artifacts.zip) para a execução especificada.
Você pode usar esse URL com GET para baixar o arquivo ZIP (ou COPY FILES para movê-la para sua própria área de preparação). Para o caminho da pasta em vez do ZIP, use SYSTEM$LOCATE_DBT_ARTIFACTS.
SELECT SYSTEM$LOCATE_DBT_ARCHIVE($latest_query_id);
Para obter mais informações, consulte Acesso programático a artefatos e logs do dbt.