Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

SQL Server – Como monitorar suas séries favoritas consumindo um Webservice JSON com a função JSON_VALUE e utilizando CLR (C#)

Post Views 844 views
Reading time 4 minutes

Olá pessoal,
Boa noite!

Neste post, vou demonstrar a vocês como utilizar o novo recurso de tratamento de JSON do SQL Server 2016, que é retornando por uma procedure do CLR (C#) para retornar as informações de suas séries de TV favoritas. Essa é a uma forma legal e divertida de aprender um pouco mais sobre essas duas poderosas ferramentas do SQL Server.

Esse ideia foi inspirada no post Consumindo JSON com Ole Automation Procedures no SQL Server 2016, alertando sobre seus episódios favoritos (Off-Topic), do blog do Reginaldo Silva e resolvi demonstrar essa solução utilizando o CLR.

Caso você não saiba o que é CLR, saiba mais acessando o post Introdução ao SQL CLR (Common Language Runtime) no SQL Server.

Criando a Stored Procedure para Consulta à Web API

Para realizar as consultas ao Web API da TVMaze.com (http://www.tvmaze.com/api), o Reginaldo utilizou procedures OLE Automation, enquanto neste post vou utilizar a procedure stpWs_Requisicao, escrita em C# para ser utilizada no SQLCLR.

Código-fonte da Procedure stpWs_Requisicao:

Entendendo a função JSON_VALUE do SQL Server 2016

Uma vez que a Stored Procedure foi criada e publicada no seu database, agora você já pode criar a sua procedure de consulta de séries, utilizando o código abaixo, que também utiliza o novo recurso JSON_VALUE do SQL Server 2016, que permite manipular strings JSON nativamente pelo banco de dados.

Exemplos de uso do JSON_VALUE:

Criando a Stored Procedure para Buscar as Séries

Uma vez que a stpWS_Requisicao do CLR foi criada e você já entendeu como funciona a nova função JSON_VALUE, vamos criar a Stored Procedure que irá retornar as informações das suas séries.

Código-fonte da Stored Procedure:

Exemplos de utilização da Procedure:

Uma ótima dica que o Reginaldo nos deu, é de utilizar o site JSON Formatter & Validator para melhorar a visualização do JSON retornado pela consulta ao Webservice, conforme exemplo abaixo.

JSON original:

JSON Formatado:

And that's it, folks!
Espero que tenham gostado do post.

Caso vocês queiram criar um monitoramento automatizado através de um Job no SQL Server Agent, que te envie e-mail quando estiver próximo de algum episódio ser lançado, não deixe de conferir o post que eu citei do blog do Reginaldo Silva, que tem essa solução lá.

Abraço!