功能概述
全局服务是一种支持外部服务调用的功能,您可以通过配置服务接口来新增全局服务。在系统中,"FAQ问答"和"多轮对话"都支持直接引用全局服务,以便获取外部服务提供的信息或功能。
注意:一旦某个全局服务被引用,需要先解除引用后才能删除该服务。
新建服务
名称和类型
要新建一个服务,您需要确定服务名称和服务类型。服务类型通常可以包括以下选项:HTTP服务、函数计算和短信服务。
服务名称:服务名称是您为服务指定的名称,您可以根据您的需求确定一个合适的服务名称。
服务类型:
HTTP服务:HTTP 服务是一种基于 HTTP 协议提供接口服务的形式。用户可以通过 HTTP 请求访问这些接口,传递参数并获取相应的响应结果。
函数计算:函数计算是一种事件驱动的无服务器计算服务。它以函数为单位来执行代码,根据事件触发自动调用函数。用户只需编写代码并上传到平台,无需管理底层的服务器资源。
短信服务:短信服务是一种提供短信发送和接收功能的服务。它允许用户通过 API 或控制台发送短信消息到手机,并接收来自手机的短信回复。
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7505167961/p727574.png)
调用方式设置
在服务调用方式设置中,您可以选择同步或异步的方式,并设定调用服务的超时时间。
服务调用方式:
同步方式:当选择同步方式时,服务调用会在发起后等待服务执行完成,并获取到服务执行结果后再返回给调用方。这意味着调用方需要阻塞等待服务的响应,直到获取结果后才能继续进行后续操作。
异步方式:选择异步方式时,服务调用会立即触发并返回给调用方,无需等待服务执行完成。调用方可以在服务调用后立即进行其他操作,而不需要等待服务的响应。通常,在长时间运行的服务、批量处理或需要后台处理的场景中使用异步方式更为常见。
服务超时时间:
超时时间:您可以设定服务调用的超时时间,即等待服务响应或执行完成的最长时间。如果服务在超时时间内无法返回结果,系统会返回一个超时信息给调用方。超时时间的设定应根据具体的业务需求和服务的执行时间而定。
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7505167961/p727947.png)
接收参数设置
设置服务接收参数时,您可以按照以下方式进行:
参数名:为每个需要接收的参数指定一个唯一的参数名。参数名是用来标识和引用该参数的标识符。例如,参数名可以是"username"、"email"、"message"等。
备注用途:对每个参数,可以提供备注或描述,用来说明该参数的用途和作用。备注用途可以帮助其他人理解该参数的含义和正确使用方式。例如,对于参数名为"username"的参数,备注用途可以写为"用户的用户名";对于参数名为"email"的参数,备注用途可以写为"用户的电子邮件地址"。
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7505167961/p727940.png)
功能配置
在进行功能配置时,您可以设置服务接口和接口入参,以定义服务的接口类型和接收参数的方式。
服务接口:服务接口指定了客户端与服务进行通信的方式。常见的服务接口包括GET和POST以及 Body 参数(仅在 POST 接口中使用)。
GET:使用GET接口时,客户端通过HTTP的GET请求与服务进行通信。GET请求通常用于从服务获取数据,参数会通过URL的查询字符串进行传递。
POST:使用POST接口时,客户端通过HTTP的POST请求与服务进行通信。POST请求通常用于向服务提交数据,参数可以通过请求体或表单字段进行传递。
接口入参:接口入参指定了客户端向服务发送请求时所携带的参数,并规定了参数的传递方式。常见的接口入参包括Query和Header。
Query:使用Query方式时,参数会作为URL的查询字符串的一部分附加在请求URL中,按照键值对的形式传递给服务。例如:
http://example.com/api?param1=value1¶m2=value2
Header:使用Header方式时,参数会作为HTTP请求的头部信息进行传递。客户端在发送请求时,将参数添加到请求的头部中,服务在接收请求时可以从头部中提取参数值。
Body 参数:仅在 POST 接口中使用,通过请求体传递给接口。Body 参数通常用于传递复杂的结构化数据,如 JSON 或 XML 格式的数据。请求体中可以包含多个参数,具体的参数格式和内容取决于接口的设计。
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7505167961/p728185.png)
返回参数设置
返回参数是指接口在处理完请求后,向调用方返回的结果数据。也称为响应参数或输出参数。
在设置服务的返回参数时,可以指定编码格式和结果的数据类型,同时可以使用变量来引用和获取接口返回结果中的特定字段。
以下是对返回参数的设置和使用方法:
编码格式:确保接口返回结果使用 UTF-8 编码,以支持处理多种字符集和特殊字符。
数据类型:指定返回结果的数据类型为 string,以确保结果以字符串的形式返回。
引用返回结果:使用变量来引用返回结果中的特定字段。例如,
${serviceOutput}
表示将整个接口返回结果赋值给result
参数,供使用该服务的模块访问。如果返回结果是一个 JSON 结构,可以使用${serviceOutput.name}
来获取其中的name
字段的值。
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/9780259961/p728385.png)
签名认证
在全局服务中,签名认证是一种安全机制,用于验证请求的合法性和身份。通过签名认证,可以确保请求来自于合法的发送方,并防止请求被篡改或重放攻击。
查看具体内容请参考:签名计算使用指引
![image.png](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/6505167961/p727941.png)