Pular para o conteúdo principal

Criar uma API com Node.js é um processo simples e altamente personalizável. Este guia vai ajudá-lo a construir sua primeira API do zero, incluindo o upload de arquivos para o Azure Blob Storage

Como criar uma API usando Node.js

Como criar uma API usando Node.js

Criar uma API com Node.js é um processo simples e altamente personalizável. Este guia vai ajudá-lo a construir sua primeira API do zero, incluindo o upload de arquivos para o Azure Blob Storage.

1. Configurar o ambiente

Antes de começar, certifique-se de ter o Node.js instalado em sua máquina.

  1. Crie um novo diretório para o projeto:
  2. mkdir minha-api
    cd minha-api
    npm init -y
        

    O comando npm init -y criará um arquivo package.json.

2. Instalar dependências necessárias

  1. Instale o Express:
  2. npm install express
        
  3. Instale o multer para lidar com uploads de arquivos:
  4. npm install multer
        
  5. Instale o pacote para acessar o Azure Blob Storage:
  6. npm install @azure/storage-blob
        
  7. Opcionalmente, instale o Nodemon para recarregar o servidor automaticamente:
  8. npm install -D nodemon
        

3. Criar o servidor

Crie um arquivo chamado index.js e adicione o código abaixo:


const express = require('express');
const multer = require('multer');
const { BlobServiceClient } = require('@azure/storage-blob');
const app = express();
const port = 3000;

// Middleware para parsear JSON
app.use(express.json());

// Configuração do multer para uploads
const upload = multer({ dest: 'uploads/' });

// Configuração do Azure Blob Storage
const AZURE_STORAGE_CONNECTION_STRING = 'SEU_CONNECTION_STRING_DO_AZURE';
const containerName = 'nome-do-seu-container';

const blobServiceClient = BlobServiceClient.fromConnectionString(AZURE_STORAGE_CONNECTION_STRING);

// Rota inicial
app.get('/', (req, res) => {
    res.send('Bem-vindo à API!');
});

// Rota para upload de arquivos
app.post('/upload', upload.single('file'), async (req, res) => {
    try {
        const file = req.file;

        if (!file) {
            return res.status(400).send('Nenhum arquivo foi enviado.');
        }

        const containerClient = blobServiceClient.getContainerClient(containerName);
        const blobName = file.originalname;
        const blockBlobClient = containerClient.getBlockBlobClient(blobName);

        // Faz o upload do arquivo para o Azure Blob Storage
        await blockBlobClient.uploadFile(file.path);

        res.status(200).json({
            mensagem: 'Arquivo enviado com sucesso!',
            blobUrl: blockBlobClient.url
        });
    } catch (error) {
        console.error('Erro ao fazer upload:', error.message);
        res.status(500).send('Erro ao enviar o arquivo.');
    }
});

// Inicia o servidor
app.listen(port, () => {
    console.log(`Servidor rodando em http://localhost:${port}`);
});

  

4. Configurar scripts no package.json

No arquivo package.json, adicione os seguintes scripts:


"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js"
}

  

5. Testar a API

  1. Inicie o servidor:
  2. npm run dev
        
  3. Use uma ferramenta como Postman para testar o upload:
    • Faça uma requisição POST para http://localhost:3000/upload com o arquivo anexado no campo file.

6. Melhorias adicionais

  • Validação de tipos de arquivo e tamanhos.
  • Integração com autenticação para proteger o acesso às rotas.
  • Organização de rotas em módulos separados.

Pronto! Agora você tem uma API funcional com suporte a upload de arquivos para o Azure Blob Storage.

Como criar uma API usando Node.js

Como criar uma API usando Node.js

Criar uma API com Node.js é um processo simples e altamente personalizável. Este guia vai ajudá-lo a construir sua primeira API do zero, incluindo o upload de arquivos para o Azure Blob Storage.

1. Configurar o ambiente

Antes de começar, certifique-se de ter o Node.js instalado em sua máquina.

  1. Crie um novo diretório para o projeto:
  2. mkdir minha-api
    cd minha-api
    npm init -y
        

    O comando npm init -y criará um arquivo package.json.

2. Instalar dependências necessárias

  1. Instale o Express:
  2. npm install express
        
  3. Instale o multer para lidar com uploads de arquivos:
  4. npm install multer
        
  5. Instale o pacote para acessar o Azure Blob Storage:
  6. npm install @azure/storage-blob
        
  7. Opcionalmente, instale o Nodemon para recarregar o servidor automaticamente:
  8. npm install -D nodemon
        

3. Criar o servidor

Crie um arquivo chamado index.js e adicione o código abaixo:


const express = require('express');
const multer = require('multer');
const { BlobServiceClient } = require('@azure/storage-blob');
const app = express();
const port = 3000;

// Middleware para parsear JSON
app.use(express.json());

// Configuração do multer para uploads
const upload = multer({ dest: 'uploads/' });

