溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

發(fā)布時(shí)間:2022-01-12 15:58:07 來(lái)源:億速云 閱讀:118 作者:柒染 欄目:云計(jì)算

今天給大家介紹一下怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)。文章的內(nèi)容小編覺(jué)得不錯(cuò),現(xiàn)在給大家分享一下,覺(jué)得有需要的朋友可以了解一下,希望對(duì)大家有所幫助,下面跟著小編的思路一起來(lái)閱讀吧。

預(yù)置并發(fā)支持并發(fā)實(shí)例按配置預(yù)先啟動(dòng),而不是在接受請(qǐng)求時(shí)才啟動(dòng)。您可通過(guò)此功能,為函數(shù)的指定版本設(shè)定預(yù)置并發(fā)額度。通過(guò)配置預(yù)置并發(fā),可預(yù)先進(jìn)行計(jì)算資源的準(zhǔn)備,降低冷啟動(dòng)、運(yùn)行環(huán)境初始化及業(yè)務(wù)代碼初始化引起的耗時(shí)。

預(yù)置并發(fā)功能開(kāi)啟內(nèi)測(cè)以來(lái),受到了火熱的關(guān)注,部分用戶搶到了內(nèi)測(cè)資格,并為我們提了不少寶貴的建議,在此感謝大家的關(guān)注與支持。

其中有一條建議是:”明天早上十點(diǎn)開(kāi)啟活動(dòng),我需要提前預(yù)置很多并發(fā),可是我很擔(dān)心自己 9 點(diǎn)忘記配置(睡過(guò)了),有沒(méi)有什么辦法設(shè)個(gè)定時(shí)呢?“

當(dāng)然有!作為熟練使用 Serverless 的小能手,我們今天就用云函數(shù)改云函數(shù)配置,實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)。

預(yù)置美妙,睡個(gè)懶覺(jué)!

一、創(chuàng)建函數(shù)

在云函數(shù)的控制臺(tái)【新建】函數(shù),在搜索框搜索 “預(yù)置”,選中定時(shí)預(yù)置 Demo,點(diǎn)擊下一步,完成創(chuàng)建。

函數(shù)控制臺(tái)地址:https://console.cloud.tencent.com/scf/list

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

打開(kāi)函數(shù)的代碼編輯頁(yè)面,我們可以看到其中的代碼是用騰訊云的 Python SDK 修改函數(shù)配置(在云函數(shù)的 API 文檔中使用 API Explorer 工具即可生成調(diào)用代碼)。

現(xiàn)在,這段代碼具備了設(shè)置預(yù)置并發(fā)的能力,但是它還沒(méi)有獲得授權(quán)。這就像一個(gè)小朋友學(xué)會(huì)了使用密碼鎖,但是 ta 還不知道房門(mén)的密碼是什么。

有 2 種辦法進(jìn)行授權(quán):

第一種是長(zhǎng)期密鑰,在控制臺(tái)「訪問(wèn)管理」的「訪問(wèn)密鑰」中可以獲得賬號(hào)的密鑰,代替代碼中的 os.environ.get('TENCENTCLOUD_SECRETID')os.environ.get('TENCENTCLOUD_SECRETKEY') ,并且去掉 os.environ.get('TENCENTCLOUD_SESSIONTOKEN') 參數(shù)。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

這種方法在代碼中寫(xiě)了明文的密鑰,有一定的安全風(fēng)險(xiǎn),所以我們這里采用第二種辦法 — 綁定運(yùn)行角色。

二、綁定運(yùn)行角色(已支持創(chuàng)建函數(shù)時(shí)自動(dòng)綁定)

綁定運(yùn)行角色的關(guān)鍵,是把一個(gè)有 QcloudSCFFullAccess 策略的角色綁定到這個(gè)函數(shù)上??梢栽诂F(xiàn)有角色中新增策略,也可以新建一個(gè)角色進(jìn)行綁定,這里我們新建一個(gè)角色。

  1. 在 「函數(shù)管理 >> 函數(shù)配置」頁(yè),點(diǎn)擊右上方的 「編輯」,進(jìn)入編輯狀態(tài),啟用「運(yùn)行角色」,并點(diǎn)擊進(jìn)入「新建運(yùn)行角色」頁(yè)面。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

  1. 選擇「云函數(shù)(SCF)」(這里可以 Ctrl+F 搜索一下 scf,大約在右下角),「下一步」。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

  1. 選擇「QcloudSCFFullAccess 策略」,隨后「填寫(xiě)角色名稱(chēng)」,即可完成角色的創(chuàng)建。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

