包含数据操作的 Google Cloud 函数示例

注意: 本文适用于与 Google Cloud Functions 配合使用时的 Google 数据操作集成。

以下内容包括一个示例 Google Cloud Function 和一个执行该函数的数据操作。 您可以将该功能添加到您的 Google Cloud Platform 项目中,然后将数据操作导入 Genesys Cloud 组织中,以便与 Google 数据操作集成一起使用。

有关更多信息,请参阅 Google Cloud 函数的 设置。 

示例谷歌云功能

以下代码是用 JavaScript 编写的 Google Cloud Function。复制此代码可在您的 Google Cloud Platform 项目中创建函数。确保你设置了 Google Cloud Platform 来处理函数,并且函数返回的响应是application/json对于内容类型。有关详细信息,请参阅For more information, see配置 Google Cloud Platform

/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.testAction = (req, res) => {
    if (req.body.inputNumber1 <=0 || req.body.inputNumber2 <= 0) {
        res.status(400).send( { error: 'Inputs must be greater than zero' } );
    } else {
        let response = createResponse(req);
        res.status(200).send(response);
    }
};
 
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
*/
function createResponse(req) {
   
    var response = {};
    response.sumOfNumber1AndNumber2 = req.body.inputNumber1 + req.body.inputNumber2;
    return response;
}

示例数据操作

以下 JSON 用于执行示例函数的数据操作。 您可以下载 JSON 的压缩版本以导入到数据操作中: 测试云函数数据操作 (.zip)。 有关更多信息,请参阅为集成 创建自定义操作导入或导出用于集成的数据操作

requestURLTemplate 是触发器网址,其中包括函数位置 (us-central1)、项目名称 (b usinesscallingapi) 和函数名称 (function-test-action),格式为 https://{location-of-function} {项目拥有函数}/{function-name} 。 有关更多信息,请参阅向自定义操作 添加配置以进行集成

{
  "name": "Test-Cloud-Function-Math-Example - Exported 2020-07-28 @ 11:06",
  "integrationType": "google-cloud-data-actions",
  "actionType": "custom",
  "config": {
    "request": {
      "requestUrlTemplate": "https://us-central1-businesscallingapi.cloudfunctions.net/function-test-action-math-example",
      "requestType": "POST",
      "headers": {}
    },
    "response": {
      "translationMap": {},
      "translationMapDefaults": {},
      "successTemplate": "${rawResult}"
    }
  },
  "contract": {
    "input": {
      "inputSchema": {
        "title": "sum-input",
        "type": "object",
        "properties": {
          "inputNumber1": {
            "type": "number"
          },
          "inputNumber2": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "output": {
      "successSchema": {
        "title": "sum-response",
        "type": "object",
        "properties": {
          "sumOfNumber1AndNumber2": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "secure": false
}

测试数据操作以确保执行数据操作时没有错误。 有关更多信息,请参阅 测试集成的数据操作

有关更多信息,请参阅关于 Google 数据操作集成