函数计算 - 基于 OSS 数据的处理的 deom
- var oss = require('ali-oss').Wrapper;
- module.exports.handler = function(event, context, callback) {
- console.log('Received event:', event.toString());
- // Create oss client
- var ossclient = new oss ({
- // Credentials can be retrieved from context
- accessKeyId: context.credentials.accessKeyId,
- accessKeySecret: context.credentials.accessKeySecret,
- stsToken: context.credentials.securityToken,
- region: 'oss-cn-shanghai',
- bucket: 'ls-oss-test', // your bucket
- });
- ossclient.put('remote.txt', new Buffer('fc write' + event.toString() + 'in oss bucket')). then(function(res) {
- return ossclient.get('remote.txt');
- }).then(function(res) {
- callback(null, res.content);
- }).catch(function(err) {
- callback(err);
- });
- };
函数计算 - 基于表格存储的数据处理的 demo
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import cbor
- import json
- import tablestore as ots
- INSTANCE_NAME = 'distribute-test'
- REGION = 'cn-shanghai'
- ENDPOINT = 'http://%s.%s.ots-internal.aliyuncs.com'%(INSTANCE_NAME, REGION)
- RESULT_TABLENAME = 'result'
- def _utf8(input):
- return str(bytearray(input, "utf-8"))
- def get_attrbute_value(record, column):
- attrs = record[u'Columns']
- for x in attrs:
- if x[u'ColumnName'] == column:
- return x['Value']
- def get_pk_value(record, column):
- attrs = record[u'PrimaryKey']
- for x in attrs:
- if x['ColumnName'] == column:
- return x['Value']
- # 由于已经授权了 AliyunOTSFullAccess 权限, 此处获取的 credentials 具有访问表格存储的权限
- def get_ots_client(context):
- creds = context.credentials
client = ots.OTSClient(ENDPOINT, creds.accessKeyId, creds.accessKeySecret, INSTANCE_NAME, sts_token = creds.securityToken)
- return client
- def save_to_ots(client, record):
- id = int(get_pk_value(record, 'id'))
- level = int(get_attrbute_value(record, 'level'))
- msg = get_attrbute_value(record, 'message')
- pk = [(_utf8('id'), id),]
- attr = [(_utf8('level'), level), (_utf8('message'), _utf8(msg)),]
- row = ots.Row(pk, attr)
- client.put_row(RESULT_TABLENAME, row)
- def handler(event, context):
- records = cbor.loads(event)
- #records = json.loads(event)
- client = get_ots_client(context)
- for record in records['Records']:
- level = int(get_attrbute_value(record, 'level'))
- if level> 1:
- save_to_ots(client, record)
- else:
- print "Level <= 1, ignore."
函数计算 - 基于日志服务的数据处理的 demo
函数计算 - 数据分发
来源: https://yq.aliyun.com/articles/596018