中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ServerLess如何進行天氣API實踐

發布時間:2021-12-16 16:28:17 來源:億速云 閱讀:188 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關ServerLess如何進行天氣API實踐,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

  前言

  云計算是大勢所趨

  Serverless 架構即“?服務?”架構,它是一種全新的架構方式,是云計算時代?種?命性的架構模式

  FaaS(Function as a Service - 函數即服務) 是在無狀態容器中運行的事件驅動型計算的執行模型

  云函數算是FaaS的一種具體的形式,由云商提供計算平臺,開發者只需關注函數邏輯的實現,將服務器相關的配置管理工作統統交給云商去做,不再花大精力去管理服務器

  我們只需要提供一段代碼,由云商研制的 FaaS 方案幫我們選擇語言對應技術棧的最佳實踐,基于內置的擴展機制按實際需要,進行動態擴展計算資源,輕松部署服務到公網,并提供可靠的監控、報警保障,不需要以前一樣,服務器資源不是大部分時間處于閑置狀態,就是遇到超大瀏覽需要緊急擴容

  給 FaaS 一個函數,就能上線一個高可用的服務

  簡單的服務接口開發的專業性要求降低了,前端有了更大的發揮空間,包括但不限于:

  BFF(Backend For Frontend)

  SSR(Server-Side Rendering)

  上面簡單的介紹了一下“云函數”,有一點抽象,下面就結合實操,來搞一個”實用的“

  ??搞一個簡單的天氣查詢API

  就像這樣的:點我體驗

  參數:cityId 地區參照表

  所使用到的技術與平臺

  Node.js (云函數選用JavaScript語言)

  騰訊云 - 免費的云函數服務

  阿里云 - 免費的墨跡天氣查詢服務

  下面開始手把手教程

  騰訊云側

  1. 注冊賬號

  注冊騰訊云賬號并登錄

  https://cloud.tencent.com/

  2. 進入控制臺

  點擊右上角進入控制臺

ServerLess如何進行天氣API實踐

  3. 云函數-函數服務

  左上角選擇云產品,輸入云函數,選擇 云函數-函數服務

ServerLess如何進行天氣API實踐

  4. 新建云函數

  新建一個云函數

ServerLess如何進行天氣API實踐

  5. 錄入基本信息

  符合規范的函數名稱

  環境選擇一個Node.js的環境

  選擇空白函數

  然后下一步

ServerLess如何進行天氣API實踐

  6. 完成創建

  直接點擊完成,什么都不更改

ServerLess如何進行天氣API實踐

  7. 觸發器

  然后來到這個界面,點擊觸發管理

ServerLess如何進行天氣API實踐

  8. 創建觸發器

  創建觸發器,填寫相關信息

  觸發方式-API網關觸發

  請求方法-GET

  鑒權方法-免鑒權

ServerLess如何進行天氣API實踐

  9. 大功告成

  體驗一下生成的觸發器鏈接

ServerLess如何進行天氣API實踐

  10. 觀察接口

  觀察響應結果與我們的代碼

  響應結果

ServerLess如何進行天氣API實踐

  我們的云函數代碼

ServerLess如何進行天氣API實踐

  關注紅色框中的內容

  執行方法:index.main_handler

  index 對應的就是 index.jsmain_handler就是就是index.js中對外暴露的 main_handler方法

  再看代碼

  'use strict';

  exports.main_handler = async (event, context) => {

  console.log("Hello World")

  console.log(event)

  console.log(event["non-exist"])

  console.log(context)

  return event

  };

  根據上上圖返回的結果可知其對應的是event里面的內容: 即我們可以在event中取到我們請求的參數,header,body等信息,便于我們執行后續邏輯

  context的內容(console.log的內容)在哪里看?

  11. 日志查詢

ServerLess如何進行天氣API實踐

  在日志查詢面板可以查詢到我們接口的調用信息,響應狀態與log的內容

  12. 安裝依賴的模塊

  這個和本地安裝差不多,一個敲命令,一個點按鈕

  我們使用本地終端創建一個package.json文件

  npm init -y

ServerLess如何進行天氣API實踐

  package.json

  {

  "name": "faas",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

  "test": "echo \"Error: no test specified\" && exit 1"

  },

  "keywords": [],

  "author": "",

  "license": "ISC"

  }

  如安裝axios,本地執行安裝先

  yarn add axios

  # or

  npm i axios

  此時的package.json

  {

  "name": "faas",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

  "test": "echo \"Error: no test specified\" && exit 1"

  },

  "keywords": [],

  "author": "",

  "license": "ISC",

  "dependencies": {

  "axios": "^0.21.0"

  }

  }

  在平臺上創建一個 package.json文件,并把上述內容粘貼進去,ctrl/command + S 保存修改的內容

ServerLess如何進行天氣API實踐

ServerLess如何進行天氣API實踐

  選擇在線安裝依賴,然后點擊保存

ServerLess如何進行天氣API實踐

  安裝完成后 會出現 node_modules目錄

ServerLess如何進行天氣API實踐

  JS云函數創建相關流程,差不都陳述完畢

  下面開始我們的代碼編寫

  天氣云函數編寫

  代碼同步到線上的方式

  可以本地編輯后上傳文件

  使用騰訊云的cli工具上傳

  復制粘貼

  這里比較簡單我們就復制粘貼了

  先簡單編寫一下大體結構,然后點擊保存,再訪問剛剛的觸發器鏈接觀察返回的結果

  index.js

  'use strict';

  const http = require('axios').default

  function getNowWeather(cityId = 3) {

  // 待編寫

  return {

  data:{

  cityId

  }

  }

  }

  exports.main_handler = async (event, context) => {

  // 結構取得url中傳遞的參數

  const { queryString: { cityId } } = event

  return getNowWeather(cityId)

  };

  下面實現getNowWeather的邏輯就要用到阿里云的服務了

  阿里云側

  先白嫖個服務

  阿里云-免費版氣象天氣服務(cityid)-墨跡天氣

  根據其文檔中的請求示例,我們先構建出 Node版本的方法

  const http = require('axios').default

  function getNowWeather(cityId = 3) {

  const token = ''

  const appcode = ''

  const nowStatusURL = 'http://freecityid.market.alicloudapi.com/whapi/json/alicityweather/briefcondition' // 精簡實況的請求URL

  const data = `cityId=${cityId}&token=${token}` // 請求參數

  const headers = { // header

  'Authorization': `APPCODE ${appcode}`,

  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'

  }

  // 發送請求

  return http.post(nowStatusURL, data, {

  headers

  }).then(res => res.data)

  }

  購買服務后根據文檔找到token與appcode即可

  控制臺->API網關->華北2(北京)

ServerLess如何進行天氣API實踐

  為了節約查找token與appcode的時間,下面列一下步驟(吐槽,阿里云的文檔太攔了,不方便信息定位)

  token與appcode

  API網關頁面地址

  token: 應用管理->選擇一個應用->已授權API列表->選擇自己要查看的API->點擊調試API->調試面板的token參數即是所需參數

  appcode: 應用管理->選擇一個應用->AppCode面板

ServerLess如何進行天氣API實踐

    鄭州做人流多少錢http://www.hnzzxb.com/

ServerLess如何進行天氣API實踐

  最終代碼

ServerLess如何進行天氣API實踐

  鄭州人流醫院http://www.zztjyyfk.com/

  index.js

  'use strict';

  const http = require('axios').default

  function getNowWeather(cityId = 3) {

  const token = ''

  const appcode = ''

  const nowStatusURL = 'http://freecityid.market.alicloudapi.com/whapi/json/alicityweather/briefcondition' // 精簡實況的請求URL

  const data = `cityId=${cityId}&token=${token}` // 請求參數

  const headers = { // header

  'Authorization': `APPCODE ${appcode}`,

  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'

  }

  // 發送請求

  return http.post(nowStatusURL, data, {

  headers

  }).then(res => res.data)

  }

  exports.main_handler = async (event, context) => {

  const {queryString:{cityId}} = event

  return await getNowWeather(cityId)

  };

  觸發器鏈接

  最后

  到此一個云函數就開發完畢了

  可以感覺到,如果熟悉創建流程了,只需要幾分鐘就能創建一個提供服務的API,極大的節約了成本

  不懂服務端部署,服務器運維,Linux的開發者可以通過 云函數+云數據庫(關系數據庫,非關系數據庫) 快速搭建一個后端服務

  文件存儲服務可以使用OSS

開發者只需要通過云函數調用各服務提供的API即可完成一個后端服務的構建

關于ServerLess如何進行天氣API實踐就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

夏邑县| 西城区| 济南市| 金溪县| 汝南县| 舞阳县| 任丘市| 绩溪县| 英吉沙县| 望城县| 南皮县| 延安市| 潮安县| 侯马市| 陇西县| 孝昌县| 古浪县| 日照市| 渝北区| 山东| 黑山县| 平昌县| 南投县| 扬州市| 玉林市| 镇雄县| 仪陇县| 安康市| 东港市| 辛集市| 江门市| 大连市| 齐河县| 广丰县| 辰溪县| 诏安县| 武陟县| 大洼县| 印江| 贵定县| 陵川县|