云函数

触发云函数

POST https://cloud.minapp.com/oserve/v1/cloud-function/job/

推荐使用发起一个云函数请求触发云函数。

参数说明

Content-Type: Content-Type: application/json

参数 类型 必填 说明
function_name String 云函数名
data Object 传递给云函数的参数
sync Bool 是否等待返回函数执行结果,默认为 true。同步与异步云函数有不同的超时时间,同步云函数为 5 秒,而异步云函数为 5 分钟(300 秒)

返回参数说明

在 sync 为 true 的情况下

参数 类型 描述
code Number code 为 0 时表示成功执行云函数,否则为执行云函数失败
data 由云函数返回的数据类型决定 函数通过 callback 返回的数据
error Object 返回的错误信息,成功则返回空对象

测试云函数

接口地址

POST https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud_function_name/debug/

其中 :cloud_function_name 是云函数的名字。

参数说明

Content-Type: Content-Type: application/json

参数 类型 必填 说明
data Object 自定义数据,没有则需要提供一个空对象
subject String 触发类型,若不提供默认为 sdk, 可选值有:sdk, open_api, cloud_function, flex_schema, wechat_pay_success, timer, file_operation
schema_id Integer 表 ID,如果 subject 为 FlexSchema 则必填

返回参数

参数 类型 说明
billing_time Integer 计费时间
code Integer 函数调用正常:0,函数调用出错:1
data 由云函数返回的数据类型决定 函数通过 callback 返回的数据
error Object 包含三个键,错误信息:message, 错误堆栈:stack, 错误类型:type
execution_time Float 执行时间,毫秒
job_id String 任务 ID
log String 日志
mem_usage Integer 内存使用量,字节数

代码示例

curl -X POST \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/debug/ \
  -H "Authorization: Bearer cfb5912724dd7ff0b0c17683cc3074bb548bc7f4" \
  -H 'Content-Type: application/json' \
  -d '{
        "data": {}
      }'
var request = require("request");

var cloudFunctionName = '';
var options = {
  method: 'POST',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/debug/',
  headers:
  {
    'Content-Type': 'application/json',
    Authorization: 'Bearer 2323d124881bd3d63c9bb7845454f80a676b'
  },
  body: { data: {} },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$cloud_function_name = ''; // 云函数的名字
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/debug/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"data\": {}}");

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

正常返回:

{
    "billing_time": 100,
    "code": 0,
    "data": "hello world",
    "error": {},
    "execution_time": 13.46,
    "job_id": "490f08ff9b2e4a6b874581de53950e54",
    "log": "2018-09-21T03:46:26.026Z LOG event.data:  {}\n2018-09-21T03:46:26.029Z LOG return:  hello world\n",
    "mem_usage": 78340096
}

异常返回:

{
    "billing_time": 100,
    "code": 1,
    "data": null,
    "error": {
        "message": "Unexpected identifier",
        "stack": ":2\n  callback(null, \"hello world\")  fot debug\n                                 ^^^\n\nSyntaxError: Unexpected identifier\n    at createScript (vm.js:80:10)\n    at Object.runInThisContext (vm.js:139:10)\n    at Module._compile (module.js:607:28)\n    at loadUserFunction (/opt/hydrogen/worker.js:37:11)\n    at IncomingMessage.request.on.on (/opt/hydrogen/worker.js:82:18)\n    at emitNone (events.js:106:13)\n    at IncomingMessage.emit (events.js:208:7)\n    at endReadableNT (_stream_readable.js:1055:12)\n    at _combinedTickCallback (internal/process/next_tick.js:138:11)\n    at process._tickCallback (internal/process/next_tick.js:180:9)",
        "type": "SyntaxError"
    },
    "execution_time": 18.46,
    "job_id": "9f9fe6f08be94888b8b56e981a5a041e",
    "log": "2018-09-21T07:49:54.792Z LOG event.data:  {}\n2018-09-21T07:49:54.799Z ERROR :2\n  callback(null, \"hello world\")  fot debug\n                                 ^^^\n\nSyntaxError: Unexpected identifier\n    at createScript (vm.js:80:10)\n    at Object.runInThisContext (vm.js:139:10)\n    at Module._compile (module.js:607:28)\n    at loadUserFunction (/opt/hydrogen/worker.js:37:11)\n    at IncomingMessage.request.on.on (/opt/hydrogen/worker.js:82:18)\n    at emitNone (events.js:106:13)\n    at IncomingMessage.emit (events.js:208:7)\n    at endReadableNT (_stream_readable.js:1055:12)\n    at _combinedTickCallback (internal/process/next_tick.js:138:11)\n    at process._tickCallback (internal/process/next_tick.js:180:9)\n",
    "mem_usage": 78528512
}

