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

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:...

Como Resolver Problema de Teclado e Mouse Não Funcionando no Ubuntu

Como resolver problema com teclado e mouse no Ubuntu Como Resolver Problema de Teclado e Mouse Não Funcionando no Ubuntu Encontrar-se sem teclado e mouse funcionando no Ubuntu pode ser frustrante, especialmente quando precisamos realizar tarefas urgentes. Este artigo aborda uma solução simples e eficaz: reinstalar o pacote xserver-xorg-input-all , que é responsável pelo suporte aos dispositivos de entrada no sistema. Passos para resolver o problema Para resolver este problema, siga os passos abaixo. Será necessário acessar o sistema como usuário root através do modo de recuperação pelo GRUB. 1. Acesse o modo de recuperação pelo GRUB Caso o teclado e o mouse não estejam funcionando, siga os passos abaixo para acessar o terminal no modo de recuperação: Reinicie o computador e, durante a inicialização, pressione repetidamente a tecla Shift ...

Como Migrar Arquivos do AWS S3 para Azure Blob Storage

Como Migrar Arquivos do AWS S3 para Azure Blob Storage Como Migrar Arquivos do AWS S3 para Azure Blob Storage Este tutorial ensina como realizar a migração de todos os arquivos e pastas de um bucket S3 da AWS para o Azure Blob Storage de forma eficiente e segura. Pré-requisitos Uma conta AWS com acesso ao bucket S3. Uma conta Azure com um container configurado no Blob Storage. Instalação da AWS CLI e da Azure CLI . Configuração das credenciais de ambas as plataformas. Passo 1: Configurar as Ferramentas de Linha de Comando Configurar a AWS CLI Certifique-se de que a AWS CLI está instalada e configurada com as credenciais apropriadas: aws configure Insira o Access Key ID , Secret Access Key , região e formato de saída (por exemplo, JSON). Configurar a Azure CLI Faça login na sua conta Azure usando a Azure CLI: az login ...