Serverless Aliyun Function Compute

homepage icon https://github.com/aliyun/serverless-aliyun-function-compute
Follow @aliyun

Tracked

NPM Downloads Last Month
21
Issues
14
Stars
56
Forks
8
Watchers
56
Watch Star Fork Issue Download License NPM Build Status Coverage Status Contributors

Repo README Contents:

Aliyun Function Compute Serverless Plugin

This plugin enables Aliyun Function Compute support within the Serverless Framework.

Getting started

Pre-requisites

Example

You can install the following example via:

$ serverless install --url https://github.com/aliyun/serverless-function-compute-examples/tree/master/aliyun-nodejs

The structure of the project should look something like this:

├── index.js
├── node_modules
├── package.json
└── serverless.yml

Install serverless-aliyun-function-compute plugin for your service.

$ serverless plugin install --name serverless-aliyun-function-compute

serverless.yml:

service: serverless-aliyun-hello-world

provider:
  name: aliyun
  runtime: nodejs8
  credentials: ~/.aliyun_credentials # path must be absolute

plugins:
  - serverless-aliyun-function-compute

package:
  exclude:
    - package-lock.json
    - .gitignore
    - .git/**

functions:
  hello:
    handler: index.hello
    events:
      - http:
          path: /foo
          method: get

package.json:

{
  "name": "serverless-aliyun-hello-world",
  "version": "0.1.0",
  "description": "Hello World example for aliyun provider with Serverless Framework.",
  "main": "index.js",
  "license": "MIT"
}

index.js:

'use strict';

exports.hello = (event, context, callback) => {
  const response = {
    statusCode: 200,
    body: JSON.stringify({ message: 'Hello!' }),
  };

  callback(null, response);
};

You can just create a file with following informations:

[default]
aliyun_access_key_id = nA5hjMhbg9BOoVo
aliyun_access_key_secret = 098f6bcd4621d373cade4e832627b4f6
aliyun_account_id = 1504163990726

The aliyun_access_key_secret and aliyun_access_key_id you can found at https://ak-console.aliyun.com/?#/accesskey . If no any Access Key, you can create a Access Key or use subaccount Access Key. And aliyun_account_id can be found at https://account-intl.console.aliyun.com/?#/secure .

After create the credentials file, please make sure pointing the value of the credentials field in serverless.yml to it.

See test/project for a more detailed example (including how to access other Aliyun services, how to set up a HTTP POST endpoint, how to set up OSS triggers, etc.).

Workflow

Develop

# clone this repo
git clone git@github.com:aliyun/serverless-aliyun-function-compute.git

# link this module to global node_modules
cd serverless-aliyun-function-compute
npm install
npm link

# try it out by packaging the test project
cd test/project
npm install
npm link serverless-aliyun-function-compute
serverless package

License

MIT