InícioNuvemIntegraçãoDesagregação do Steampipe: Da integração de APIs de nuvem para a gestão...

Desagregação do Steampipe: Da integração de APIs de nuvem para a gestão do seu banco de dados.

Date:

Cada plugin do Steampipe está agora disponível como um envoltório de dados externos para Postgres, uma extensão de tabela virtual para SQLite e uma ferramenta de exportação autônoma.

shutterstock 61529212 engine room steam pipes and dials of steam locomotive
Imagem: Chakkree_Chantakad/GettyImages

Vimos como o Steampipe pode unificar o acesso a APIs, realizar buscas avançadas, aplicar KPIs como código e identificar mudanças nas configurações. Até recentemente, os plugins de habilitação estavam intimamente ligados ao binário Steampipe e à instância do Postgres que o Steampipe gerenciava. Isso fez com que membros da comunidade open-source do Steampipe questionassem: “Podemos usar os plugins em nossas próprias bases de dados Postgres?” Agora, a resposta é afirmativa e vai além. No entanto, por enquanto vamos nos concentrar no Postgres.

Utilizando um plugin Steampipe como uma camada intermediária para dados Postgres de origem externa.

Acesse os downloads do Steampipe para localizar o instalador adequado para o seu sistema operacional. Em seguida, execute o instalador para obter a distribuição do plugin GitHub, que permite a conexão com o empacotador de dados estrangeiros Postgres (FDW).

Agora, faça login no seu servidor da maneira convencional, utilizando psql ou outro cliente, geralmente como o usuário postgres. Depois, execute os comandos padrão para qualquer wrapper de dados estrangeiros no Postgres. Como acontece com todas as extensões do Postgres, você começa dessa forma.

Para utilizar um invólucro de dados estruturado de forma diferente, é necessário inicialmente criar um servidor.

Utilize as opções para ajustar a extensão de forma a utilizar o token de acesso do GitHub. Caso contrário, as variáveis de ambiente padrão necessárias para configurar um plugin Steampipe – neste caso, apenas GITHUB_TOKEN – funcionarão se forem configuradas previamente antes de iniciar a instância do Postgres.

VEJA TAMBEM:  ChatGPT agora está se comunicando através do Azure OpenAI Service.

As tabelas disponibilizadas pela extensão serão armazenadas em um esquema, portanto, é necessário definir um.

Agora, traga para o esquema local que você acabou de criar o esquema definido pelo servidor estrangeiro.

Realize uma pesquisa agora!

As tabelas estrangeiras disponibilizadas pela extensão ao vivo no esquema do github são referidas por padrão como github.github_my_repository. Quando você define search_path = ‘github’, o esquema se torna opcional, permitindo que você faça consultas usando nomes de tabela não qualificados.

Se você possuir muitos repositórios, a primeira vez que realizar essa consulta levará alguns segundos. Na segunda execução, os resultados serão instantâneos devido à presença de um cache robusto e avançado na extensão.

E é isso que ele tem! Cada plugin Steampipe agora atua como um empacotador de dados estrangeiros, permitindo carregar várias extensões para se conectar a APIs. É possível combinar tabelas estrangeiras de APIs com tabelas Postgres próprias e salvar os resultados de uma consulta utilizando comandos como “prepend criar tabela NOAME como” ou “criar vista materializada NOAME como” para persistir os resultados.

Utilizando um plugin Steampipe que atua como uma extensão SQLite, oferecendo tabelas virtuais.

Acesse os downloads Steampipe para encontrar o instalador compatível com o seu sistema operacional, execute-o e obtenha a distribuição SQLite do plugin.

Aqui está a configuração que você pode adicionar ao arquivo ~/.sqliterc para que seja executado automaticamente sempre que você iniciar o sqlite.

Agora é possível realizar a mesma pesquisa conforme mencionado anteriormente.

E quais são as distinções entre o SQL adaptado para Postgres e SQLite? O cubo Steampipe pode auxiliar nisso! Por exemplo, veja diferentes formas de consultar um campo dentro de uma coluna JSON para listar as linguagens associadas aos punhos.

VEJA TAMBEM:  Metas de início de ano para trabalhadores da área de computação em nuvem.
pg and sqlite gist summary
Imagem: JonPauling/GettyImages

Neste local, é possível fazer o upload de várias extensões para se conectar a APIs. É viável conectar suas tabelas SQLite a qualquer uma destas fontes de API externas. Além disso, é possível preparar uma consulta para criar uma tabela NOAME e salvar os resultados como uma tabela.

Utilizando um plugin Steampipe como uma ferramenta de exportação autônoma.

Visite a página de downloads Steampipe para encontrar o instalador adequado para o seu sistema operacional e execute-o para obter a distribuição de exportação de um plugin. Como exemplo, vamos demonstrar o processo com o plugin GitHub.

Não há nenhum mecanismo SQL incorporado nesta imagem; esta ferramenta é exclusivamente um recurso de exportação. Para exportar todas as suas informações para um arquivo JSON:

Para escolher determinadas colunas e salvar em um arquivo CSV.

Você pode empregar a opção –limite para restringir o número de linhas retornadas e a opção –onde para filtrá-las, no entanto, o principal uso dessa ferramenta é agilizar a captura de dados que serão posteriormente manipulados em outro local, como em uma planilha.

Interaja com o conjunto de plugins do Steampipe.

Os plugins Steampipe não são simplesmente interfaces diretas para APIs, mas sim utilizam tabelas para representar essas APIs de forma prática e organizada. Um exemplo disso é a tabela github_my_repository, que demonstra um padrão de design aplicado de forma consistente em todos os plugins. Isso é extraído da documentação do plugin GitHub.

Outros complementos seguem um modelo semelhante. Por exemplo, o complemento Microsoft 365 oferece as opções microsoft_my_mail_message e microsoft_mail_message, enquanto o complemento Google Workspace apresenta as opções googleworkspace_my_gmail_message e googleworkspace_gmail. Quando viável, os complementos unificam as visualizações dos recursos a partir da perspectiva de um usuário autenticado.

VEJA TAMBEM:  Microsoft apresenta a Biblioteca OpenAI para .NET de forma oficial.

Embora os plugins geralmente apresentem tabelas com estruturas fixas, isso nem sempre é verdade. Os esquemas dinâmicos são um padrão importante, e são implementados por plugins como Airtable, CSV, Kubernetes e Salesforce, entre outros. Um exemplo disso é um CSV utilizando um Postgres FDW autônomo.

A partir de agora, os arquivos .csv na pasta /home/jon/csv serão automaticamente convertidos em tabelas estrangeiras no Postgres. Se você precisa rastrear os proprietários válidos das instâncias EC2, basta consultar a tabela correspondente usando o arquivo ec2_owner_tags.

Você tem a opção de unir esta tabela com a tabela aws_ec2_instance do plugin AWS para incluir informações sobre os proprietários das instâncias EC2 que estão ou não listadas no arquivo CSV.

Dentro da coleção de plugins, existem mais de 2.300 tabelas de esquema fixo disponíveis para uso, bem como um número ilimitado de tabelas dinâmicas. Novos plugins são regularmente incluídos pela Turbot e pela comunidade open-source da Steampipe. Você pode explorar esse ecossistema usando Steampipe ou Turbot Pipes, conectando-se ao seu banco de dados Postgres ou SQLite, ou por meio da linha de comando.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui