日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十分钟上线 - 函数计算构建支付宝小程序的后端

發布時間:2024/8/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十分钟上线 - 函数计算构建支付宝小程序的后端 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

阿里云函數計算服務(FunctionCompute,FC)是一個事件驅動的全托管計算服務。通過函數計算與云端各個服務的廣泛集成,開發者只需要編寫函數代碼,就能夠快速地開發出彈性高可用的后端系統。接下來我們使用FC,來快速實現一個圖片轉換服務, 并把這個圖片轉換服務作為支付寶小程序的后端。

支付寶小程序demo前端效果圖:

資源下載及準備工作

示例代碼附件?【必須】

支付寶小程序開發工具下載?【非必須】

函數計算FC 快捷入口
對象存儲OSS 快捷入口
日志服務Log Service 快捷入口

簡明架構圖

函數入口

普通函數入口

def my_handler(event, context):return 'hello world'
  • 函數名

my_handler需要與創建函數時的"Handler"字段相對應:例如創建函數時指定的 Handler 為main.my_handler,那么函數計算會去加載main.py中定義的my_handler函數

  • event 參數

event 參數是用戶調用函數時傳入的數據,其類型是str

  • context 參數

context 參數中包含一些函數的運行時信息(例如 request id/臨時 AK 等)。其類型是FCContext,具體結構和使用在下面的使用 context介紹

  • 返回值

函數的返回值會作為調用函數的結果返回給用戶,它可以是任意類型:對于簡單類型會函數計算會把它轉換成 str 返回,對于復雜類型會把它轉換成 JSON 字符串返回

HTTP 觸發器的函數入口

HELLO_WORLD = b"Hello world!\n" def handler(environ, start_response):context = environ['fc.context']status = '200 OK'response_headers = [('Content-type', 'text/plain')]start_response(status, response_headers)return [HELLO_WORLD]
  • environ : environ 參數是一個 python 字典,里面存放了所有和客戶端相關的信息,具體詳情參考?environ 參數,函數計算增加了兩個自定義的 key,分別是?fc.context?和?fc.request_uri

    • fc.context : 和普通函數入口的?context?意義一樣
    • fc.request_uri : string 類型,request 的 url

需要注意的點:environ 中的?HTTP_Variables?,里面包含 request 中 header, 比如某個請求的 header 的為?'x-Custom-key':'value'?, 在 environ 中會表現為:environ['HTTP_X_CUSTOM_KEY']='value', 可以理解為,對于 request header 中的 key,WSGI 做如下處理:key = "HTTP_" + k.upper().replace("-","_")

  • start_response : start_response 參數是一個可調用者(callable), 具體參考?the-start-response-callable?, 這個是 FC runtime 提供的,它接受兩個必要的位置參數和一個可選參數。

更多詳細介紹請參考函數入口和python runtime

具體操作步驟

假定這次實驗所有操作在華東2 上海region 完成,所有實驗相關的資源請從附件中下載

