Olá pessoal, tudo bem? Continuamos aqui com a nossa jornada cloud e vamos falar agora sobre uma das features que eu acho mais interessantes dentro da AWS. Acho que uma das responsáveis por inclusive alavancar, né, colocar a AWS onde ela está hoje aí, que é o Amazon S3. O que é o Amazon S3? S3, que ele tem três S, que significa Simple Storage Service, certo? Então, vamos falar basicamente sobre o item da AWS que é responsável por armazenar e disponibilizar arquivos para a gente de forma muito barata. Então, vamos entender algumas coisas sobre o que é o Amazon S3. A primeira coisa que a gente precisa entender é que o S3 não tem uma limitação de uso. O que significa isso? ele não tem uma limitação de uso, tá bom? O que significa isso? Significa que se eu falar que eu quero colocar 1TB, 2TB, 5TB, ou se eu quiser baixar a internet e colocar no Amazon S3, quer dizer que ele vai suportar. É isso. O conta vai ficar muito cara no final do jogo. Claro, mesmo sendo um item barato, um alto volume de dados desse elevaria sim, de certa forma, o custo, mas ele não tem nenhuma alimentação. Então você fala, eu quero colocar 1TB, 5TB, 20TB de dados ali, ele não vai reclamar, ele vai dar um jeito de armazenar isso para você tá bom outra parte interessante é saber que o Amazon S3 ele possui ele poss no free tier. Então, quando eu falo que o S3 não tem uma limitação de espaço, é que ele não tem uma limitação, um hard limit para guardar itens dentro de um bucket, tá bom? Vamos falar aqui também o que é um bucket. Mas ele tem aí a sua limitação por tamanho de arquivo. Então, eu posso colocar 10 teras dentro de um bucket do S3? Eu posso, eu consigo colocar. Eu não conseguiria colocar um arquivo de 10 teras. Por quê? Porque ele tem uma limitação por tamanho de arquivo. Então, para eu colocar um arquivo dentro do S3 eu preciso que esse arquivo tenha no mínimo 0 bytes, ele ia até no máximo 5 teras de tamanho, olha que legal então, ele é bem grande, então até 5 teras por arquivo eu consigo colocar, aí ele passou de 5 teras o arquivo eu posso quebrar em outros arquivos, entendeu? E eu posso armazenar eles indefinidamente dentro do S3 e colocar ali com garantia da AWS por durabilidade e por disponibilidade, tá bom? Então, quando eu estou falando de S3, estou falando que a AWS me garante que eu colocando o arquivo ali dentro ele vai ter uma durabilidade muito alta e também uma disponibilidade muito alta tá isso é um preço muito baixo quando a gente está falando falando ali do armazenamento para atender as necessidades, a gente tem uma resiliência de 99,99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 Muito escalável, fácil de se criar, fácil de se usar e a melhor parte, ele é muito barato. Então a gente antes de falarmos, de entrarmos ali na seara de criação de um bucket, o que é um bucket e tudo mais, vamos entender um pouquinho mais sobre as classes de armazenamento. As classes de armazenamento, tá? Então, se você achar aí na internet, o aws.amazon.com.br, S3, barras de storage classes, você vai cair aqui nas classes de armazenamento. Então, basicamente, quais são as classes de armazenamento que eles têm? S3 Standard, S3 Intelligent Turing, S3 S3 S3 S3 Glacier Glacier com busca flexível Glacier com busca flexível tem aqui também de percaive e outras outras classes aqui que a gente pode olhar se você for passando por cada uma delas, eu acho, eu recomendaria para vocês tirarem alguns minutos aí na pós-a-alma, quando você quiser pegar mais detalhes aqui dentro, entender um pouquinho sobre cada categoria de armazenamento aqui do Amazon S3, tá? Vamos começar que elas mudam um pouco. O preço é a primeira coisa que pode mudar e também a disponibilidade. Eu diria que esses são os dois pontos principais que diferem uma classe de outra aqui no Amazon S3. A classe S3 ela é a padrão, se você não definir nenhuma classe de armazenamento, ela é a que vai entrar dentro dos seus itens ali, conforme você for fazendo o upload dos seus arquivos, tá bom? S3 Standard, ela também é a mais cara, por quê? Porque ela é a com maior garantia. Ela tem a maior garantia de disponibilidade e ela também tem a maior garantia de durabilidade. Ou seja, ela vai te garantir a entrega desse arquivo na hora que você está pedindo, quando você está pedindo, quando você precisa. Isso aqui é muito importante para processamentos online, ou até mesmo para processamentos batch, que precisam do arquivo em runtime, no momento em que a aplicação requisita. Então, essa é a classe mais legal, mas também é a classe que vai te cobrar mais caro por isso. Também tem aqui o Intelligent Steering, que é esse carinha aqui. Esse carinha aqui vai garantir que, olha, para os seus arquivos que entrarem, se você classificar o arquivo como isso, tá? Se ele não estiver sendo usado ali naquele momento, ele garante que vai mover automaticamente esse arquivo para classes mais baratas. Objetivamente, isso pode comprometer a disponibilidade, tá? Eu posso, por exemplo, para arquivos que caem no Glacier, eu posso demorar até 12 horas para recuperar esse arquivo. Isso acontece com frequência? Não, geralmente ele vem um pouco mais rápido, mas a AWS resguarda o direito de falar, olha, o que está dentro dessa categoria você vai pagar bem mais barato por isso, mas pode demorar até 12 horas para eu te entregar. Então, se você estiver ali no Intelligent Turing, ele vai garantir o quê? Olha, esses arquivos que não estão sendo mais movimentados, que não estão sendo mais observados, não teve requisição deles nos últimos X tempos aqui que você configura, eu já vou movimentar isso aqui para uma outra classe que você também deixa ali já acordado. Então, ele garante ali esse movimento. Isso aqui gera um pouco menos gastos, no caso, acaba barateando o seu custo operacional. É claro que vão existir arquivos que eu vou precisar que estejam ali no padrão e que eu possa conseguir eles de forma muito rápida, mas também eu vou precisar de arquivos que talvez eu vou ter esses arquivos apenas depois, eu não vou precisar ter isso agora, então eu busco esses arquivos em um segundo momento, tá bom? Então, a primeira coisa que você tem que entender é que o S3 tem várias classes ali de armazenamento, aonde dependendo do item que eu escolher, ele vai ser mais caro ou ele vai ser mais barato para mim. Outra coisa que a gente precisa entender, dá uma olhadinha aqui em definição de preço. Olha que legal aqui como que o S3 é barato. Olha que legal aqui como que o S3 é barato. Vamos pensar aqui na região de norte aqui da Virgínia, no leste dos Estados Unidos. Olha só, no S3 standard, os primeiros 50 terabytes do mês, ou seja, os primeiros 50TB, vou pagar apenas 0,23, ou seja, retirando aqui, 2 centavos de dólar por giga, é muito barato. Após os 50TB por mês, eu vou pagar pelos próximos 450 terabytes os mesmos 2 centavos, mas aqui ele tem uma casinha a menos, 0,22 centavos de dólar, e depois se eu tiver mais de 500 terabytes por mês, eu pago aqui 0,021 dólares por giga. 21 dólares por giga. Então, ele mesmo sendo a classe mais cara da AWS, do S3, ele ainda é muito barato. Olha aqui um pouco do Inteligent Steering. Olha só. Dependendo do nível, está vendo? De acesso frequente ou acesso infrequente, isso aqui vai diminuindo o meu custo. Por exemplo, se eu tiver um arquivamento lá, já guardando ele, olha só, fica bem barato por giga. No arquivamento instantâneo, olha só, menos de um centavo de dólar por GB, tá bom? Então olha, é bem interessante a forma como a gente cobra, como a AWS cobra. Isso aqui é um modelo inteligente, por quê? Ela criou uma forma não somente de armazenar arquivos, armazenar ali seus dados dentro de algum storage de arquivos, mas ele garantiu também uma forma justa de cobrança, ou seja, eu cobro mais para quem precisa mais do arquivo e eu estou cobrando menos para quando você precisa menos dele. Então acaba que, olha só, fica bem mais simples. Então acaba que, olha só, fica bem mais simples. Agora olha aqui, por exemplo, o Glacier Deep Archive, aquele situação onde, olha, eu posso ser restaurado sem até 12 horas. Então eu peço o arquivo agora, ele pode demorar até 12 horas para chegar para mim. Mas olha aqui o armazenamento por mês. Olha aqui o armazenamento por mês. Gente, é muito menos que um centavo de dólar por giga. Está vendo? Se eu jogar aqui para o Deep Arcade. Então, isso aqui eu vou usar quando? Quando é aqueles arquivos que eu uso muito para, por exemplo, arquivos que são mais de cinco anos que a legislação fala, olha, você tem que guardar isso aqui por dez anos. Poxa, para os cinco anos eu não tive um acesso nesse arquivo ali, eu vou movendo eles para as classes e eu vou deixando ele ali dentro. Então, para questões jurídicas, eu ainda tenho o arquivo em caso de necessidade, mas eu não estou mais nem pagando muito por esse contrato. Um exemplo disso é, escaneei o contrato do cliente, que o cliente assinou, sabe? Então, em caso de conferência, eu preciso desse contrato agora? Não, eu posso colocar ele aqui no Blaster e pagar muito barato por isso, tá bom? Então, eu posso armazenar isso dessa forma, tá? Mas no S3, é importante ressaltar que eu não pago apenas por armazenamento. Como ele é um serviço serverless, ele é uma API. Por trás ali existe a API do S3. Então, eu também pago por quantas requisições eu faço lá. Então, por exemplo, requisições que são de gravação, eu pago 0,005, ou seja,0004 centavos de dólar, isso na região leste aqui dos Estados Unidos, no norte de Virgínia. Vamos mudar, por exemplo, para você ver como ficaria diferente se eu colocasse esses dados em São Paulo? Aqui em São Paulo, eu já saio de 0,05, as solicitações de gravação e listagem, para 0,07. Então, estou um pouquinho mais caro. Então, para você ver, ela tem essa forma também de cobrança com base nas regiões que eu estou guardando o meu S3. Então, é importante saber que você não paga apenas pelo item armazenado, mas você paga também pelas solicitações. Lembrando que esse 0,05 dólares de solicitação não é por uma requisição, é para cada mil, tá bom? Para cada mil requisições eu pago isso. Gente, é muito barato. E para cada mil eu pago isso aqui, bem menos que um centavo de dólar também, tá bom? Isso aqui no standard, tá bom? Já nos outros itens, por exemplo, Deep Archive, gente, ele nem me custa as solicitações de API, tá vendo? Não está definido isso aqui porque é algo muito barato. Então, não está muito definido isso aqui. Então, eu pago também as solicitações aqui por API, ok? Então, vamos para a prática? Vamos entender ali como que eu posso me servir dentro do S3? Vamos lá. Como a gente já viu, simplesmente você pode chegar aqui no menu. Existem várias formas de chegar lá. A mais rápida é você digitando S3 aqui. E caso você coloque aqui a estrelinha, ele vem aqui para que você tenha já acesso rápido aqui, sendo favoritado. Caso você tenha já algum bucket, ele abre a página de listagem, se não, ele abre essa página aqui com uma apresentação sobre o que é, benefícios, recursos, quais os casos de uso, tá bom? Ou se você quiser, você pode vir aqui em buckets também. Você pode já criar um bucket por aqui e já criar aqui também. No meu caso, na minha conta, não tem nenhum aqui no norte da Virgínia, tá bom? O que é um bucket, pessoal? Basicamente, um bucket, ele é um nome, tá bom? Ele é um item semântico que eu estou garantindo aqui dentro da minha conta WS. Então, como que eu poderia estar me servindo disso? Como que eu poderia estar criando? Vou criar um bucket aqui. Qual que é o meu propósito? Vou colocar geral. Vou dar um nome para ele. Esse nome, ele não pode se repetir. Então, vamos lá. Não existe. Pessoal, eu posso estar criando aqui o bucket na minha região. Quer dizer que essa região é responsável por esse bucket. Tá bom? Mas eu não consigo, dentro da AWS, criar dois buckets com o mesmo nome. Mesmo que isso não esteja dentro da minha conta. Vamos dizer lá, se alguém criou um bucket chamado de reservas hotel, por exemplo, lá em Ohio, se eu aqui em São Paulo tentar criar um bucket chamado reservas hotel, não vou conseguir. Por quê? Porque internamente o S3, embora eu tenha uma região a qual ele corresponde por questões de cobrança, por questões de acesso e armazenamento, durabilidade, disponibilidade, tudo, internamente ele está no global, a AWS Global é quem está observando, gerenciando todo esse... Então, ele não permite que dois buckets existam com o mesmo nome. O nome é único. Como que as empresas costumam fazer aqui? Geralmente, quando elas criam o nome do bucket, elas colocam aqui o nome da empresa delas. Empresa, traço, o que ele quer blá blá blá, entendeu? o que representa aquele bucket ali pra o que ele vai guardar ali dentro então geralmente é isso que as empresas fazem outras empresas pra garantir um pouco mais a questão do seu de ser anônimo elas colocam hashes, as vezes elas colocam combinações de letras e números que representem algo para eles mas que não representem algo a outro. O fato de isso estar sendo observado de forma mais global não quer dizer que o acesso é livre. A AWS garante que o dado é anônimo, que um bucket, que um item não vai parar em outro, que aqueles que acessam determinados buckets não vão conseguir acessar outros, embora ele disponibilize APIs para isso. Ele garante toda a política de acesso e isso é isso, inclusive controlado por vocês que criam os seus buckets. Então vamos criar um bucket de teste? Vou criar aqui teste, vou colocar aqui o meu nome, Aminatab. Eu posso, caso eu já tenha um bucket, vamos imaginar que você já tenha um bucket aí na sua empresa com todas as configurações de acesso e tudo mais criadas. Você pode inclusive escolher copiar as configurações dele. No caso aqui nós não temos. Então vamos começar aqui. A região é sempre a região que já está selecionada no seu navegador. Então eu estou aqui propósito geral nome do bucket Thresh Alina Dab. Se não tiver ninguém com um bucket desse aqui, com esse nome, eles vão deixar criar. ACL, que é a propriedade, quem que é dono, basicamente é quem que pode acessar, quem que vai poder. Eu posso desabilitar, tá bom? Vai ficar recomendado, ou seja, ele controlaria isso, ou eu posso habilitar. Tá bom? Então, eu posso colocar aqui com a CL desabilitada. Gente, isso aqui vai muito da sua necessidade. Tá bom? Se você vai habilitar a CL aqui, ou seja, os acessos, ou se você vai desabilitar ou vai habilitar, ou seja, aqui vai depender muito de como você vai lidar com as políticas para esse bucket depois. Tá bom? Então, você pode manter elas habilitadas, como você pode deixar elas não habilitadas. Eu vou habilitar aqui no nosso caso, tá bom? Caso eu precise aqui controlar o acesso de cada objeto vou deixar habilitado aqui apenas por uma questão de segurança mas ele ainda fala, olha não é recomendado se você vai ter é muito acesso você pode controlar isso por política então eles mantêm desabilitados, eu posso deixar habilitado aliás, vou mudar, vou seguir com eles desabilitados aqui, apenas para você saber que depois você pode usar policies políticas ali dentro do IAM, que é um outro assunto que a gente vai falar depois para poder controlar isso. Então, configuração de bloqueio. Vou bloquear todo o acesso público. Ele não vai estar aberto aí para mim na internet, não quero. Não vou versionar o bucket, vou deixar o versionamento desativado. E aqui é interessante, qual a criptografia que eu vou usar. Se eu estiver ativando, eu posso usar o S3 aqui com a criptografia do lado do servidor e a AWS é a referência para isso, tá bom? Ele que vai cuidar. Então, ele coloca referência para isso, tá bom? Ele que vai cuidar. Então, ele coloca aqui SSS3, tá bom? E aí ele gerencia essa criptografia dos itens para mim. Como ele pode também colocar uma chave KMS, aí eu escolheria aqui uma chave KMS, tá bom? Entendeu? Que é o gerenciador de chaves aqui da AWS. Se eu escolher KMS, eu pago por isso. Então, eu pago além do bucket, eu vou pagar também pela chave de acesso, que eu vou estar criando ali dentro. É barato, não é algo caro, mas eu vou estar pagando pelo gerenciamento dela e vou estar pagando também pela requisição da API do KMS. Então, para cada objeto que tiver nesse KMS que eu criei específico, eu pagaria o objeto no S3, eu pagaria, que é muito barato, como nós já vimos, eu pagaria além do objeto no S3, eu pagaria também a chamada da API ali do S3, mas eu pagaria também a chamada da API do KMS e teria pago também por chave criada. Eu vou manter aqui a criptografia ativada, mas vou falar que quem cuida disso é a própria AWS. Poderia entrar em configurações avançadas para bloqueios, mas eu não quero isso tão feito aqui. Vamos criar o nosso bucket. Olha, não tinha ninguém com um bucket chamado testaminadab. Então eu já tenho um bucket aqui criado com o nome que eu especifiquei. A partir desse momento eu já posso começar a trabalhar os meus arquivos aqui dentro. Tá bom? Então, eu estou aqui com o bucket. Ó, não tenho nenhum objeto. Eu posso trafegar aqui sobre as propriedades. Então, ó, versionamento do bucket está desabilitado. A criptografia padrão está aqui, Amazon, você poderia criar aqui uma configuração do inteligente Turing, certo? Para que a gente fizesse aquela questão ali de acesso infrequente, joga lá para dentro, é um item mais barato, tá bom? Outras coisas legais que eu poderia aqui dentro, eu poderia notificar eventos. Como assim? Vamos imaginar que eu quisesse que alguma aplicação minha, uma Lambda, por exemplo, aqui dentro da AWS, que é um outro item que a gente ainda vai falar, vamos dizer que eu quisesse que essa Lambda ela tivesse um processamento, toda vez que eu criasse um arquivo aqui dentro que ela fosse notificada eu poderia criar aqui uma notificação de evento poderia colocar uma política para uma lambda, poderia colocar aqui alguma coisa dentro dessa notificação, tá bom? e toda vez que eu tivesse aqui dentro eu poderia inclusive, pra pegar prefixo sufixo, falar não, olha sempre inclusive pegar prefixo, sufixo, falar, não, olha, sempre quando o prefixo for esse ou o sufixo for esse, ele vai lá e aciona alguma coisa para eu processar esse arquivo. A própria AWS também faz isso para a gente. Olha que bacana. Ou seja, o S3 não é só um lugar para armazenar. Não é um lugar só para eu deixar o arquivo. Eu consigo colocar várias triggers, vários gatilhos aqui dentro dele para poder trabalhar os meus armazenamentos. Tem aqui as seções das permissões. Já estou aqui bloqueando todo o acesso público e eu poderia aqui, inclusive, colocar uma policy negando ou dando permissão para determinados itens. A acesso aqui dentro e outros não acesso. Poderia também criar um JSON de policies para isso. Como que eu coloco um objeto aqui? Vamos colocar um objeto aqui dentro? Vamos colocar, lembra, aquela chave que a gente baixou? Vamos colocar ela ali dentro só para a gente olhar. Posso só arrastar aqui dentro, e ele já vai abrir aqui para mim, nome do arquivo, ele tem o destino, carregando, se a internet for rápida, carregou. Olha aqui, já tem um arquivo aqui dentro, ele já fala para mim qual é a classe de armazenamento, qual é o tamanho. Se eu entrar aqui dentro do objeto, porque é isso que ele faz, pessoal. O S3 considera tudo um objeto. Ele vai falar, olha, esse objeto aqui é dessa região, ele tem aqui o URI desse 3. A chave PEN. Vou tentar aqui dentro. Opa! A URI dele ali dentro do S3. Aqui. Melhor, gente. Isso aqui é para acesso via console ou WSLI. Mas aqui eu tenho a URL. Eu tenho uma URL deste objeto. Vamos tentar entrar. Opa! Não consegui. Por quê? Porque meu acesso público está bloqueado, tá vendo? Então, embora ele tenha aqui uma API, tá vendo? Por isso que o nome do bucket nunca pode se repetir, independente da região da conta, tá bom? Porque, olha, ele disponibiliza uma API com um subdomínio que é o nome do meu bucket, tá vendo aqui? E aí, S3, Amazon e o nome do arquivo. Ah, uma outra coisa, eu posso trabalhar com também pastas aqui dentro. Essas pastas compõem o objeto, tá? Então, eu vou criar uma pasta aqui, vou chamar ela de teste, tá bom? E vou criar a pasta aqui. Olha só, agora eu criei a pastinha teste aqui. Vamos jogar esse mesmo arquivo aqui dentro? Só para a gente entender que estando em diretórios diferentes, ele se trata também de arquivos diferentes. Eu vou jogar o arquivo aqui dentro. Carreguei o arquivo aqui. Certo? Então, olha, eu tenho aqui dentro esse item e eu tenho a pastinha teste aqui dentro. Se eu abrir ele aqui dentro, olha o RI como mudou, o RL e o RI, está vendo? Ele já considera a pasta como parte do objeto. Então, internamente, embora eu esteja visualizando tudo isso aqui como uma pasta, uma estrutura de pastas, uma estrutura de armazenamento em pastas, internamente para ele não é sempre o objeto que eu estou falando. Então, olha aqui, a baixinha que ele guardou está aqui e a política de acesso permanece a mesma, está bloqueando todo o acesso público. Tá bom, pessoal? Então, isso aqui é uma das formas de uso do S3. Uma outra coisa legal, pessoal, é que se eu olhar aqui dentro, eu tenho esse objeto aqui que eu coloquei, como eu também repliquei ele dentro dessa pastinha, tá bom? Se eu for colocar esse objeto de novo aqui dentro, vou lá e busco de novo ele aqui, tá bom? Vamos lá. Eu vou indo aqui pelo console, vou carregar, só para você ver. Eu posso só carregar lá dentro como eu posso adicionar aqui. Vou pegar aqui nos downloads, minha chave. Tá bom? Vou carregar. Carreguei o objeto. Se eu olhar aqui dentro dos meus itens, ele não criou um novo objeto. Ele manteve aquele objeto que eu já tinha criado. Porém, como eu posso dizer, ele substituiu. Por quê? Porque eu não habilitei o versionamento. Ou seja, se eu tivesse habilitado aqui o versionamento, eu teria agora dois objetos, eu veria sempre o último, mas eu poderia recuperar um objeto anterior então o bucket ele tem o S3 ele tem essa capacidade também vamos ver se a gente consegue habilitar aqui vamos habilitar o versionamento do bucket cliquei no botãozinho ali adicionei o versionamento do bucket vamos cliquei no botãozinho ali, adicionei o versionamento do bucket. Vamos lá agora. Habilitei. Meu bucket agora tem versionamento. Vamos pôr esse arquivo de novo aqui dentro? Vamos lá. É o mesmo arquivo, o mesmo nome. Lembra que ele forma uma URL do objeto e tudo mais. Carreguei. Está aqui. Subiu. Vamos fechar. Olha aqui, o objeto não é o mesmo? Poxa, eu não estou vendo outro objeto aqui. Verdade, não estou vendo. Mas quando eu venho agora em versões, está vendo aqui? Eu tenho um versionamento. Está vendo? Ele sempre tenho um versionamento. Está vendo? Ele sempre vai me trazer o último em caso de pedir. Mas vamos dizer que sem querer, querendo, ou por alguma falha de software, eu acabei criando o mesmo arquivo duas vezes. Então, neste momento, eu poderia ter perdido a versão anterior. Vamos dizer que eu criei ali por algum motivo de bug mesmo, sabe? Ele criou um arquivo, reprocessou alguma coisa, e o arquivo de ontem tomou o lugar do arquivo de hoje. Ele está com o mesmo nome, é o mesmo RI, mesmo RL, tudo certinho. Então, ele substituiria o arquivo. E, com o versionamento, na hora que eu notasse isso, eu poderia voltar, eu poderia recuperar o arquivo anterior e fazer uma próxima substituição. Então, o versionamento do bucket serve para isso. Então, vamos explorar um pouco do uso. Onde eu poderia usar? Como eu falei, armazenamento de contratos é uma das coisas que eu posso usar. Eu posso usar para N armazenamentos aqui dentro, para que eu tenha de fato o arquivo ali à pronta entrega, ou eu posso colocar isso em classes mais baratas, tá bom? Mas eu posso, por exemplo, ter uma aplicação no EC2 que lê, por exemplo, de um mainframe, tá bom? Ele recebe um arquivo ali via internet, via algum gateway ali, ele recebe aquilo, trafega aqueles dados, ou ele acumula em uma base de dados, vamos dizer isso, vamos dizer que eu precisaria disponibilizar uma planilha, certo? E eu não tenho ali uma extração direta ao banco, poderia colecionar isso a partir de uma aplicação e guardar aí no banco. Entendeu? Então, assim, formas de integrar para trazer uma eficiência operacional, existe. Eu poderia ter uma função lambda, que recebe, por exemplo, uma requisição da internet, um ok, alguma coisa e guarde aqui dentro em nível de arquivo para que possa ser lido por outro sistema. Então, assim, são eles os usos, pessoal. outro sistema. Então, assim, são eles os usos, tá, pessoal? Lembrando que se tratam de objetos, então, embora eu esteja lendo, tá bom? Embora eu esteja aqui lendo o arquivo, para a AWS se trata de objeto. Eu posso clicar nele e fazer download, assim como eu posso, inclusive, tá bom? Além de fazer download, eu posso fazer download por uma aplicação que está rodando lá no meu ECS, uma aplicação que está rodando lá no meu EC2 ou uma Lambda também. Ali, no caso, ele vai vir um dado, vai vir um objeto para que ele possa fazer consumo disso. E aí ele pode extrair os dados desse objeto e fazer inputs em outras bases. Entendeu? Então, ele é uma forma barata de eu transitar dados de um estado para outro estado. Tá bom? Vamos a esse estado de informação. Ok? Então, esse é o S3. A possibilidade de uso é quase infinita. Então, ele vai até onde a sua arquitetura desejar. É uma forma barata e simples de termos esses acessos. Lembrando que eu vou estar pagando por giga armazenado, muito barato, e por requisição, cada mil requisições de API do S3. Espero que vocês tenham gostado, espero que a gente possa aqui na próxima oportunidade fazer alguns testes entre aplicações e o S3, espero que vocês explorem um pouco isso. Até onde eu posso ir? Gente, até onde a tua arquitetura definir? É uma feature interessantíssima, muito fácil de configurar e muito fácil também de ser usada. Ela está pronta, ela é de fato serverless. A gente simplesmente pega da prateleira da AWS e coloca as nossas aplicações para conversar com ela. Claro que quando as aplicações precisam falar com o bucket, ele precisa ter as políticas certas. Hoje nós criamos de forma muito genérica e nós podemos explorar ainda as questões de acesso e de políticas de acesso para os nossos objetos e para os nossos buckets, assim como também podemos explorar a questão de notificações para esses objetos. Ok? Então, obrigado aí mais uma vez a vocês. Tenham uma boa sorte.