terça-feira, 15 de outubro de 2024

Iniciando instâncias EC2 na AWS com Python(boto3) - Starting instances at AWS with Python

 




Infraestrutura como Código (IaC) é uma prática em que a infraestrutura de TI, como servidores, redes e armazenamento, é provisionada e gerenciada por meio de arquivos de configuração em vez de processos manuais. Com o IaC, toda a infraestrutura é descrita em código, permitindo que ela seja versionada, auditada e replicada de forma automatizada e consistente. Essa abordagem melhora a eficiência, a escalabilidade e a confiabilidade da gestão de infraestruturas complexas, principalmente em ambientes de nuvem.

Passos:

Criar um usuário no AWS IAM com Access Keys

  • Acesse o console da AWS.
  • Navegue até o serviço IAM (Identity and Access Management).
  • Crie um novo usuário com as permissões necessárias (no mínimo a política AmazonEC2FullAccess para o uso do EC2).
  • No processo de criação, selecione a opção para gerar Access Key e Secret Key.
Salve essas chaves em local seguro (você precisará delas para configurar o boto3).




Configurar boto3 com as Access Keys
  • Instale o boto3 se ainda não tiver instalado:
                    pip install boto3



Criar um código Python para iniciar instâncias EC2
  • A seguir está o código que usa o boto3 para iniciar uma instância EC2.

import boto3

# Definir as credenciais de acesso (access key e secret key)
ACCESS_KEY = 'sua_access_key_aqui'
SECRET_KEY = 'sua_secret_key_aqui'
REGION = 'us-east-1'  # Região em que você deseja iniciar a instância

# Criar uma sessão no boto3 com as credenciais e região configurada
ec2_client = boto3.client(
    'ec2',
    aws_access_key_id=ACCESS_KEY,
    aws_secret_access_key=SECRET_KEY,
    region_name=REGION
)

# Parâmetros para iniciar a instância
instance_params = {
    'ImageId': 'ami-0c55b159cbfafe1f0',  # AMI ID da instância (Ubuntu, Amazon Linux, etc.)
    'InstanceType': 't2.micro',           # Tipo da instância
    'MinCount': 1,                        # Número mínimo de instâncias
    'MaxCount': 1,                        # Número máximo de instâncias
    'KeyName': 'nome-da-sua-keypair',     # Nome do par de chaves (já criado no EC2)
    'TagSpecifications': [
        {
            'ResourceType': 'instance',
            'Tags': [
                {'Key': 'Name', 'Value': 'MinhaInstanciaEC2'}
            ]
        }
    ]
}

# Iniciar a instância EC2
response = ec2_client.run_instances(**instance_params)

# Obter o ID da instância criada
instance_id = response['Instances'][0]['InstanceId']
print(f'Instância {instance_id} foi iniciada com sucesso.')


Dica importante, você pode postar usar esse código no Google Colab e fazer toda a operação por lá, sem a necessidade de Python ser instalado na sua máquina local.

Até mais pessoal

Fonte : aws.com


terça-feira, 21 de julho de 2020

Analisando gastos do Governo Federal utilizando Python




quarta-feira, 8 de julho de 2020

Jogo em Python utilizando a biblioteca Game2dBoard


Segue um jogo desenvolvido em Python utilizando a biblioteca Game2DBoard

O jogo consistem em acertar a bolinha com o clique do mouse, a bolinha inicia na parte superior e vai descendo para a parte inferior,  cada acerto gera um ponto, um erro e o jogo termina. Cada acerto a bolinha inicia novamente na parte superior, por[em agora com uma velocidade maior.


Biblioteca Game2dBoard para jogos simples




sexta-feira, 19 de junho de 2020

Beneficiários do Auxílio Emergencial por Cidade









Portal da Transparência

Todos os dados contidos no link acima foram retirados do Portal da Transparência, a contraprova pode ser feita lá. 

Como denunciar ?

Muitos foram os beneficiários e também, muitos receberam valores sem necessidade. Se você souber de algum caso, pode denunciar no Portal da Transparência neste link, basta apenas alterar a Busca Livre por sobrenome e mudar o município e o mês de consulta. A consulta é lenta. 




Sobre o portal 

É de conhecimento de todos que o Portal da Transparência veio para mostrar onde e como o dinheiro público é gasto. A consulta pública pode ser realizada por qualquer cidadão, porém, como já disse acima, a consulta é lenta,  os dados abertos podem ser baixados e acessados diretamente no Portal.

Desenvolvedor 

Utilizando alguma linguagem de programação, é possível separar as informações por cidade, e isso foi feito utilizando a linguagem Python.

Os dados abertos pode ser obtidos aqui em formato CSV.



Se você quer o código Python para separação por cidades, também pode estar fazendo download aqui


quarta-feira, 13 de maio de 2020

Maven x Netbeans - Erro de repositório

Olá pessoal


Há muito tempo venho tentando  utilizar Maven nos projetos em Netbeans, e sempre havia um erro na tentativa de download dos arquivos do repositório http://repo.maven.apache.org



Por muitas vezes pensei que era erro no sistema operacional, na minha rede, no firewall, no antivírus ou sei lá o que mais.

Pois bem, tentei resolver e aqui vai a resposta, pode parecer simples, mas isso é o resultado depois de uma hora de tentativas frustradas.

Qual a causa.
O repositório central utilizado pelo Maven era

http://repo.maven.apache.org/    e parece que a URL mudou para
https://repo.maven.apache.org/maven2/
 (foi adiciona um s no http, camada adicional de segurança SSL/TLS).

Abaixo seguem os passos rápidos para realizar essa mudança no Netbeans e ser feliz, ou seja adicionando apenas o repositório com SSL 


Passo 1
Acesse este arquivo na sua máquina Windows

   C:\Program Files\NetBeans 8.2 RC\java\maven\conf\settings.xml

Passo 2
    Copie e cole o conteúdo abaixo no arquivo citado no passo 1.


<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>internal-repository</id><name>Maven Repository Manager running on https://repo1.maven.org/maven2</name><url>
https://repo.maven.apache.org/maven2/</url><mirrorOf>*</mirrorOf></mirror></mirrors><profiles></profiles></settings>

Passo 3
    Crie o projeto Maven e visualize as dependências sendo baixadas tranquilamente.

quarta-feira, 6 de maio de 2020

JSON e Arduino


No post de hoje iremos falar sobre interoperabilidade de sistemas. O termo pode parecer estranho, mas grande parte dos serviços da Web funciona neste formato, onde algum sistema envia informações para outro. E aqui vem a pergunta, como enviar informações quando os sistemas são desenvolvidos em linguagens diferentes ??





Tempos atrás tínhamos os arquivos XML que eram enviados de um sistema para outro. Exemplo disso é a maneira como os dados de Nota Fiscal Eletrônica ainda são enviados para a Receita Federal.

 
Exemplo de NFe enviada a Receita Federal





Outro maneira de enviar informações entre sistemas é o formato Json, bastante difundido na maioria das linguagens. A plataforma Arduino não poderia ficar de fora e também tem a biblioteca para realizar o envio e recebimento deste tipo de dados.

Dentre todas as bibliotecas que testei essa é a melhor Arduinojson. Abra o gerenciador de bibliotecas da IDE Arduino e faça a instalação da última versão. Neste momento a 6.15.1

Gerenciador de bibliotecas Arduino