官术网_书友最值得收藏!

Example 1 – the Apex deployment tool

Apex projects are made up of a project.json configuration file and might have one or more AWS Lambda functions defined in the functions directory. An example file structure looks as follows:

-project.json
-functions
├── bar
│ ├── function.json
│ └── index.js
└── foo
| ├── function.json
| └── index.js

The project.json file defines the project-level configuration that applies to all functions and defines the dependencies. In this simple example, we can use the following command:

{  "name": "packt-example",  "description": "Example Packt project"}

Each function uses a function.json configuration file to define function-specific properties, such as the runtime, the amount of memory allocated, and the timeout. This file is completely optional, as you can specify defaults in your project.json file. The following code snippet shows an example of the properties in the form of a key value pair. We use these properties to define a function:

{ 
"name": "packt-bar",
"description": "Packt Node.js example function",
"runtime": "nodejs4.3",
"memory": 128,
"timeout": 5,
"role": "arn:aws:iam::293503197324:role/lambda"
}

The directory structure for your project would look as follows:

-project.json
-functions
├── packt-bar
│ └── index.js
└── foo
| └── index.js

In Node.js, the source code for the functions themselves look as follows:

console.log('start packt-bar')exports.handle = function(e, ctx) {  ctx.succeed({ hello: e.name })}

Apex operates at the project level, but many commands allow you to specify specific functions. For example, you can deploy the entire project with a single command:

$ apex deploy

Alternatively, we can white list functions to deploy:

$ apex deploy foo packt-bar

We can invoke or call a function using the following method. Here, we are passing a name to the pipe, and apex invokes our function. The output is shown as "hello": "Tobi":

$ echo '{ "name": "Tobi" }' | apex invoke packt-bar

Output:
{
"hello": "Tobi"
}
主站蜘蛛池模板: 大理市| 兴化市| 太仓市| 乌兰察布市| 台湾省| 东安县| 桦川县| 小金县| 通榆县| 黔西县| 普兰店市| 司法| 开原市| 莱西市| 岳普湖县| 潍坊市| 贵港市| 秦皇岛市| 湘阴县| 水城县| 夏河县| 温宿县| 山丹县| 楚雄市| 长沙县| 赤壁市| 湘潭市| 平舆县| 镇坪县| 南木林县| 得荣县| 炎陵县| 南京市| 苏尼特左旗| 晋州市| 拉萨市| 民勤县| 桓台县| 承德县| 台东市| 泸西县|