這里介紹兩種部署函數的方法:

  • 利用fun 工具進行自動化部署
  • 利用控制臺進行可視化部署
  • 準備工作

    • 準備存儲圖片的 oss bucket
      比如在華東2創建了一個名叫xcx-demo的bucket

    利用fun工具進行自動部署

    Fun?是用于在阿里云上定義 serverless 應用的模型。
    Serverless 應用是由事件觸發功能組成的應用。一個典型的 serverless 應用由一個或多個由諸如向 阿里云 OSS 上傳對象,在 阿里云 OTS 上執行數據操作以及 API 操作等事件觸發的阿里云函數計算組成。這些函數可以獨立使用。也可以利用其它資源,例如阿里云 OTS 的表和 OSS 的 buckets。最基本的 serverless 應用可以只有一個函數。

    比如對于這個案例,定義的yaml文件如下:

    ROSTemplateFormatVersion: '2015-09-01' Transform: 'Aliyun::Serverless-2018-04-03' Resources:sh-pro:Type: 'Aliyun::Serverless::Log'Properties:Description: 'image process log pro'fc-log:Type: 'Aliyun::Serverless::Log::Logstore'Properties:TTL: 362ShardCount: 1 pydemo:Type: 'Aliyun::Serverless::Service'Properties:Description: 'fc xiaochengxu demo'Policies:- AliyunOSSFullAccessLogConfig:Project: 'sh-pro'Logstore: 'fc-log'upload:Type: 'Aliyun::Serverless::Function'Properties:Handler: upload.handlerCodeUri: './'Description: 'http function for upload image'Runtime: python2.7Timeout: 60MemorySize: 256Events:http-trigger:Type: HTTPProperties:AuthType: ANONYMOUSMethods: ['POST']proc:Type: 'Aliyun::Serverless::Function'Properties:Handler: proc.handlerCodeUri: './'Description: 'http function for process image'Runtime: python2.7Timeout: 60MemorySize: 256Events:http-trigger:Type: HTTPProperties:AuthType: ANONYMOUSMethods: ['GET']

    上面的定義的yaml文件要做以下幾件事情:

  • 創建日志資源:logproject:?sh-pro, logstore:?fc-log
  • 創建service:xcxdemo?以及function:?upload?和?proc, 函數添加了一個類型為HTTP,名叫http-trigger的trigger
  • 配置service role以及logconfig, 其中role的權限為AliyunOSSFullAccess和函數執行日志寫到fc-log的權限
  • 具體操作

    • 安裝nodejs
    • 安裝fun
    npm install @alicloud/fun -g
    • 修改template.yml中的logproject的名字和.env中的相關配置,執行命令fun deploy

    執行成功后,應該可以看到如下資源被創建, 截圖:

    控制臺setup

    創建函數,并且配置http trigger

    • 在 上海 region 先創建好日志資源,用于函數計算的日志收集

    • 新建service,配置service一個具有訪問oss權限的role

      • 點擊授權
    • 點擊確定
    • 創建一個函數,并設置Http trigger, 使用的代碼包為附件中 server 目錄下的?code.zip

    測試函數

    curl https://1186202104331798.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/pydemo/upload/ -F "lena.png=@/Users/songluo/work/shworkshop/wp/lena.png" -vcurl https://1186202104331798.cn-shanghai.fc.aliyuncs.com/2016-08-15/proxy/pydemo/proc/rotate/10/lena.png >> 1.png

    將函數作為支付寶小程序的后端

    • 下載安裝支付寶小程序?IDE
    • 打開代碼包中的client, 將代碼中的 url 替換成自己函數的 url

    然后打開 調試器 和 模擬器

    總結

    函數計算有如下優勢:

    • 無需采購和管理服務器等基礎設施
    • 專注業務邏輯的開發
    • 提供日志查詢、性能監控、報警等功能快速排查故障
    • 以事件驅動的方式觸發應用響應用戶請求
    • 毫秒級別彈性伸縮,快速實現底層擴容以應對峰值壓力
    • 按需付費。只需為實際使用的計算資源付費,適合有明顯波峰波谷的用戶訪問場景


    原文鏈接
    本文為云棲社區原創內容,未經允許不得轉載。

    總結

    以上是生活随笔為你收集整理的十分钟上线 - 函数计算构建支付宝小程序的后端的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 无码专区久久综合久中文字幕 | 亚洲天堂免费在线 | 欧美一区二区三区婷婷月色 | 日本免费在线观看 | 日韩久久一区 | 久久国产一区二区 | 久久九九国产精品 | 亚洲国产免费看 | 亚洲第一第二区 | 日本va欧美va国产激情 | 欧美一区二区 | 大陆av片| 男生插女生的视频 | 男女做事网站 | 欧美人与禽zoz0性3d | av黄色在线免费观看 | 麻豆系列在线观看 | 国产精品无码专区av免费播放 | 中文字幕一区二区三区免费 | 九色蝌蚪9l视频蝌蚪9l视频 | 污污在线免费观看 | 黄色片网站免费在线观看 | 日本成人一区二区三区 | 中文字字幕一区二区三区四区五区 | 欧美一区二区三区在线 | 日韩日日日 | sm久久捆绑调教精品一区 | 精品一区二区电影 | 日本一区二区在线播放 | 亚洲视频精品在线观看 | 亚洲成人自拍 | 亚洲一区中文字幕永久在线 | 国产精品无码免费播放 | 一区二区视频在线观看免费 | 在线亚洲人成电影网站色www | 欧洲成人免费视频 | 无码少妇一区二区三区 | asian性开放少妇pics | 国产三区四区视频 | 波多野在线观看 | 国产黄视频在线观看 | 毛片一二三区 | 中文字幕一区日韩 | 四虎影视免费看 | 亚洲一区二区精品视频 | 少妇人妻一级a毛片 | 国产成人无码av | 羞羞动漫在线观看 | 免费久久一级欧美特大黄 | 国产人久久人人人人爽 | 国产区一二三 | 手机看片一区 | 亚洲精品成人在线 | 精国产人伦一区二区三区 | 久久久久久av无码免费网站 | av网站在线免费观看 | 久久y| 黄色一集片 | 久久久久国产一区二区三区潘金莲 | 色婷婷综合久久久久中文字幕 | 欧美福利视频导航 | 99久久精品一区二区 | 男女互操视频 | 91网在线播放 | 国产精品高潮呻吟久久久久久 | 影音先锋二区 | 亚洲字幕在线观看 | 老熟妇仑乱一区二区av | 美国一级特黄 | 日韩av在线播放网址 | 黑人巨大精品欧美一区免费视频 | 国产激情小视频 | 亚洲热在线观看 | 中文字幕乱码无码人妻系列蜜桃 | 欧美大片在线播放 | 欧洲亚洲一区二区 | 久久国产精品99久久人人澡 | 国产精品人人妻人人爽 | 国产熟妇一区二区三区aⅴ网站 | 99精品毛片 | 91亚洲国产精品 | 四虎影院永久地址 | 铠甲勇士猎铠 | 日本不卡影院 | 国产亚洲精品久久久久久久久动漫 | 韩国三级丰满少妇高潮 | 男女视频国产 | 无码不卡av东京热毛片 | 国产精品高潮呻吟视频 | 加勒比视频在线观看 | 海角社区id:1220.7126,10. | 亚洲一区二区乱码 | 色偷偷噜噜噜亚洲男人 | 亚洲激情电影在线 | 国产熟女高潮视频 | 欧美日韩激情在线一区二区三区 | 亚洲网站免费观看 | 久久亚洲aⅴ无码精品 | 色爽av|