Olá pessoal, eu me chamo Ronaldo Lanhelles e nessa aula eu vou falar para vocês como manipular o Kafka Connect usando as APIs que ele disponibiliza através do RESTful. São APIs RESTful para você conseguir se comunicar e fazer o gerenciamento e manipulação dos conectores. comunicar, fazer o gerenciamento e manipulação dos conectores. Então, quando a gente está falando de modo produtivo, então, se o Kafka Connect está em produção, você está com o cluster rodando, e aí você precisa, obviamente, criar conector, deletar conector, ver se o conector está rodando, talvez atualizar uma configuração do conector, certo? E para isso, existem diversos endpoints que você pode utilizar, REST, para poder fazer isso. Eu coloquei o link aqui que tem todos os endpoints. Você pode dar uma olhada com calma. Eu vou citar os mais importantes, que é o que eu mais uso. Existem muitos outros. Mas eu vou citar o que eu uso no dia a dia e aí quando a gente fala de endpoint mais utilizados a gente tem aqui o endpoint de get então por exemplo o get connectors ele vai retornar a lista de conectores do seu cluster. O GetConnectors barra o nome do seu conector barra status, ele vai retornar detalhes do seu conector em relação a se ele está rodando, se ele está com falha. Se ele estiver com falha, ele vai dizer qual é a falha, qual é o erro. Se ele está, por exemplo, um Assigned, que é um estado específico, quando ele não conseguiu se assinar ainda a nenhum tipo de nó, ou não tem teste assinada. Então, tem alguns status aqui que você pode depois dar uma olhada na doc, mas em tese que você vai olhar se o conector está rodando. Esse Get Connectors barra o nome do conector sem o status retorna os detalhes de configuração. Então aqui você pode olhar se o seu conector, qual o plugin que ele está usando, URL, quantidade de testes, etc. O get-connectors-plugins retorna todos os plugins instalados no seu cluster. Então a gente vai ver nas próximas aulas como instalar um plugin e aí é interessante a gente conseguir também ver se aquele plugin foi instalado ou não. Então o connector plugins ele mostra se os plugins foram instalados. Aí você tem os endpoints que realmente fazem alguma alteração. Primeiro tem um post que cria um conector, então você passa lá um body JSON com todas as configurações que você gostaria de criar do seu conector. E aí você tem um post connectors nome do seu conector restart então aqui você pode reiniciar o seu conector então imagina que seu conector tá com erro enfim tá onassigned por exemplo né aí você pode ir lá restartar e aqui você deleta o seu conector passando também o nome do seu conector vou mostrar para vocês no postman e aí essa collection que vai estar disponível na descrição do vídeo aqui mas a gente tem aqui o endpoint que eu acabei de falar, tem apenas uma mais que é o Info Cluster, que é você bater no barra do seu Kafka Connect, ele vai retornar qual a versão do seu Kafka Connect, etc. Aqui só passando rapidamente, aqui é o Get Connectors, aqui é para pegar o status do conector aqui é para pegar os detalhes do conector aqui está até errado vou atualizar aqui, pronto, não tem status aqui é para trazer os plugins que você tem no seu cluster aqui é para criar, de fato. Vamos ver rapidinho aqui como é essa criação. Como eu falei para vocês, a gente tem um JSON e aí nesse JSON tem o nome do conector e uma seção de config. Nessa seção de config, você tem a classe. Lembra que eu falei que cada conector tem que ter um plugin atachado a ele, então você tem que dizer qual é o plugin que ele vai utilizar. Nesse caso aqui, ele está usando um plugin da Ivan que faz gravação no GCS. GCS nada mais é do que o o storage lá da Google, como se fosse o S3 da Amazon, ou o blob storage lá da Azure, lá na Google é o GCS. Como esse é um conector sync, ele vai ler do Kafka de um tópico, está aqui o tópico, e vai gravar no GCS. Esse carinha aqui tem uma task, então esse conector vai criar uma thread lá, que vai ficar lendo do Kafka e gravando no GCS. Aqui são as formas de conversão, então, por exemplo, como é que você vai ler aqui? Aqui é uma string e o valor é um JSON, né? Então, lá no tópico do Kafka, qual é o formato daqui? Nesse meu caso é uma string. E qual é o formato do value? meu caso é uma string, e qual o formato do value, nesse caso é um JSON. Aqui são algumas informações específicas do conector, na verdade desse plugin. Isso é bem importante você ter em mente, que é assim, tem configurações que vocês vão ver em qualquer tipo de conector. Por exemplo, o conector class, qualquer plugin que você usar, você é obrigado a colocar o conector class, seja source, seja sync, seja post, arquivo, API, não importa, você vai ter que colocar o conector class. A mesma coisa para o testes.max, você vai sempre ter que botar essa propriedade. Porém, tem propriedades que são específicas daquele plugin. Então, no caso do GCS, você tem aqui um gcs.credentials.path. É uma propriedade específica daquele plugin que sabe falar com o GCS. Então, como é que eu vou saber quais são as propriedades específicas daquele plugin? Na documentação de cada plugin deve ou pelo menos deveria ter todas as propriedades que você precisa utilizar. Então se você vir aqui no GitHub e digitar gcf sync connector gcf sync connector ele vai ter aqui todas as informações de propriedade que você pode utilizar além das propriedades obviamente que são padrões que eu falei como o quantidade de tasks e o class você tem outras propriedades que você pode configurar para aquele plugin em específico tá e aí isso aí você vai ter para qualquer tipo de plugin então se você colocar aqui dynamo source trafica connect ó tem um source aqui para dynamo e aí tem propriedades aqui específicas Connector Options, você tem aqui o Dynamo Table, o whitelist, etc. Então para todo o conector você vai ter, para todo o plugin na verdade, você vai ter configurações extras. aí voltando aqui você tem o delete que é para deletar aquele conector e é isso é nas próximas aulas eu vou mostrar enfim isso aqui funcionando sobre um cluster de Kafka Connect realmente criar um conector e etc é isso pessoal espero que vocês tenham gostado