表格存储触发函数计算示例之 Nodejs/Php/Java/C# Runtime

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 创建Table Store触发器,能够实现Table Store Stream和函数计算的自动对接,从而实现OTS数据发生变更时候定制化的自动处理。本教程作为补充,通过代码示例说明在其他runtime下怎么玩转Table Store触发器。

前言

函数计算(Function Compute)是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Table Store Stream是用于获取Table Store表中增量数据的一个数据通道,通过创建Table Store触发器,能够实现Table Store Stream和函数计算的自动对接,从而实现OTS数据发生变更时候定制化的自动处理。具体可以查看表格存储触发函数计算官方教程,但是该官方教程只有python版的代码示例,本教程作为补充,通过代码示例说明在其他runtime下怎么玩转Table Store触发器。

其他 Runtime 使用的第三库

打包第三方库, 请分别参考:

本文附件中有 nodejs 和 php 完整的代码示例下载, 而 java 和 C# 分别有单独一篇文章说明具体操作过程:

代码示例

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"    => \ServerlessFC\friendly_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 = \CBOR\CBOREncoder::decode($event);
        //output
        var_export(json_encode($decoded_evt));
    }

java

请参考表格存储触发 java runtime 的函数计算处理示例教程

C

请参考表格存储触发 C# runtime的函数计算处理示例教程

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
9月前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
130 1
|
10月前
|
安全 Java 编译器
深入理解PHP 8.0新特性及其对开发的影响Java中的多线程编程:从理论到实践
【5月更文挑战第27天】在这篇文章中,我们将详细探讨PHP 8.0的新特性以及它们如何影响开发者的工作流程。我们将深入研究这些新特性,包括JIT编译器,联合类型,命名参数,以及更多的错误处理机制。我们还将讨论这些新特性如何提高代码的可读性和性能,以及它们如何改变我们编写和维护PHP应用程序的方式。 【5月更文挑战第27天】在现代计算机科学中,多线程编程是一个重要的概念,它允许多个线程在同一时间内运行,从而提高了程序的效率和性能。本文将深入探讨Java中的多线程编程,包括其理论基础,实现方法,以及一些常见的问题和解决方案。我们将通过实例来理解如何创建和管理线程,以及如何使用Java的并发工具来
|
7月前
|
运维 安全 Serverless
Serverless痛点解决问题之Serverless帮助解决 PHP 开发的运维问题如何解决
Serverless痛点解决问题之Serverless帮助解决 PHP 开发的运维问题如何解决
79 0
|
7月前
|
Kubernetes Serverless API
Serverless阿里云函数计算问题之使用示例如何解决
本文探讨了Serverless场景下实例Exec功能的关键特性及其与K8S和Docker的主要区别:实例Exec仅适用于存活实例,且请求不占用并发度,被视为InvokeFunction调用并据此计费。此外,还介绍了阿里云函数计算中实例Exec功能的使用方法,包括通过控制台、API及CLI工具的操作流程,并详细解释了WebSocket连接对计费的影响以及如何在控制台上登录函数实例进行问题排查的具体步骤。
73 0
|
9月前
|
Java PHP 数据安全/隐私保护
php和Java配合 aes
php和Java配合 aes加密
69 1
|
8月前
|
运维 Serverless API
函数计算产品使用问题之如何使用PHP Runtime非内置扩展
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
8月前
|
Serverless API 数据处理
函数计算产品使用问题之是否可以不开通表格存储
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
9月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
Serverless 应用引擎产品使用合集之php工程已经部署,可以正常访问数据库,静态资源样式无法正常加载,要怎么配置
|
8月前
|
Java 应用服务中间件 测试技术
PHP和Java在性能上的差异有哪些?
【7月更文挑战第2天】PHP和Java在性能上的差异有哪些?
361 0
|
8月前
|
Java 测试技术 数据库连接
PHP和Java哪个更难?
【7月更文挑战第2天】PHP和Java哪个更难?
127 0

相关产品

  • 函数计算