tastekim / AWS-Lambda-function

πŸ’» Practice to build serverless app using AWS lambda function with typescript.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DiseasesWIKI - AWS Lambda function

Requierements

  • firebase-sdk keyFile
  • configure env

Usage

  1. Test in a local environment with the command npm run local.
  2. Create a bundle for AWS lambda function with the command npm run build:getAll or npm run build:getOne, npm run build:img.
  3. Update to AWS lambda function using ./dist/index.zip.
  4. Image files can be uploaded to path /uploadimgs on local environment.
  5. Content type of image files is multipart/mixed and require this fields => {file : file, title : text, season : text, category1 : text, category2 : text, created_at : text, }

Lambda API

BASE_URL=https://lgd0lbex7b.execute-api.ap-northeast-2.amazonaws.com/default

[GET] /getAllDiseasesData

queryString(option) : comp=f λΆ™μ—¬μ„œ μš”μ²­ν•˜λ©΄ compress ν•˜μ§€ μ•Šμ€ λ°μ΄ν„°λ‘œ response

response {
statusCode : 200,
data : [
{doc1},
{doc2},
...
    ]
}

[GET] /getDiseasesData

queryString(require) : docId=63f5eaaf07db3388454113e6 ν•΄λ‹Ήν•˜λŠ” Id 의 document response

response {
  "_id": "63f5eaaf07db3388454113e6",
  "disease_name": "μš”λ‘œκ°μ—Όμ¦\n(urinary tract infection, UTI)",
  "category": "μ‹ μž₯λΉ„λ‡¨κΈ°κ³„μ§ˆν™˜",
  "definition": "μš”λ‘œκ°μ—Όμ¦μ€ 비뇨기 κ³„ν†΅μ˜ κ°μ—Όμž…λ‹ˆλ‹€. 일반적으둜 μ†Œλ³€μ€ μ–΄λ– ν•œ μ˜€μ—Όλ„ 없이 μš”λ‘œλ₯Ό 톡해 μ΄λ™ν•˜κ²Œ λ˜λŠ”λ° λͺΈ 밖에 μžˆλŠ” 세균이 λΉ„λ‡¨κΈ°κ³„ν†΅μœΌλ‘œ 듀어와 감염과 염증 λ“±μ˜ 문제λ₯Ό μΌμœΌν‚€λŠ” 것을 λ§ν•©λ‹ˆλ‹€. λˆ„κ΅¬λ‚˜ μš”λ‘œκ°   염에 걸릴 수 μžˆμ§€λ§Œ μ—¬μ„±μ—κ²Œ 더 ν”ν•©λ‹ˆλ‹€. μ—¬μ„±μ˜ μš”λ„κ°€ 더 짧고 λŒ€μž₯균이 ν”ν•œ 항문에 더 가깝기 λ•Œλ¬Έμž…λ‹ˆλ‹€.",
  "cause_symptom": "μš”λ„μ™€ 방광에 λ“€μ–΄κ°€ 염증과 감염을 μΌμœΌν‚€λŠ” 미생물(주둜 λ°•ν…Œλ¦¬μ•„)에 μ˜ν•΄ λ°œμƒν•©λ‹ˆλ‹€. UTIλŠ” μš”λ„μ™€ λ°©κ΄‘μ—μ„œ κ°€μž₯ ν”ν•˜κ²Œ λ°œμƒν•˜μ§€λ§Œ λ°•ν…Œλ¦¬μ•„λŠ” μš”λ„λ₯Ό 타고 μ˜¬λΌκ°€ μ‹ μž₯을 감염 μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€. λ°©κ΄‘μ—Ό ν™˜μžμ˜ 90% 이상이 μž₯μ—μ„œ 주둜 λ°œκ²¬λ˜λŠ” 세균인 λŒ€μž₯균에 μ˜ν•΄ λ°œμƒν•©λ‹ˆλ‹€. \nμ˜†κ΅¬λ¦¬, 볡뢀 λ˜λŠ” 골반 λΆ€μœ„μ˜ 톡증, μ†Œλ³€μ΄ 자주 마렡고 κΈ‰ν•˜κ²Œ 마렀우며 μš”μ‹€κΈˆμ΄ 생길 수 μžˆμŠ΅λ‹ˆλ‹€. μ†Œλ³€μ„ λ³Ό λ•Œμ— 톡증이 μžˆμ„ 수 있고 μ†Œλ³€μ— ν”Όκ°€ λ‚˜μ˜€κ±°λ‚˜ λΉ„μž₯상적인 μ†Œλ³€μƒ‰(νƒν•œ 색)κ³Ό κ°•ν•œ λƒ„μƒˆκ°€ λ™λ°˜λœ μ†Œλ³€μ΄ λ‚˜νƒ€λ‚  수 μžˆμŠ΅λ‹ˆλ‹€.",
  "care": "μΆ©λΆ„ν•œ μˆ˜λΆ„ μ„­μ·¨λ‘œ μš”λ‘œμ—μ„œ λ°•ν…Œλ¦¬μ•„λ₯Ό μ œκ±°ν•˜λŠ” 것을 λ„μšΈ 수 μžˆμŠ΅λ‹ˆλ‹€. 그리고 λ°°λ³€ ν›„ 항상 μ•žμ—μ„œ λ‹¦λŠ” 개인 μœ„μƒμ„ μ‹€μ²œν•˜κ±°λ‚˜ μš”λ‘œκ°€ 짧은 μ—¬μ„±λ“€μ˜ κ²½μš°μ—λŠ” 월경주기에 νŒ¨λ“œμ™€ 탐폰을 자주 κ΅μ²΄ν•˜λŠ” 것과 μ—¬μ„±μš© νƒˆμ·¨μ œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것도 UTI μ˜ˆλ°©μ— 도움이 될 수 μžˆμŠ΅λ‹ˆλ‹€. μ˜λ£ŒκΈ°κ΄€μ„ λ°©λ¬Έν•œλ‹€λ©΄ ν•­μƒμ œλ₯Ό μ‚¬μš©ν•˜μ—¬ μš”λ‘œκ°μ—Όμ¦μ„ μΉ˜λ£Œν•˜κ²Œ λ©λ‹ˆλ‹€."
}

