Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/glaucia86/crud-serverless-cosmosdb
Repositório responsável por criar um CRUD usando arquitetura serverless com Azure Functions & MongoDb
https://github.com/glaucia86/crud-serverless-cosmosdb
azure azure-functions cosmosdb mongodb nodejs serverless
Last synced: 7 days ago
JSON representation
Repositório responsável por criar um CRUD usando arquitetura serverless com Azure Functions & MongoDb
- Host: GitHub
- URL: https://github.com/glaucia86/crud-serverless-cosmosdb
- Owner: glaucia86
- Created: 2019-08-25T17:52:00.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-12T02:47:26.000Z (over 1 year ago)
- Last Synced: 2024-11-02T12:26:38.615Z (14 days ago)
- Topics: azure, azure-functions, cosmosdb, mongodb, nodejs, serverless
- Language: JavaScript
- Homepage:
- Size: 30.3 KB
- Stars: 6
- Watchers: 3
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CRUD - Arquitetura Serverless com Azure Functions & CosmosDb
[![bit-community.png](https://i.postimg.cc/zGhWZqX7/bit-community.png)](https://postimg.cc/bZzd1cnS)
Repositório responsável por persistir os verbos HTTP's (GET, POST, DELETE, PUT) via CosmosDb, fazendo uso da arquitetura Serverless com Azure Functions.
## Recursos Utilizados 🚀
- **[Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=javascript-0000-gllemos)**
- **[Node.js](https://nodejs.org/en/)**
- **[Extensão Visual Studio Code: Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=javascript-0000-gllemos)**
- **[Azure CosmosDb](https://azure.microsoft.com/services/cosmos-db/?WT.mc_id=javascript-0000-gllemos)**
- **[Mongodb Community Server](https://www.mongodb.com/download-center/community)**
- **[MongodB Compass GUI](https://www.mongodb.com/download-center/compass)**
- **[Conta Azure - Conta Gratuita](https://azure.microsoft.com/free/?WT.mc_id=javascript-0000-gllemos)**## Conta - Azure for Students ⭐️
Caso você seja um(a) estudante de alguma Instituição de Ensino de Faculdade ou Universidade, poderá criar sua conta no **[Azure for Students](https://azure.microsoft.com/free/students/?WT.mc_id=javascript-0000-gllemos)**. Essa conta te dará o benefício em possuir crédito de USD 100,00 para usar os serviços de maneira gratuita, sem necessidade de possuir um cartão de crédito. Para ativar essa conta, bastam acessar o link ao lado: **[AQUI](https://azure.microsoft.com/free/students/?WT.mc_id=javascript-0000-gllemos)**
## Sobre a Demo 💻
Aqui eu ensino como você pode criar um CRUD no Azure Functions em poucos minutos persistindo via CosmosDb.
## Executando localmente a aplicação
1. Para executar localmente a aplicação, você precisa primeiramente baixar o pacote npm do azure function tools globalmente na sua máquina por meio do comando:
```bash
> npm i -g azure-functions-core-tools --unsafe-perm true
```
2. Crie na raiz principal do projeto o arquivo: `local.settings.json` e inclua o seguinte bloco de código, alterando as chaves da sua conexão com o CosmosDb:```json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node",
"CosmosDbUrl": "",
"CosmosDBUser": "",
"CosmosDBPassword": "",
"MongoDBLocalUrl": ""
},
"Host": {
"LocalHttpPort": 7071,
"CORS": "*"
}
}```
3. Execute o MongoDb ou MongoDb Compass!
4. Agora, abre novamente o seu prompt de comando e execute o comando:
```bash
> func host start
```Abre o Postman. Agora você poderá:
* Criar um novo 'Funcionário' em: [POST] `http://localhost:7071/api/funcionarios`
* Listar todos os Funcionários em: [GET] `http://localhost:7071/api/funcionarios`
* Listar um Funcionário pelo Id em: [GET] `http://localhost:7071/api/funcionarios/{id}`
* Atualizar um Funcionário pelo Id em: [PUT] `http://localhost:7071/api/funcionarios/{id}`
* Excluir um Funcionário pelo Id em: [DELETE] `http://localhost:7071/api/funcionarios/{id}`## Links & Recursos Importantes ❗️
Durante o workshop, comentei sobre importantes documentações, links e recursos que podem auxiliar o seu conhecimento sobre Serverless & Azure Functions
- ✅ **[Link dos Slides da Palestra](https://aka.ms/AA5vqcu)**
- ✅ **[Azure para devs JavaScript & Node.js](https://docs.microsoft.com/javascript/azure/?WT.mc_id=javascript-0000-gllemos&view=azure-node-latest)**
- ✅ **[Documentação Azure Functions](https://docs.microsoft.com/azure/azure-functions/?WT.mc_id=javascript-0000-gllemos)**
- ✅ **[Criando a sua Primeira Função no Visual Studio Code](https://docs.microsoft.com/azure/azure-functions/functions-create-first-function-vs-code?WT.mc_id=javascript-0000-gllemos)**
- ✅ **[Extensão Vs Code – Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions&WT.mc_id=javascript-0000-gllemos)**
- ✅ **[E-Book Grátis - Azure Serverless Computing Cookbook](https://azure.microsoft.com/resources/azure-serverless-computing-cookbook/?WT.mc_id=javascript-0000-gllemos)**
- ✅ **[Cursos Grátis - Azure Functions](https://docs.microsoft.com/learn/paths/create-serverless-applications/?WT.mc_id=javascript-0000-gllemos)**
- ✅ **[Cursos Grátis - Azure CosmosDb](https://docs.microsoft.com/learn/browse/?term=cosmos&WT.mc_id=javascript-0000-gllemos)**
- **[Tutorial de Azure CosmosDb & Node.js](https://docs.microsoft.com/azure/cosmos-db/sql-api-nodejs-get-started?WT.mc_id=javascript-0000-gllemos)**## Dúvidas?! ❗️❗️
Se tiverem alguma dúvida referente ao código desenvolvido ou para configurar o ambiente de desenvolvimento, bastam criar uma **[ISSUE AQUI](https://github.com/glaucia86/crud-serverless-cosmosdb/issues)** no GitHub que estarei respondendo a vocês o mais breve possível!!