表格儲存觸發函式計算示例之Nodejs/Php/JavaRuntime
前言
函式計算(Function Compute)是一個事件驅動的服務,通過函式計算,使用者無需管理伺服器等執行情況,只需編寫程式碼並上傳。函式計算準備計算資源,並以彈性伸縮的方式執行使用者程式碼,而使用者只需根據實際程式碼執行所消耗的資源進行付費。Table Store Stream是用於獲取Table Store表中增量資料的一個資料通道,通過建立Table Store觸發器,能夠實現Table Store Stream和函式計算的自動對接,從而實現OTS資料發生變更時候定製化的自動處理。具體可以檢視表格儲存觸發函式計算官方教程,但是該官方教程只有python版的程式碼示例,本教程作為補充,通過程式碼示例說明在其他runtime下怎麼玩轉Table Store觸發器。
其他 Runtime 使用的第三庫
- nodejs: node-cbor
- php: CBOR encoder for PHP
- java: jackson
打包第三方庫, 請分別參考:
本文附件中有 nodejs 和 php 完整的程式碼示例下載, 而 java 有單獨一篇文章表格儲存觸發 java runtime 的函式計算處理示例教程說明具體操作過程
程式碼示例
nodejs
-
目錄結構
-rw-r--r-- 1 songluo staff 350 Nov 21 16:22 index.js drwxr-xr-x 9 songluo staff 288 Nov 21 15:54 node_modules -rw-r--r-- 1 songluo staff 1639 Nov 21 15:54 package-lock.json -rw-r--r-- 1 songluo staff 49 Nov 21 15:54 package.json
-
入口函式
`use strict`; var cbor = require(`cbor`); module.exports.handler = function(event, context, callback) { cbor.decodeFirst(event, function(error, obj){ // error != null if there was an error // obj is the unpacked objec console.info(JSON.stringify(obj)); // use obj do anything }); callback(null, `ok`); };
php
-
目錄結構
-rw-r--r-- 1 songluo staff 218 Nov 21 16:43 composer.json -rw-r--r-- 1 songluo staff 1979 Nov 21 16:43 composer.lock -rw-r--r-- 1 songluo staff 1197 Nov 21 17:01 index.php drwxr-xr-x 5 songluo staff 160 Nov 21 16:43 vendor
-
入口函式
<?php require_once __DIR__ . "/vendor/autoload.php"; function myErrorHandler($errno, $errstr, $errfile, $errline) { if (!(error_reporting() & $errno)) { return false; } switch ($errno) { case E_USER_ERROR: $errInfo = array( "errorMessage" => $errstr, "errorType" => ServerlessFCfriendly_error_type($errno), "stackTrace" => array( "file" => $errfile, "line" => $errline, ), ); throw new ErrorException($errstr, 0, $errno, $errfile, $errline); break; default: // E_USER_WARNING | E_USER_NOTICE break; } /* Don`t execute PHP internal error handler */ return true; } // set to the user defined error handler // solve `Non-static method CBOR\CBOREncoder::bigint_unpack() should not be called statically` // https://stackoverflow.com/questions/10768576/how-can-i-solve-non-static-method-xxxxxx-should-not-be-called-statically-in set_error_handler("myErrorHandler"); function handler($event, $context){ //decode $decoded_evt = CBORCBOREncoder::decode($event); //output var_export(json_encode($decoded_evt)); }
java
請參考表格儲存觸發 java runtime 的函式計算處理示例教程
相關文章
- 七、函式-儲存過程-觸發器函式儲存過程觸發器
- 【MySQL】MySQL(三)儲存過程和函式、觸發器、事務MySql儲存過程函式觸發器
- 瞭解使用mysql 的檢視、儲存過程、觸發器、函式....MySql儲存過程觸發器函式
- PHP函式漏洞審計之addslashes函式-PHP函式
- 儲存過程與儲存函式儲存過程儲存函式
- MySQL入門系列:儲存程式(二)之儲存函式簡介MySql儲存函式
- SQL---------儲存函式SQL儲存函式
- 函式儲存過程併發控制-案例函式儲存過程
- 製作表格統計函式計算Excel 2021簡體中文函式Excel
- MySQL 儲存函式及呼叫MySql儲存函式
- MySQL之儲存函式詳細介紹艹籟MySql儲存函式
- 詳解非同步任務:函式計算的任務觸發去重非同步函式
- 函式計算非同步任務能力介紹 - 任務觸發去重函式非同步
- nodejs函式NodeJS函式
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- 函式計算 HTTP 觸發器支援非同步,解放雙手搭建 Web 服務函式HTTP觸發器非同步Web
- MySQL儲存過程 (即函式)MySql儲存過程函式
- mySql 儲存過程與函式MySql儲存過程函式
- SQL server儲存過程函式SQLServer儲存過程函式
- MySQL 儲存過程和函式MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- PHP入門之函式PHP函式
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- 容器化RDS—— 計算儲存分離 or 本地儲存
- 函式計算自動化運維實戰3 -- 事件觸發自動建立快照函式運維事件
- 計算機補碼儲存計算機
- 函式計算-HelloWorld應用開發函式
- PHP之string之ord()函式使用PHP函式
- openGauss 函式及儲存過程支援函式儲存過程
- 儲存過程vs.函式QM儲存過程函式
- php底層原理之函式PHP函式
- php imagecreatefrom* 系列函式之 pngPHP函式
- 函式計算自動化運維實戰2 -- 事件觸發eip自動轉移函式運維事件
- 為什麼你的MySQL效能差?函式、儲存過程和觸發器都確認無誤嗎?MySql函式儲存過程觸發器
- Mysql中儲存過程、儲存函式、自定義函式、變數、流程控制語句、游標/遊標、定義條件和處理程式的使用示例MySql儲存過程儲存函式變數
- c# 冷儲存示例C#
- PHP程式碼審計01之in_array()函式缺陷PHP函式