Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
serverless-aliyun-function-compute
Advanced tools
Provider plugin for the Serverless Framework v1.x which adds support for Aliyun Function Compute
This plugin enables Aliyun Function Compute support within the Serverless Framework.
npm i -g serverless
.You can install the following example from GitHub:
$ 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 to 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);
};
In order to deploy this function, we need the credentials with permissions to access Aliyun Function Compute.
Please create a credentials
file and configure the credentials in it.
Here is an example credentials
file:
[default]
aliyun_access_key_id = xxxxxxxx
aliyun_access_key_secret = xxxxxxxxxxxxxxxxxxxx
aliyun_account_id = 1234567890
You can find the aliyun_access_key_secret
and aliyun_access_key_id
from https://ak-console.aliyun.com/?#/accesskey. You can also chose to create an Access Key or use sub-account Access Key.
You can find the aliyun_account_id
from https://account-intl.console.aliyun.com/?#/secure .
After creating the credentials
file, please make sure to change the credentials
field value in serverless.yml
to the absolute file path.
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.).
Make sure that you have activated Function Compute and any other dependent services such as RAM, Log Service, API Gateway and OSS before attempting to deploy your function.
Deploy your service to Aliyun:
$ serverless deploy
If your service contains HTTP endpoints, you will see the URLs for invoking your functions after a successful deployment.
Note: you can use serverless deploy function --function <function name>
to deploy a single function instead of the entire service.
Invoke a function directly (without going through the API gateway):
$ serverless invoke --function hello
Retrieve the LogHub logs generated by your function:
$ serverless logs --function hello
Get information on your deployed functions
$ serverless info
When you no longer needs your service, you can remove the service, functions, along with deployed endpoints and triggers using:
$ serverless remove
Note: by default RAM roles and policies created during the deployment are not removed. You can use serverless remove --remove-roles
if you do want to remove them.
Changing the region in provider of serverless.yml:
provider:
name: aliyun
region: cn-hongkong
Changing the region in CLI parameters:
$ serverless deploy --region cn-hongkong
Note: CLI parameter --region
has higher priority than provider, But you have to add this parameter to all the invocations, not only deploy
.
# 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
MIT
FAQs
Provider plugin for the Serverless Framework v1.x which adds support for Aliyun Function Compute
We found that serverless-aliyun-function-compute demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.