Cloud control script functions
EC example code
- Cloud control example code below
function main() {
// If the automation service is running normally
if (!autoServiceStart(3)) {
logd("Automation service failed to start; cannot run script");
exit();
return;
}
logd("Starting script...{} = {}", ecloud.getDeviceNo(), ecloud.getCloudUrl());
let ts = ecloud.getTaskInfo();
logd(ts);
if (ts == null) {
logd("No task info");
return;
}
logd("Task info:" + JSON.stringify(ts));
logd(ts["taskName"]);
if (ts.valueJson) {
// Get value for name = haoma in task parameter settings
logd("valueJson " + ts.valueJson["haoma"]);
// Get value for name = 账号 in task parameter settings
logd("valueJson " + ts.valueJson['账号']);
// Print parameters
logd("valueJson " + ts.valueJson);
}
// Write your business logic here
clickSettingTask();
sleep(3000)
// Demo: create, read, update, delete, append, and remove one line
dataOptDemo()
}
/**
* Open the settings button
**/
function clickSettingTask() {
// Simulate business logic
sleep(4000);
}
function dataOptDemo() {
// Get data by group name
let data = ecloud.getData({
"groupName": "账号组2"
});
if (data) {
logd("账号组2 data: " + JSON.stringify(data));
}
// Get data by group name + data name
data = ecloud.getData({
"groupName": "账号组2",
"dataName": "001-1112"
});
if (data) {
logd("账号组2 data + dataName : " + JSON.stringify(data));
}
// Simulate uploading data
let d = ecloud.addData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "xxx" + new Date()
});
logd("First create 账号组2 data result - " + d)
// Simulate updating data
let update2 = ecloud.updateData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "牛逼" + new Date()
});
logd("Update data result - " + d)
sleep(3000)
// Remove data by group + data name
// let remove2 = ecloud.removeData({
// "groupName": "账号组2",
// "dataName": ecloud.getDeviceNo() + "-111"
//
// });
// logd("Group + data remove result - " + remove2)
// Remove data by group + data name
let remove3 = ecloud.removeData({
"groupName": "账号组2"
});
logd("Group remove result - " + remove3)
// Demo creating data again
let d2 = ecloud.addData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "星星xxx" + new Date()
});
logd("Second create 账号组2 data result - " + d2)
sleep(3000)
// Demo appending data
let append1 = ecloud.appendOneLineData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "我是要增加的数据1"
});
logd("Append data result - " + append1)
// Second append
let append2 = ecloud.appendOneLineData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "我是要增加的数据2"
});
logd("Append data result - " + append2)
// First remove-one-line
let removeline1 = ecloud.removeOneLineData({
"groupName": "账号组2",
"dataName": ecloud.getDeviceNo() + "-111",
"content": "我是要增加的数据1"
});
logd("Remove one line result - " + removeline1)
sleep(3000)
}
function autoServiceStart(time) {
for (var i = 0; i < time; i++) {
if (isServiceOk()) {
return true;
}
var started = startEnv();
logd("Service start attempt " + (i + 1) + " result: " + started);
if (isServiceOk()) {
return true;
}
}
return isServiceOk();
}
main();
Basic operations
ecloud.log Send log
- Send a log message to the cloud
- @param msg Log message
function main() {
ecloud.log("I am a CLOUD log")
}
main();
ecloud.getDeviceNo Get device number
- Get the device number
- @return
{string}Device code or null
function main() {
var d = ecloud.getDeviceNo()
logd(d)
}
main();
ecloud.getDeviceId Get device ID
- Get the device ID
- Requires EC 11.8.0+
- @return
{string}Device ID or null
function main() {
var d = ecloud.getDeviceId()
logd(d)
}
main();
ecloud.getCloudUrl Get cloud control URL
- Get the cloud control URL
- @return
{string}Cloud control URL or null
function main() {
var d = ecloud.getCloudUrl()
logd(d)
}
main();
ecloud.getTaskInfo Get current task info
- Get info for the current task (already pushed to the device locally)
- @return
{json}Object
function main() {
var d = ecloud.getTaskInfo()
logd(d)
}
main();
- Return value example
- taskId: Cloud main task ID
- taskName: Cloud main task name
- scriptId: Script cloud ID
- scriptName: Script name
- scriptVersion: Script version
- scriptName: Script name
- scriptUrl: Script URL
- valueJson: Extra parameters
- Values returned by the task info function
{
"taskId": "1",
"taskName": "X手浏览",
"sort": 3,
"scriptId": "1",
"scriptName": "X手脚本",
"scriptUrl": "http://baidu.com/a.iec",
"scriptVersion": "1",
"valueJson": {
"a1": "test",
"a2": "test"
}
}
ecloud.removeScriptFile Clear script
- Delete the script file for security
- Requires EC 6.11.0+
- @return
{bool}true on success, false on failure
function main() {
var d = ecloud.removeScriptFile()
logd(d)
}
main();
Data sharing table operations
- Data sharing maps to Data groups and Data list under cloud control data management
- Table structure is fixed; users cannot change it
ecloud.getData Get data
- Get data by group name and/or data name; the data must exist in cloud control
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key"} - Key definitions: groupName = data group name
- dataName = data name
function main() {
var d = ecloud.getData({"groupName": "资源组1", "dataName": "111"})
logd(d)
}
main();
- Return value example
- id: Data ID (can be ignored)
- name: Data name
- content: Data content
[
{
"id": "",
"name": "",
"content": ""
}
]
ecloud.getDataPop Get and delete data
- Get data by group name and/or data name; cloud control deletes it automatically after fetch. The data must exist in cloud control
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key","getType":1,"size":1} - Key definitions: groupName = data group name
- dataName = data name
- getType = fetch mode: 1 head, 2 tail, 3 random
- size = number of records to fetch
- @return
{json array}Empty or JSON array
function main() {
var d = ecloud.getDataPop({"groupName": "资源组1", "dataName": "111", "getType": 1, "size": 10})
logd(d)
logd(d[0])
}
main();
- Return value example
["aaa","bbb"]
ecloud.addData Add data
- Add a data record; if the group already exists, data is appended automatically
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key","content":"数据"} - Key definitions:
- groupName = data group name
- dataName = data name
- content = content
- @return
{bool}true on success, false on failure
function main() {
var d = ecloud.addData({"groupName": "资源组1", "dataName": "111", "content": "test数据"})
logd(d)
}
main();
ecloud.updateData Update data
-
Update data under a group; group name and data name are required
-
@param map Extensible parameter map
-
Example
{"groupName":"数据组1","dataName":"key","content":"数据"}- Key definitions:
- groupName = data group name
- dataName = data name
- content = content
-
@return
{bool}true on success, false on failure
function main() {
var d = ecloud.updateData({"groupName": "资源组1", "dataName": "111", "content": "test数据"})
logd(d)
}
main();
ecloud.removeData Delete data
- Delete data under a group. If only the group name is given, all data in that group is deleted. If both group name and data name are given, only matching records are deleted
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key"} - Key definitions:
- groupName = data group name
- dataName = data name
- @return
{bool}true on success, false on failure
function main() {
var d = ecloud.removeData({"groupName": "资源组1", "dataName": "111"})
logd(d)
}
main();
ecloud.appendOneLineData Append one line
- Look up content for the data name under the group and append one line at the end
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key","content":"数据"} - Key definitions:
- groupName = data group name
- dataName = data name
- content = content
- @return
{bool}true on success, false on failure
function main() {
var d = ecloud.appendOneLineData({"groupName": "资源组1", "dataName": "111", "content": "test数据"})
logd(d)
}
main();
ecloud.removeOneLineData Remove one line
- Look up content for the data name under the group and remove one line equal to content
- @param map Extensible parameter map
- Example
{"groupName":"数据组1","dataName":"key","content":"数据"} - Key definitions:
- groupName = data group name
- dataName = data name
- content = content
- @return
{bool}true on success, false on failure
function main() {
var d = ecloud.removeOneLineData({"groupName": "资源组1", "dataName": "111", "content": "test数据"})
logd(d)
}
main();
Dynamic data API
- Dynamic data maps to Data groups and Data list under cloud control data management
- Table structure is not fixed; users create tables and fill data themselves
ecloud.dynamicCreateTable Create or update dynamic table
- Create or update a dynamic data table schema
- If columns adds new fields, they are created automatically; if a field is removed from columns, it is dropped from the table
- Use caution when altering tables to avoid data loss!!!
- Requires EC 6.16.0+
- @param param Parameters
{
"tableName": "我是牛逼的表",
"tableNameEn": "niubi_table",
"columns": [{
"columnInfo": "姓名",
"columnName": "name",
"columnSize": 500
},
{
"columnInfo": "年龄",
"columnName": "age",
"columnSize": 500
},
{
"columnInfo": "性别",
"columnName": "sex",
"columnSize": 500
}
]
}
- Fields:
- tableName: Chinese display name (label only, not the actual table name)
- tableNameEn: English table name — the real table name
- columns: Column definitions; all column types are strings
- columnInfo: Column comment/description
- columnName: Column name — use English; no spaces or special characters
- columnSize: Column length
- @return
{string}JSON string; parse to a JSON object - Success example:
{"result":{"data":1}}— data is the number of affected rows - Failure example:
{"result":{"msg":"我是错误信息"}}
function main() {
let crateTable = {
"tableName": "我是牛逼的表",
"tableNameEn": "niubi_table",
"columns": [
{
"columnInfo": "姓名",
"columnName": "name",
"columnSize": 500
},
{
"columnInfo": "年龄",
"columnName": "age",
"columnSize": 500
},
{
"columnInfo": "性别",
"columnName": "sex",
"columnSize": 500
}
]
};
let creae = ecloud.dynamicCreateTable(crateTable)
logd("=== {}", creae);
}
main();
ecloud.dynamicQuery Query dynamic table data
- Query dynamic data
- Requires EC 6.16.0+
- @param param Parameters
{
"pageNumber": 1,
"pageSize": 4,
"fields": "id,name",
"query": "and name like '%我是%'",
"tableNameEn": "niubi_table",
"search": {
"id": "1",
"name": "我是name"
}
}
- Fields:
- pageNumber: Page number, starting at 1. Use -1 to disable (uses LIMIT internally)
- pageSize: Page size. Use -1 to disable (uses LIMIT internally)
- fields: Columns to return; optional. Comma-separated English names — see example
- query: Custom SQL-style WHERE clause
- order: Sort clause, e.g.
order by id desc. If order contains LIMIT, set pageNumber to -1 to avoid duplicate LIMIT - tableNameEn: English table name
- search: Equality filters; use either search or query, not both
- search example:
"id":"1"means id = 1 - @return
{string}JSON string; parse to a JSON object - Success example:
{"result":{"data":[{"name":"3","id":2}]}}— data is the result array - Failure example:
{"result":{"msg":"我是错误信息"}}
function main() {
let query = {
"pageNumber": 1,
"pageSize": 2,
"fields": "",
"query": " and age like '%2%'",
"tableNameEn": "niubi_table",
"order":"",
"search": {}
};
let queryr = ecloud.dynamicQuery(query)
logd("=== {}", queryr);
// Random query
let query2 = {
"pageNumber": -1,
"pageSize": -1,
"fields": "",
"query": "",
"tableNameEn": "niubi_table",
"order":"order by rand() limit 1",
"search": {}
};
let queryr2 = ecloud.dynamicQuery(query2)
logd("=== {}", queryr2);
}
main();
ecloud.dynamicAdd Add dynamic table data
- Insert dynamic data
- Requires EC 6.16.0+
{
"tableNameEn": "niubi_table",
"columns": {
"name": "我是牛逼",
"age": "niubi_table2",
"sex": "niubi_table2"
}
}
- @param param Parameters
- Fields:
- tableNameEn: English table name
- columns: Column name → value map
- Example:
"name": "我是牛逼的表"inserts name = 我是牛逼的表 - @return
{string}JSON string; parse to a JSON object - Success example:
{"result":{"data":1}}— data is the number of affected rows - Failure example:
{"result":{"msg":"我是错误信息"}}
function main() {
let add = {
"tableNameEn": "niubi_table",
"columns": {
"name": "我是牛逼的表",
"age": "niubi_table2",
"sex": "niubi_table2"
}
}
let queryr = ecloud.dynamicAdd(add)
logd("=== {}", queryr);
}
main();
ecloud.dynamicUpdate Update dynamic table data
- Update dynamic data
- Requires EC 6.16.0+
- @param param Parameters
{
"tableNameEn": "niubi_table",
"columns": {
"name": "我x是牛逼xxxx的表",
"age": "niubi_table2",
"sex": "niubi_table2"
},
"query": "and id=1",
"search": {
"id": "7"
}
}
- query: Custom SQL-style WHERE clause
- tableNameEn: English table name
- search: Equality filters; use either search or query, not both
- search example:
"id":"1"means id = 1 - columns: Columns and values to update
- Example:
"name": "我是牛逼的表"sets name to 我是牛逼的表 - @return
{string}JSON string; parse to a JSON object - Success example:
{"result":{"data":1}}— data is the number of affected rows - Failure example:
{"result":{"msg":"我是错误信息"}}
function main() {
let update = {
"tableNameEn": "niubi_table",
"columns": {
"name": "1我x是牛逼xxxx的表",
"age": "niubi_table2",
"sex": "niubi_table2"
},
"query": "and name like '%我%'",
"search": {
"id": "7"
}
}
let updater = ecloud.dynamicUpdate(update)
logd("=== {}", updater);
}
main();
ecloud.dynamicRemove Delete dynamic table data
- Delete dynamic data
- Requires EC 6.16.0+
{
"tableNameEn": "niubi_table",
"query": "and name like '%我%'",
"search": {
"id": "1"
}
}
- @param param Parameters
- Fields:
- query: Custom SQL-style WHERE clause
- tableNameEn: English table name
- search: Equality filters; use either search or query, not both
- search example:
"id":"1"means id = 1 - @return
{string}JSON string; parse to a JSON object - Success example:
{"result":{"data":1}}— data is the number of affected rows - Failure example:
{"result":{"msg":"我是错误信息"}}
function main() {
let del = {
"tableNameEn": "niubi_table",
"query": "and name like '%我%'",
"search": {
"id": "7"
}
}
let delr = ecloud.dynamicRemove(del)
logd("=== {}", delr);
}
main();
Data cache API
- Operates Redis cache, typically as key-value pairs
- Supports TTL, strings, and set collections
- For boolean or integer values, convert to strings
ecloud.addCache Add cache
- Add a Redis cache entry
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"} - Key definitions:
- cacheKey = cache key
- expireTime = TTL in seconds; empty or ≤ 0 means no expiry
- dataType = data type: 1 string, 2 set (newline
\nseparated) - content = payload; if dataType = 2, content is split by
\nand stored as a Redis set - @return
{bool}true on success, false on failure
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
// SET collection
let sss = "s1\ns2\ns3";
let setData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 2,
"content": sss
}
let addSet = ecloud.addCache(setData);
logd("addSet {}", addSet);
}
main();
ecloud.getCache Get cache
- Get a cache entry; returns nothing if expired
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cacheKey = cache key
- @return
{string}JSON string from the server; parse the result node
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
// SET collection
let sss = "s1\ns2\ns3";
let setData = {
"cacheKey": "key1",
"expireTime": -1,
"dataType": 2,
"content": sss
}
let addSet = ecloud.addCache(setData);
logd("addSet {}", addSet);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
// Split and iterate
data.result.split("\n").forEach(function (item) {
console.log(item)
})
}
main();
ecloud.updateCache Update cache
- Update a Redis cache entry
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"} - Key definitions:
- cacheKey = cache key
- expireTime = TTL in seconds; empty or ≤ 0 means no expiry
- dataType = data type: 1 string, 2 set (newline
\nseparated) - content = payload; if dataType = 2, content is split by
\nand stored as a Redis set - @return
{bool}true on success, false on failure
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let up = ecloud.updateCache({"cacheKey": "key1", "content": "test123"})
data = ecloud.getCache({"cacheKey": "key1"});
logd("Updated data {}", JSON.stringify(data));
// Print directly
logd("Updated data {}", data.result);
}
main();
ecloud.updateCacheExpire Update expiry
- Update Redis cache TTL
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key","expireTime":300} - Key definitions:
- cacheKey = cache key
- expireTime = TTL in seconds; empty or ≤ 0 means no expiry
- @return
{bool}true on success, false on failure
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let up = ecloud.updateCacheExpire({"cacheKey": "key1", "expireTime": 0})
logd("up {}", up);
let leftTime = ecloud.getCacheExpire({"cacheKey": "key1"})
logd("Remaining TTL {}", leftTime);
}
main();
ecloud.getCacheExpire Get remaining TTL
- Get remaining TTL for a Redis key
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cacheKey = cache key
- @return
{long}Remaining TTL; negative means no expiry
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let up = ecloud.updateCacheExpire({"cacheKey": "key1", "expireTime": 0})
logd("up {}", up);
let leftTime = ecloud.getCacheExpire({"cacheKey": "key1"})
logd("Remaining TTL {}", leftTime);
}
main();
ecloud.removeCache Delete cache
- Delete a Redis cache entry
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cacheKey = cache key
- @return
{bool}true on success, false on failure
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 1,
"content": "数据"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let del = ecloud.removeCache({"cacheKey": "key1"})
logd("Delete {}", del);
data = ecloud.getCache({"cacheKey": "key1"});
logd("After delete data {}", JSON.stringify(data));
// Print directly
logd("After delete data {}", data.result);
}
main();
ecloud.appendOneLineCache Append to cache
- Append one line to a Redis set cache
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key","content":"数据"} - Key definitions:
- cacheKey = cache key
- content = one line to append to the Redis set
- @return
{string}JSON string from the server; parse the result node
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 2,
"content": "a\nb\nc"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let inc = ecloud.appendOneLineCache({"cacheKey": "key1", "content": "test"})
logd("==inc {}", inc);
inc.result.split("\n").forEach(function (item) {
console.log("append --- {}", item)
})
}
main();
ecloud.removeOneLineCache Remove one cache line
- Remove one element from a Redis set cache
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key","content":"数据"} - Key definitions:
- cacheKey = cache key
- content = one line to remove from the Redis set
- @return
{string}JSON string from the server; parse the result node
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 2,
"content": "a\nb\nc"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let inc = ecloud.appendOneLineCache({"cacheKey": "key1", "content": "test"})
logd("==inc {}", inc);
inc.result.split("\n").forEach(function (item) {
console.log("append --- {}", item)
})
inc = ecloud.removeOneLineCache({"cacheKey": "key1", "content": "test"})
logd("==inc {}", inc);
inc.result.split("\n").forEach(function (item) {
console.log("append --- {}", item)
})
}
main();
ecloud.incrementCache Increment cache
- Redis increment counter; each call adds 1 to the key
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cacheKey = cache key
- @return
{long}Value after increment
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 2,
"content": "a\nb\nc"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let inc = ecloud.incrementCache({"cacheKey": "key2"})
logd("==inc {}", inc);
let get = ecloud.getCache({"cacheKey": "key2"})
// Returned as a string
logd("==get {}", get.result);
}
main();
ecloud.decrementCache Decrement cache
- Redis decrement counter; each call subtracts 1 from the key
- Requires EC 7.5.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cacheKey = cache key
- @return
{long}Value after decrement
function main() {
// String
let stringData = {
"cacheKey": "key1",
"expireTime": 300,
"dataType": 2,
"content": "a\nb\nc"
}
let addString = ecloud.addCache(stringData);
logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
// Print directly
logd("data {}", data.result);
let inc = ecloud.incrementCache({"cacheKey": "key2"})
logd("==inc {}", inc);
let get = ecloud.decrementCache({"cacheKey": "key2"})
// Returned as a string
logd("==get {}", get);
}
main();
ecloud.popPushCache push or pop command
- Redis push or pop commands
- Requires EC 7.8.0+
- @param map Extensible parameter map
- Example
{"cacheKey":"缓存key"} - Key definitions:
- cmd = supports spop, rpush, lpush, lpop, rpop
- cacheKey = cache key
- content = value to push or pop
- @return
{string}JSON string from the server; parse the result node
function main() {
// String
let stringData = {
"cacheKey": "key1",
"cmd": "lpush",
"content": "aaa"
}
let popPushCachex = ecloud.popPushCache(stringData);
logd("popPushCachex {}", popPushCachex);
let data = ecloud.getCache({"cacheKey": "key1"});
logd("data {}", JSON.stringify(data));
}
main();