Introdução à API de SQL

A API de SQL do Snowflake é uma REST API em que é possível acessar e atualizar dados em um banco de dados do Snowflake. É possível usar esta API para desenvolver aplicativos personalizadas e integrações que:

  • Realizam consultas.

  • Gerenciam sua implantação (por exemplo, provisionam usuários e funções, criam tabelas, etc.).

Neste tópico:

Capacidades da API de SQL

A API de SQL do Snowflake fornece operações que você pode usar para:

  • Enviar instruções SQL para execução.

  • Verificar o status da execução de uma instrução.

  • Cancelar a execução de uma instrução.

  • Obter os resultados da consulta simultaneamente.

Você pode usar essa API para executar consultas padrão e a maioria das instruções DDL e DML. Para saber os tipos de instruções que não são suportados, consulte Limitações da API de SQL.

Para consultas, a API de SQL retorna dados em partições. O Snowflake determina o número de partições retornadas e o tamanho de cada partição.

O ponto de extremidade para a API de SQL (/api/v2/statements) é protegido pelas políticas de rede que restringem o acesso à conta onde a API está habilitada.

Nota

O parâmetro AUTOCOMMIT deve ser definido como TRUE por nível de consulta ou instrução, independentemente do valor definido no nível do usuário ou da conta.

Limitações da API de SQL

A API de SQL tem as seguintes limitações:

  • Os seguintes comandos não são suportados:

    • O comando PUT (no Snowflake SQL)

    • O comando GET (no Snowflake SQL)

Os seguintes comandos e instruções são suportados somente dentro de uma solicitação que especifica instruções múltiplas:

  • Comandos que realizam transações explícitas, inclusive:

  • Comandos que mudam o contexto da sessão, inclusive:

  • Instruções que definem variáveis de sessão.

  • Instruções que criam tabelas e estágios temporários (tabelas e estágios que estão disponíveis apenas na sessão atual).

A API SQL não oferece suporte a certos tipos de procedimentos armazenados. É possível encontrar erros, por exemplo, ao tentar chamar procedimentos armazenados Python e Java/Scala que retornam um conjunto de resultados resultset no formato Arrow. Mesmo que você não chame esses procedimentos armazenados diretamente da API SQL, mas chame outro procedimento armazenado, como SQL, podem ocorrer erros quando o procedimento externo chama internamente um procedimento armazenado Python ou Java/Scala interno.

Considerações sobre cobrança ao usar a API de SQL

A API de SQL aproveita a camada de serviços de nuvem ao buscar alguns resultados de consulta. Para obter mais informações sobre serviços de nuvem, consulte Uso de crédito de serviços de nuvem.