Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    @alicloud/fc2public

    fc-nodejs-sdk

    NPM version build status coverage

    Documents: http://doxmate.cool/aliyun/fc-nodejs-sdk/api.html

    Notice

    We suggest using fc2,The main difference between fc and fc2 is:

    The response returned by the user is the following dict, for invoke function, data is bytes, for other apis, data is dict.

    {
         'headers': headers,
         'data': data,
    }
     

    Install the official fc2 release version:

    npm install @alicloud/fc2 --save

    Install oldVersion

    fc version is in 1.x branch, you can install fc use 'npm' like this

    npm install @alicloud/fc --save

    License

    MIT

    Examples

    Promise

    'use strict';
     
    var FCClient = require('@alicloud/fc2');
     
    var client = new FCClient('<account id>', {
      accessKeyID: '<access key id>',
      accessKeySecret: '<access key secret>',
      region: 'cn-shanghai',
      timeout: 10000 // Request timeout in milliseconds, default is 10s
    });
     
    var serviceName = '<service name>';
    var funcName = '<function name>';
     
    client.createService(serviceName).then(function(resp) {
      console.log('create service: %j', resp);
      return client.createFunction(serviceName, {
        functionName: funcName,
        handler: 'index.handler',
        memorySize: 128,
        runtime: 'nodejs4.4',
        code: {
          zipFile: fs.readFileSync('/tmp/index.zip', 'base64'),
        },
      });
    }).then(function(resp) {
      console.log('create function: %j', resp);
      return client.invokeFunction(serviceName, funcName, 'event');
    }).then(function(resp) {
      console.log('invoke function: %j', resp);
    }).catch(function(err) {
      console.error(err);
    });

    async/await (node >= 7.6)

    'use strict';
     
    const FCClient = require('@alicloud/fc2');
     
    var client = new FCClient('<account id>', {
      accessKeyID: '<access key id>',
      accessKeySecret: '<access key secret>',
      region: 'cn-shanghai',
    });
     
    var serviceName = '<service name>';
    var funcName = '<function name>';
     
    async function test () {
      try {
        var resp = await client.createService(serviceName);
        console.log('create service: %j', resp);
     
        resp = await client.createFunction(serviceName, {
          functionName: funcName,
          handler: 'index.handler',
          memorySize: 128,
          runtime: 'nodejs4.4',
          code: {
            zipFile: fs.readFileSync('/tmp/index.zip', 'base64'),
          },
        });
        console.log('create function: %j', resp);
     
        resp = await client.invokeFunction(serviceName, funcName, 'event');
        console.log('invoke function: %j', resp);
      } catch (err) {
        console.error(err);
      }
    }
     
    test().then();

    Custom headers

    await client.invokeFunction(serviceName, funcName, 'event', {
      'x-fc-invocation-type': 'Async'
    });

    API Spec

    See: https://help.aliyun.com/document_detail/52877.html

    Test

    ACCOUNT_ID=<ACCOUNT_ID> ACCESS_KEY_ID=<ACCESS_KEY_ID> ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET> make test

    Keywords

    none

    install

    npm i @alicloud/fc2

    Downloadslast 7 days

    7

    version

    2.0.1

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar