小程序雲開發 -- 雲函數定時觸發器配置

小程序雲開發 - 雲函數定時觸發器配置

新建雲函數timer,小程序會新建兩個文件 index.js 和 package.json數據庫

定時觸發器的效果等同於以下一段代碼,定時觸發器並不能傳遞參數,須要將參數寫在雲函數中。json

wx.cloud.callFunction({
	name:'timer'
})

本文以定時刷新access_token爲例小程序

1.雲函數內容

index.jsapp

// 雲函數入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
var request = require('request')
// 定時器
exports.main = async(event, context) => {
  const appkey = '';
  const appsecret = '';
  var url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + appkey + '&client_secret=' + appsecret;
  return new Promise((resolve, reject) => {
    request({
      url: url,
      method: "POST",
      json: true,
      headers: {
        "content-type": "application/json",
      },
    }, function(error, response, body) {

      if (!error && response.statusCode == 200) {
        console.log('通行證爲' + body.access_token)
        resolve(body.access_token)
        //更新數據庫中的access_token
      }
    })
  })
}

如今已經實現了雲函數功能,實現觸發器須要在timer文件夾下新建 config.json配置文件。async

config.json文件就是觸發器配置的核心文件,文件內容以下,具體匹配規則請查看官方文檔。函數

這段代碼規則爲天天凌晨兩點觸發一次。ui

config.jsonurl

{

  "triggers": [
    {

      "name": "myTrigger",

      "type": "timer",

      "config": "0 0 2 * * * *"
    }
  ]
}

2.部署過程

  1. 選擇timer函數總體 - > 建立並部署(雲端安裝依賴)
  2. 單獨選中config.json文件 - > 上傳觸發器

3.效果展現

相關文章
相關標籤/搜索