[GET] /getSeasonImages

ν˜„μž¬ λ‚ μ§œ month κΈ°μ€€μœΌλ‘œ 45월은 'λ΄„' 68월은 '여름' 910월은 '가을' 113월은 '겨울' 둜 μž‘μ•„μ„œ κ³„μ ˆλ‚΄μš©μ„ ν¬ν•¨ν•œ 전체 이미지 랜덀 3개

response {
  "data": [
      {
      "_id": "640941e7c0094b1772439365",
      "title": "μ›ƒλŠ” 집에 볡이 μ˜¨λ‹€",
      "filename": "202001_λͺ¨λ°”일웹진_01λ³Έλ¬Έ_2꼭지.jpg",
      "created_at": "202001",
      "season": "겨울",
      "category1": "건강증진",
      "category2": "-",
      "url": "https://storage.googleapis.com/diseaseswiki.appspot.com/202001_%E1%84%86%E1%85%A9%E1%84%87%E1%85%A1%E1%84%8B%E1%85%B5%E1%86%AF%E1%84%8B%E1%85%B0%E1%86%B8%E1%84%8C%E1%85%B5%E1%86%AB_01%E1%84%87%E1%85%A9%E1%86%AB%E1%84%86%E1%85%AE%E1%86%AB_2%E1%84%81%E1%85%A9%E1%86%A8%E1%84%8C%E1%85%B5.jpg?GoogleAccessId=firebase-adminsdk-go0ee%40diseaseswiki.iam.gserviceaccount.com&Expires=3356656591&Signature=h9a%2Fi47mqEoye4y0hLVlSfwh2Sx8SMATTdSEJT5kD13b0lyQFBNxQlF773VnI3hHSau6mQG2aREGEnFxI9QG%2FqMhcRXg8dW5LUPwUJ0klcl3ZtZvqHc7PUoA9Tj8k3AZezJVHObO%2FeJKnrP50F87M5PA%2F22yMb%2BEmVwFa8xxiNSCxCf8XaSMXr8SqGu7oEyrZD5PwT5Ed%2BQiMx1Yv1KxK0TSL1faNT3temqig0LzcacaGwKWHK2k5771Osq73BjJjJeldpMxgxZUZNMGx%2ByQu1FGhE4Hp1jKrRTo7Ql1ONWSoueIIETdSOo1Xy0SpdH3qjhdJf8FkT7nVZoJqb9pWg%3D%3D"
      }, ....
  ]
}

[GET] /getImageUrl

queryString(require) : id=6409497ac0094b177243939c ν•΄λ‹Ήν•˜λŠ” Id 의 document image url response

{
  "data": 
      "https://storage.googleapis.com/diseaseswiki.appspot.com/202210_%E1%84%86%E1%85%A9%E1%84%87%E1%85%A1%E1%84%8B%E1%85%B5%E1%86%AF%E1%84%8B%E1%85%B0%E1%86%B8%E1%84%8C%E1%85%B5%E1%86%AB_01%E1%84%87%E1%85%A9%E1%86%AB%E1%84%86%E1%85%AE%E1%86%AB.jpg?GoogleAccessId=firebase-adminsdk-go0ee%40diseaseswiki.iam.gserviceaccount.com&Expires=3356660469&Signature=skRXJDig2TH1o5Y3wemL%2FmWrk6xpnE2ojkNu0r0R8DMs%2BaX%2Br2NfdyjxIo5tbDBDrOcxgqTn8%2BLhd8BkKGJ93cxjkwazYtOSMxGziAL1qvmDTy5lgr9WPGt%2Fre%2Bfddisk4vZMeN4o63jKc4eXhuZbgVA%2FjennuJjg%2FbmK6QgENMKE%2B4iNMAWkjDnYdEmLiGIx05G17YagvK7Z35eJhJ0MQMYYHtGSaC3gCS5uIgmv2hjNPIHdJYuWSv7xCURxIZ9PBybXc0b9BB75HtsB8zdVZchRUy3FCb6sjf31aOE5hUFPJfd9GN%2BuXfIJp7I%2BSn%2FfGIlwaT94O6teCCfcR0w%2BQ%3D%3D"
}

[GET] /updateAllData

μš”μ²­ μ‹œ ν˜„μž¬ 데이터 이미지 맀핑 μ—…λ°μ΄νŠΈ

{
message : 'Success process.'
}

About

πŸ’» Practice to build serverless app using AWS lambda function with typescript.


Languages

Language:TypeScript 100.0%