状态码说明

200: 成功。

400: 参数校验失败,任务调度失败。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

获取某云函数的任务记录

接口地址

GET https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud-function-name/job/

其中 :cloud-function-name 是云函数的名字。

参数说明

参数 类型 必填 说明
source String 云函数任务来源,可选值:sdk, open_api, cloud_function, flex_schema, wechat_pay_success, timer, file_operation
status String 云函数任务状态,可选值:waiting, executing, fulfilled, schedule_failed, execution_rejected, deadline_exceeded, execution_failed
service_type String 云函数同步类型,可选值:time_sensitive, batch
created_at__gte Integer 创建时间大于,unix 时间戳
created_at__lte Integer 创建时间小于,unix 时间戳

返回参数

参数 类型 说明
id Integer 任务 ID
created_at Float 创建时间
finished_at Float 完成时间
mem_usage Integer 内存用量
service_type String 可能的值:time_sensitive, batch
source String 任务来源
status String 任务状态
user_log_url String 日志地址

代码示例

curl -X GET \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/job/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b'
var request = require("request");

var cloudFunctionName = '';
var options = {
  method: 'GET',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/job/',
  headers:
  {
    'Content-Type': 'application/json',
    Authorization: 'Bearer 2323d124881bd3d63c9bb78458252454f80ab'
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$cloud_function_name = ''; // 云函数的名字
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/job/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

{
    "meta": {
        "limit": 20,
        "next": "/oserve/v1.3/cloud-function/test/job/?limit=20&offset=20",
        "offset": 0,
        "previous": null,
        "total_count": 1525
    },
    "objects": [
        {
            "created_at": 1537505171.419368,
            "finished_at": 1537505171.605735,
            "id": 779734,
            "mem_usage": 78336000,
            "service_type": "batch",
            "source": "flex_schema",
            "started_at": 1537505171.5807,
            "status": "fulfilled",
            "user_log_url": "https://hydrogen-faas-logs.s3.cn-north-1.amazonaws.com.cn/ticket_778289.log?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=86400&X-Amz-Security-Token=FQoDYXdzEP3%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDM50xRDK8JETeulNLiK%2FA08zFCZM8zvsnb6VG81mDV0onfgVwXhAjUi6p3Y250g9GiVeWVs%2FpI6S9d0S6mD9xPjmkWw9ven%2BkRVME2xAbzfgio8%2BUbQkrOgvnFx%2BziHj0DGGvMEZYnoT6ui4QD8y8YQaJd7oWH%2B0hdIUGdE%2BFTSiZzSicuVgdr6WLkxipnuujV2yS9%2ByrXK4A0g1HaUifZVnD3K2Bz1AiHrr9abaFSFoWzyzhGYGcyp7TM4iodW%2FTI5CkPFj2f%2BNvCOSCBWWWOsY%2FUyaAdCFZFqXJoJ6uuXFZ5yl7xd5W28egT5Jgfeq%2FG5j9xp9OVu8sAlnPre8WoSpspHt8R%2BRMDPr6klJE3yxXIxRODlt4nHAA30wcwunO09x8zoK54pgrveIWNlIRYeSSMG%2FGAzYXNq%2FxXjcpQOa3ekyirC%2Bj0n45dBZY4oS8c3au32WjoLjD2gnPAZsvBg1gR2wcUxs3PFi30ochY9VAxXQyXeqcy1Jw0LXQnBLT6Uw9pVV8%2BikrK13EBUiIAow1FEeKJ3xjng7mrPz60pEDYZcymJ0Uj4VkNBXMQwPHBfsfChxsLWYXaQ3EitWD3GhBaim65Tz%2FoZHU6TPRijP5ZHdBQ%3D%3D&X-Amz-Date=20180921T044620Z&X-Amz-Signature=f5d74870d8b52cbb490fae4d81fc486b09da1e026bf9571c172b4d8d29c84a66&X-Amz-Credential=ASIAQUWH6XTCOEBVBVFG%2F20180921%2Fcn-north-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host"
        },
        ...
    ]
}

状态码说明

200: 成功。

400: 参数错误。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

发起一个云函数请求

接口地址

POST https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud-function-name/job/

其中 :cloud-function-name 是云函数的名字。

请求参数说明

Content-Type: Content-Type: application/json

参数 类型 必填 说明
data Object 传递给云函数的参数,如果没有需要提供一个空对象
sync Bool 是否等待返回函数执行结果,默认为 true。同步与异步云函数有不同的超时时间,同步云函数为 5 秒,而异步云函数为 5 分钟(300 秒)

返回参数说明

sync 为 true 时:

参数 类型 说明
code Number code 为 0 时表示成功执行云函数,否则为执行云函数失败
data 由云函数返回的数据类型决定 函数通过 callback 返回的数据
error Object 返回的错误信息,成功则返回空对象

sync 为 false 时:

参数 类型 说明
status String 默认为 'ok'

代码示例

curl -X POST \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/job/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b' \
  -H "Content-Type: application/json" \
  -d '{
        "data": {}
      }'
var request = require("request");

var cloudFunctionName = 'come_from_hahah';
var options = {
  method: 'POST',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/job/',
  headers:
  {
    'Content-Type': 'application/json',
    Authorization: 'Bearer 2323d124881bd3d63c9bb78458252454f80a676b'
  },
  body:
    { data: {} },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$cloud_function_name = ''; // 云函数的名字
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/job/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"data\": {}}");

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

sync 为 true:

{
    "code": 1,
    "data": null,
    "error": {
        "message": "Unexpected identifier",
        "type": "SyntaxError"
    }
}

sync 为 false:

{
    "status": "ok"
}

状态码说明

200: 成功。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

404: 没有找到对应的云函数。

新建云函数

接口地址

POST https://cloud.minapp.com/oserve/v1.3/cloud-function/

请求参数说明

参数 类型 必填 说明
name String 云函数名,不能为空字符串
function_code String 云函数代码,不能为空字符串
remark String 备注

返回参数说明

参数 类型 说明
audit_status String 可能的值: approved, rejected, waiting
created_by String 创建者昵称
function_code String 云函数代码
id Integer 云函数 ID
name String 云函数名
plan_circle String 套餐类型
remark String 备注
updated_at Integer 最近一次更新时间
updated_by String 更新者昵称

代码示例

curl -X POST \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b' \
  -H "Content-Type: application/json" \
  -d '{
  "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
  "remark": "你好,云函数"
}'
var request = require("request");

var options = {
  method: 'POST',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/',
  headers:
  {
    'Content-Type': 'application/json',
    Authorization: 'Bearer 2323d124881bd3d63c9bb78458252454f80a676b'
  },
  body:
  {
    function_code: 'exports.main = function functionName(event, callback) {\n  callback(null, "hello world")\n}',
    remark: '你好,云函数'
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

$payload = json_encode(
  array(
    'function_code'=> "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
    'remark'=> '你好,云函数'
  )
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

{
    "audit_status": "approved",
    "created_at": 1537704381,
    "created_by": "",
    "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
    "id": 1105,
    "name": "come_from_open_api",
    "plan_circle": "P_FREE",
    "remark": "你好,云函数",
    "updated_at": 1537704381,
    "updated_by": ""
}

状态码说明

201: 创建成功。

400: 参数不合法:云函数名或代码为字段为空。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

获取当前小程序的所有云函数

接口地址

GET https://cloud.minapp.com/oserve/v1.3/cloud-function/

返回参数说明

参数 类型 说明
audit_status String 可能的值: approved, rejected, waiting
created_by String 创建者昵称
function_code String 云函数代码
id Integer 云函数 ID
name String 云函数名
plan_circle String 套餐类型
remark String 备注
updated_at Integer 最近一次更新时间
updated_by String 更新者昵称

代码示例

curl -X GET \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b'
var request = require("request");

var options = {
  method: 'GET',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/',
  headers:
  {
    Authorization: 'Bearer 2323d124881bd3d6bb78458252454f80a676b'
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

{
    "meta": {
        "limit": 20,
        "next": null,
        "offset": 0,
        "previous": null,
        "total_count": 2
    },
    "objects": [
        {
            "audit_status": "approved",
            "created_at": 1537924886,
            "created_by": "somebody",
            "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
            "id": 1121,
            "name": "come_from_open_API_v1.3",
            "plan_circle": "P_FREE",
            "remark": "你好,云函数",
            "updated_at": 1537924886,
            "updated_by": ""
        },
        {
            "audit_status": "approved",
            "created_at": 1537704269,
            "created_by": "somebody",
            "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
            "id": 1102,
            "name": "测试",
            "plan_circle": "P_FREE",
            "remark": "你好,云函数",
            "updated_at": 1537704426,
            "updated_by": "somebody"
        },
    ]
}

状态码说明

200: 成功。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

401: 参数不合法:云函数名或代码为字段为空

获取云函数详细信息

接口地址

GET https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud-function-name/

其中 :cloud-function-name 为云函数的名字。

返回参数说明

参数 类型 说明
audit_status String 可能的值: approved, rejected, waiting
created_by String 创建者昵称
function_code String 云函数代码
id Integer 云函数 ID
name String 云函数名
plan_circle String 套餐类型
remark String 备注
updated_at Integer 最近一次更新时间
updated_by String 更新者昵称

代码示例

curl -X GET \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b'
var request = require("request");

var cloudFunctionName = '';
var options = {
  method: 'GET',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/',
  headers:
  {
    Authorization: 'Bearer 2323d124881bd3d63c9bb78458252454f80a676b'
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$cloud_function_name = '';
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

{
    "audit_status": "approved",
    "created_at": 1535903214,
    "created_by": "somebody",
    "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")  fot debug\n}",
    "id": 847,
    "name": "test",
    "plan_circle": "P_FREE",
    "remark": "",
    "updated_at": 1537516164,
    "updated_by": "somebody"
}

状态码说明

200: 成功。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

404: 云函数不存在。

修改云函数

接口地址

PATCH https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud-function-name/

其中 :cloud-function-name 为云函数名字。

请求参数说明

参数 类型 必填 说明
name String 云函数名,不能为空字符串
function_code String 云函数代码,不能为空字符串
remark String 备注

返回参数说明

参数 类型 说明
audit_status String 可能的值: approved, rejected, waiting
created_by String 创建者昵称
function_code String 云函数代码
id Integer 云函数 ID
name String 云函数名
plan_circle String 套餐类型,可能的值:P_FREE, P_PERSONAL, P_ENTERPRISE
remark String 备注
updated_at Integer 最近一次更新时间
updated_by String 更新者昵称

代码示例

curl -X PATCH \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b' \
  -H "Content-Type: application/json" \
  -d '{
  "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
  "remark": "你好,云函数"
}'
var request = require("request");

var cloudFunctionName = '';
var options = {
  method: 'PATCH',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/',
  headers:
  {
    'Content-Type': 'application/json',
    Authorization: 'Bearer 2323d124881bd3d63c9bb784582554f80a676b'
  },
  body:
  {
    remark: '你好,云函数',
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(body);
});
<?php
$token = '';
$cloud_function_name = '';
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

$payload = json_encode(
  array(
    'function_code'=> "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
    'remark'=> '你好,云函数'
  )
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $response;
}

返回示例

{
    "audit_status": "approved",
    "created_at": 1535903214,
    "created_by": "somebody",
    "function_code": "exports.main = function functionName(event, callback) {\n  callback(null, \"hello world\")\n}",
    "id": 847,
    "name": "modify_from_open_api",
    "plan_circle": "P_FREE",
    "remark": "",
    "updated_at": 1537710962,
    "updated_by": "somebody"
}

状态码说明

202: 修改成功。

400: 参数不合法:云函数名或代码为空。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

401: 参数不合法:云函数名或代码为空

删除一个云函数

接口地址

DELETE https://cloud.minapp.com/oserve/v1.3/cloud-function/:cloud-function-name/

其中 :cloud-function-name 是云函数的名字。

代码示例

curl -X DELETE \
  https://cloud.minapp.com/oserve/v1.3/cloud-function/test/ \
  -H 'Authorization: Bearer 2323d124881bd3d63c9bb78458252454f676b'
var request = require("request");

var cloudFunctionName = '';
var options = {
  method: 'DELETE',
  url: 'https://cloud.minapp.com/oserve/v1.3/cloud-function/' + cloudFunctionName + '/',
  headers:
  {
    Authorization: 'Bearer 2323d124881bd3d63c9bb784582524540a676b'
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log(response.statusCode);
});
<?php
$token = '';
$cloud_function_name = ''; // 云函数的名字
$url = "https://cloud.minapp.com/oserve/v1.3/cloud-function/{$cloud_function_name}/";

$ch = curl_init();
$header = array(
  "Authorization: Bearer {$token}",
  'Content-Type: application/json; charset=utf-8'
);

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "CURL Error #:" . $err;
} else {
  echo $httpCode;
}

返回示例

返回体为空。

状态码说明

204: 删除成功。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

404: 没有找到对应的云函数。

results matching ""

    powered by

    No results matching ""