函式計算(function compute): 函式計算是乙個事件驅動的服務,通過函式計算,使用者無需管理伺服器等運**況,只需編寫**並上傳。函式計算準備計算資源,並以彈性伸縮的方式執行使用者**,而使用者只需根據實際**執行所消耗的資源進行付費。函式計算更多資訊 參考。備註: 本文介紹的技巧需要 fun 版本大於等於 3.6.7。fun: fun 是乙個用於支援 serverless 應用部署的工具,能幫助您便捷地管理函式計算、api 閘道器、日誌服務等資源。它通過乙個資源配置檔案(template.yml),協助您進行開發、構建、部署操作。fun 的更多文件 參考。
函式計算執行環境中內建一些常用字型,但仍不滿足部分使用者的需求。如果應用中需要使用其它字型,需要走很多彎路。本文將介紹如何通過 fun 工具將自定義字型部署到函式計算,並正確的在應用中被引用。
在**(codeuri)目錄新建乙個 fonts 目錄
將字型複製到 fonts 目錄
使用 fun deploy 進行部署
執行fun --version
檢查 fun 是否安裝成功。
$ fun --version
3.7.0
demo 涉及的**,託管在 github 上。專案目錄結構如下:
$ tree -l -a 1
├── index.js
├── package.json
└── template.yml
index.js 中**:
'use strict';
var fontlist = require('font-list')
module.exports.handler = async function (request, response, context) ;
index.js 中借助 node 包 font-list 列出系統上可用的字型。
template.yml:
rostemplateformatversion: '2015-09-01'
transform: 'aliyun::serverless-2018-04-03'
resources:
fonts-service: # 服務名
type: 'aliyun::serverless::service'
properties:
description: fonts example
fonts-function: # 函式名
tmp_domain: # 臨時網域名稱
template.yml 中定義了名為 fonts-service 的服務,此服務下定義乙個名為 fonts-function 的 http trigger 函式。tmp_domain 中配置自定義網域名稱中路徑(/)與函式(fonts-service/fonts-function)的對映關係。
$ tree -l 2 -a
├── fonts(+)
│ ├── hack-bold.ttf
│ ├── hack-bolditalic.ttf
│ ├── hack-italic.ttf
│ └── hack-regular.ttf
├── index.js
├── package.json
└── template.yml
2. 安裝依賴
$ npm install
3. 部署到函式計算
可以通過 fun deploy 直接發布到遠端。
4. 預覽線上效果
fun deploy 部署過程中,會為此函式生成有時效性的臨時網域名稱:
開啟瀏覽器,輸入臨時網域名稱並回車:
可以看到字型 hack 已生效!!!
fun deploy 時,如果檢測到 codeuri 下面有 fonts 目錄,則為使用者在 codeuri 目錄生成乙個 .fonts.conf 配置檔案。在該配置中,相比於原來的 /etc/fonts/fonts.conf 配置,新增了 /code/fonts 作為字型目錄。
自動在 template.yml 中新增環境變數,fontconfig_file = /code/.fonts.conf,這樣在函式執行時就可以正確的讀取到自定義字型目錄。
如果依賴過大,超過函式計算的限制(50m)則:
將 fonts 目錄新增到 .nas.yml
將 fonts 對 nas 的對映目錄追加到 .fonts.conf 配置
fun deploy 對大依賴的支援可參考《開發函式計算的正確姿勢——輕鬆解決大依賴部署》
你只需要在**(codeuri)目錄新建乙個 fonts 目錄,然後複製所有字型到該目錄即可。fun 會自動幫你處理配置檔案(.fonts.conf),環境變數以及大依賴場景的情況。如果大家在使用 fun 的過程中遇到了一些問題,可以在 github 上提 issue,或者加入我們的釘釘群 11721331 進行反饋
Serverless 解惑 函式計算如何安裝字型
函式計算 function compute 函式計算是乙個事件驅動的服務,通過函式計算,使用者無需管理伺服器等運 況,只需編寫 並上傳。函式計算準備計算資源,並以彈性伸縮的方式執行使用者 而使用者只需根據實際 執行所消耗的資源進行付費。函式計算更多資訊 參考fun fun 是乙個用於支援 serve...
unix i o create函式解惑
剛開始學習unix程式設計,在網上看到有人提問 如下,問題是為什麼read的時候總是返回 1.他的理由create的時候已經指定有讀寫許可權了。include include include include include define file mode s irusr s iwusr s irg...
C 解惑 1 在建構函式內呼叫虛方法
在c 中,用virtual關鍵字修飾的方法 屬性 事件 稱為虛方法 屬性 事件 表示該方法可以由派生類重寫 override 虛方法是.net中的重要概念,可以說在某種程度上,虛方法使得多型成為可能。然而虛方法的使用卻存在著很大學問,如果濫用的話勢必對程式產生很大的負面影響。比如下面這個例子 pub...