Serverless 解惑 函式計算如何安裝字型

2022-01-10 15:02:02 字數 3380 閱讀 3547

函式計算(function compute): 函式計算是乙個事件驅動的服務,通過函式計算,使用者無需管理伺服器等運**況,只需編寫**並上傳。函式計算準備計算資源,並以彈性伸縮的方式執行使用者**,而使用者只需根據實際**執行所消耗的資源進行付費。函式計算更多資訊 參考。

fun: fun 是乙個用於支援 serverless 應用部署的工具,能幫助您便捷地管理函式計算、api 閘道器、日誌服務等資源。它通過乙個資源配置檔案(template.yml),協助您進行開發、構建、部署操作。fun 的更多文件 參考。

備註: 本文介紹的技巧需要 fun 版本大於等於 3.6.7。

函式計算執行環境中內建一些常用字型,但仍不滿足部分使用者的需求。如果應用中需要使用其它字型,需要走很多彎路。本文將介紹如何通過 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...