// Configuração do Azure Blob Storage
const AZURE_STORAGE_CONNECTION_STRING = 'SEU_CONNECTION_STRING_DO_AZURE';
const containerName = 'nome-do-seu-container';

const blobServiceClient = BlobServiceClient.fromConnectionString(AZURE_STORAGE_CONNECTION_STRING);

// Rota inicial
app.get('/', (req, res) => {
    res.send('Bem-vindo à API!');
});

// Rota para upload de arquivos
app.post('/upload', upload.single('file'), async (req, res) => {
    try {
        const file = req.file;

        if (!file) {
            return res.status(400).send('Nenhum arquivo foi enviado.');
        }

        const containerClient = blobServiceClient.getContainerClient(containerName);
        const blobName = file.originalname;
        const blockBlobClient = containerClient.getBlockBlobClient(blobName);

        // Faz o upload do arquivo para o Azure Blob Storage
        await blockBlobClient.uploadFile(file.path);

        res.status(200).json({
            mensagem: 'Arquivo enviado com sucesso!',
            blobUrl: blockBlobClient.url
        });
    } catch (error) {
        console.error('Erro ao fazer upload:', error.message);
        res.status(500).send('Erro ao enviar o arquivo.');
    }
});

// Inicia o servidor
app.listen(port, () => {
    console.log(`Servidor rodando em http://localhost:${port}`);
});

  

4. Configurar scripts no package.json

No arquivo package.json, adicione os seguintes scripts:


"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js"
}

  

5. Testar a API

  1. Inicie o servidor:
  2. npm run dev
        
  3. Use uma ferramenta como Postman para testar o upload:
    • Faça uma requisição POST para http://localhost:3000/upload com o arquivo anexado no campo file.

6. Melhorias adicionais

  • Validação de tipos de arquivo e tamanhos.
  • Integração com autenticação para proteger o acesso às rotas.
  • Organização de rotas em módulos separados.

Pronto! Agora você tem uma API funcional com suporte a upload de arquivos para o Azure Blob Storage.

Comentários

Postagens mais visitadas deste blog

Guia de Instalação e Configuração do Docker no Ubuntu

 O Docker é uma ferramenta poderosa para criar, testar e implantar aplicações de maneira rápida e eficiente em containers. Este guia vai cobrir os passos necessários para instalar e configurar o Docker no Ubuntu. Atualizar o Sistema Antes de começar, é uma boa prática garantir que o sistema está atualizado: sudo apt update sudo apt upgrade Instalar Dependências O Docker requer alguns pacotes adicionais para funcionar corretamente. Vamos instalá-los: sudo apt install apt-transport-https ca-certificates curl software-properties-common Esses pacotes permitem ao Ubuntu utilizar pacotes de repositórios via HTTPS. Adicionar a Chave GPG do Docker Para garantir que os pacotes baixados sejam autênticos, precisamos adicionar a chave GPG oficial do Docker: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg Adicionar o Repositório Docker Agora, adicione o repositório Docker ao sistema: echo "deb [arch=amd64 signed-by=...

Implementado Comunicação entre Microserviços Apache Kafka em Nodejs

Implementando Comunicação entre Microserviços com Apache Kafka em Node.js Implementando Comunicação entre Microserviços com Apache Kafka em Node.js O Apache Kafka é uma plataforma distribuída de mensagens em tempo real, ideal para comunicação entre microserviços. Neste artigo, implementaremos um produtor e um consumidor Kafka usando Node.js . 1. Configuração do Ambiente Antes de começar, instale o Docker e configure um cluster Kafka com Zookeeper: docker-compose up -d Crie um arquivo docker-compose.yml para rodar o Kafka: version: '3.8' services: zookeeper: image: bitnami/zookeeper:latest container_name: zookeeper environment: - ALLOW_ANONYMOUS_LOGIN=yes ports: - "2181:2181" kafka: image: bitnami/kafka:latest container_name: kafka depends_on: - zookeeper environment: - KAFKA_BROKER_ID=1 - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:...

Guia de instalação e configuração do Portainer no Ubuntu

  Guia Completo de Instalação do Portainer.io no Docker O Portainer.io é uma ferramenta poderosa e amigável para o gerenciamento de containers Docker, Swarm e Kubernetes. Se você trabalha com containers, essa é uma solução essencial para facilitar sua administração. Vamos aprender como instalar e configurar o Portainer no Docker. O que é o Portainer.io? O Portainer.io é uma interface gráfica simples, que permite gerenciar de maneira centralizada seus containers, volumes, redes e imagens Docker. Ele pode ser utilizado por iniciantes e profissionais, pois oferece uma administração visual dos seus ambientes. Benefícios do Portainer Interface amigável : Gerencie containers de forma visual, tornando a administração mais simples e intuitiva. Gerenciamento centralizado : Administre múltiplos ambientes Docker/Kubernetes em um único local. Facilidade para iniciantes : Reduz a curva de aprendizado do Docker com sua interface gráfica. Gerenciamento de volumes e redes : ...