通过函数计算的Custom Runtime,您可以在函数计算平台使用Dart来编写函数。本文介绍快速部署和调用Dart函数的详细步骤。您可以修改Dart示例中的代码,实现自己的需求。
步骤一:准备环境
安装Funcraft,最简单的方式就是直接下载可执行的二进制文件。
- 安装Funcraft到本机。更多信息,请参见安装Funcraft。
- 执行
fun --version
检查安装是否成功。
- 执行
fun config
配置Funcraft。然后按照提示依次配置Account ID、Access Key ID、Access Key Secret、Default region name。fun config
Aliyun Account ID 1234xxx
Aliyun Access Key ID xxxx
Aliyun Access Key Secret xxxx
Default region name cn-xxxx
The timeout in seconds for each SDK client invoking 300
The maximum number of retries for each SDK client 5
Allow to anonynously report usage statistics to improve the tool over time? (Y/n)
步骤二:部署和调用函数
- 执行以下命令克隆示例工程到本地。
git clone https://github.com/awesome-fc/fc-custom-demo
- 可选:将dart-demo目录中的代码示例进行修改实现您的业务逻辑。
- 执行以下命令进入克隆的示例项目中。
cd fc-custom-demo
cd dart-demo
- 执行以下命令构建目标引导。
make deploy
预期输出:
docker run --rm -it -v $(pwd):/tmp google/dart:2.8.4 bash -c "export PUB_HOSTED_URL=https://pub.flutter-io.cn && cd tmp/code && dart2native index.dart && mv index.exe bootstrap"
Generated: /tmp/code/index.exe
chmod +x code/bootstrap
- 执行以下命令将项目部署至函数计算。
返回结果如下。
...
Waiting for service dart-demo to be deployed...
Waiting for function dart-func to be deployed...
Waiting for packaging function dart-func code...
The function dart-func has been packaged. A total of 2 files were compressed and the final size was 2.57 MB
function dart-func deploy success
service dart-demo deploy success
- 执行以下命令调用部署的函数。
fun invoke -e "Hello World"
返回结果如下。
========= FC invoke Logs begin =========
FC Invoke Start RequestId: 81d9e365-7f42-46e6-b27f-7981d16303b6
hello world
FC Invoke End RequestId: 81d9e365-7f42-46e6-b27f-7981d16303b6
Duration: 1.08 ms, Billed Duration: 100 ms, Memory Size: 1024 MB, Max Memory Used: 17.50 MB
========= FC invoke Logs end =========
FC Invoke Result:
Hello World