回到 SCF 的控制臺(tái),在運(yùn)行角色中選擇剛剛創(chuàng)建 scf_full_role 后,點(diǎn)擊「完成」即可。

三、配置定時(shí)觸發(fā)器

接下來(lái),就是本篇文章的關(guān)鍵:在拿到鑰匙并掌握開(kāi)門(mén)的方法后,我們?cè)撊绾味〞r(shí)?

在「觸發(fā)管理」頁(yè)面,我們創(chuàng)建一個(gè)新的定時(shí)觸發(fā)器,由于這里創(chuàng)建后無(wú)法修改,所以我們要一次填正確所需要的配置。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

3.1 設(shè)置觸發(fā)周期

定時(shí)觸發(fā)器的時(shí)間配置采用的是 cron 表達(dá)式,七個(gè)必須字段分別代表著秒、分鐘、小時(shí)、日、月、星期和年。詳細(xì)介紹可以查看云函數(shù)的文章,這里我們列舉一些常見(jiàn)的用例:

0 55 19 24 3 * 2021 表示在2021年3月24日19點(diǎn)55分鐘觸發(fā)
0 0 2 1 * * * 表示在每月的1日的凌晨2點(diǎn)觸發(fā)
0 15 10 * * MON-FRI * 表示在周一到周五每天上午10:15觸發(fā)
0 0 10,14,16 * * * * 表示在每天上午10點(diǎn),下午2點(diǎn),4點(diǎn)觸發(fā)
0 */30 9-17 * * * * 表示在每天上午9點(diǎn)到下午5點(diǎn)每半小時(shí)觸發(fā)
0 0 12 * * WED * 表示在每個(gè)星期三中午12點(diǎn)觸發(fā)

可以根據(jù)業(yè)務(wù)的需要進(jìn)行靈活的配置,建議至少提前半個(gè)小時(shí)或一個(gè)小時(shí)啟動(dòng)。

3.2 預(yù)置的信息

在定時(shí)觸發(fā)器的「附加信息」中,我們需要填寫(xiě)所需要預(yù)置的函數(shù)及版本信息。

Qualifier 為函數(shù)的版本號(hào),VersionProvisionedConcurrencyNum 為所需要預(yù)置的并發(fā)值,若填 0 則代表著取消預(yù)置。

{
    "Region": "ap-beijing",
    "FunctionName": "your_function_name",
    "Namespace": "your_namespace",
    "Qualifier": "2",
    "VersionProvisionedConcurrencyNum": 5
}

在我們這里創(chuàng)建兩個(gè)觸發(fā)器,分別負(fù)責(zé)啟動(dòng)預(yù)置并發(fā)和關(guān)閉預(yù)置并發(fā)。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

  • 設(shè)置 「啟動(dòng)預(yù)置并發(fā)」的配置信息 - 填寫(xiě)在「附加信息」中:

# cron 表達(dá)式
0 55 19 24 3 * 2021

# 附加信息
{
    "Region": "ap-beijing",
    "FunctionName": "your_function_name",
    "Namespace": "default",
    "Qualifier": "2",
    "VersionProvisionedConcurrencyNum": 5
}
  • 設(shè)置「關(guān)閉預(yù)置并發(fā)」的配置信息 - 填寫(xiě)在「附加信息」中;

# cron 表達(dá)式
0 00 23 24 3 * 2021

# 附加信息
{
    "Region": "ap-beijing",
    "FunctionName": "your_function_name",
    "Namespace": "default",
    "Qualifier": "2",
    "VersionProvisionedConcurrencyNum": 0
}

配置后啟動(dòng)定時(shí)觸發(fā)器,定時(shí)的預(yù)置并發(fā)就配置好了。

如果想要確認(rèn)預(yù)置并發(fā)是否正常配置,可以在調(diào)用日志中查看 對(duì)應(yīng)時(shí)間 的記錄,如果看到日志中正確返回了 RequestID,則證明預(yù)置并發(fā)已經(jīng)成功配置或關(guān)閉配置。

怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)

以上就是怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)的全部?jī)?nèi)容了,更多與怎樣用函數(shù)改函數(shù)配置實(shí)現(xiàn)定時(shí)配置預(yù)置并發(fā)相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進(jìn)行學(xué)習(xí)哈!相信小編會(huì)給大家增添更多知識(shí),希望大家能夠支持一下億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI