🛡️ Qualidade de dados, SQL, DuckDB e HTTP_CLIENT ON CI🦆 – Comunidade de dev

💭 CI, DuckDB ET e proteção de dados para gerenciar com eficiência, mas sem esforço, criamos uma ação do GitHub para instalar o DuckDB: … mas recentemente tive que enfrentar outro desafio: como parte do nosso CI, eu tinha a necessidade de validar dados … que estavam dependendo de recursos da Web. Eu precisava ter certeza de que uma conta do GitHub era realmente existente (por exemplo, para evitar erros de digitação) como parte do nosso IC. Neste artigo muito curto, mostrarei como usar o DuckDB com a extensão http_client para verificar os alças do github armazenados em uma tabela, por exemplo, para fiplar dados como parte de um pipeline de CI graças à ação do Github Duckdb … e fazer o trabalho com um script SQL muito simples e verificar restrições. 🍿 Para impacientes 🔖 Recursos 🕹️ Faça o trabalho com o SQL First Install Extension: instale http_client na comunidade; Carregar http_client; Digite o modo de saída do modo de tela cheia e crie uma tabela com alguns dados de exemplo: Crie ou substitua a tabela Person_Gh_Member (SAM_ACCOUNTNAME VARCHAR CHAVE Primária, gh_member varchar não nulo); – Inserir linhas inserir em pessoa_gh_member (sam_accountname, gh_member) valores (‘adriens’, ‘adriens’), (‘jdoe’, ‘johndoe’), (‘asmith’, ‘annasmithrrrr’); Digite o modo de saída do modo de tela completa Finalmente, execute uma consulta para verificar o status de cada identificador do github: Crie ou substitua a exibição v_person_gh_status como selecione sam_accountname, gh_member, ‘|| gh_member como gh_url, elenco (http_get (gh_url) .status como inteiro) como http_gh_status de pessoa_gh_member; -onde gh_status <> 200; de v_person_gh_status; Digite o modo de saída do modo de tela cheia agora, para fiapos, podemos adicionar uma verificação para ver se algum status não é 200: de v_person_gh_status onde http_gh_status <> 200; Entre no modo de tela cheia de saída do modo de tela cheia Crie ou substitua a tabela lint_gh_handle (gh_handle varchar chave primária, gh_url varchar não nula verificação exclusiva (gh_url como ‘gh_status integer check (gh_status = 200)); insert em lint_gh_handle (ghhandle, gh), gh_url = 200); Cast (http_get (gh_url) .status como número inteiro) como gh_status de pessoa_gh_member;

Fonte

Você pode ter perdido