Action包含处理请求和生成响应的业务逻辑。Fusio 已包含许多用于常见任务的操作,例如执行数据库操作或将数据推送到消息队列。
官方这个张图片,演示的是Action代理github的api请求,然后App可以api获取github的返回值。

Name:操作的名称。
Class:Action的 类。除了选择操作外,您还可以使用 edit(铅笔)按钮输入自定义操作类。有关开发自定义操作的更多信息,请访问官方的开发自定义操作页面。
Class可选的类如下:
0: Fusio.Adapter.Amqp.Action.AmqpPublish Class:AMQP-Publish
# 将数据推送到与AMQP兼容的消息队列中,如RabbitMQ。
1: Fusio.Adapter.Beanstalk.Action.BeanstalkPublish Class:Beanstalk-Publish
# 将数据推送到Beanstalkd队列中。
2: Fusio.Adapter.Cli.Action.CliProcessor Class:CLI-Processor
# CLI处理器执行配置的CLI命令并返回响应。
3: Fusio.Adapter.Fcgi.Action.FcgiProcessor Class:FastCGI-Processor
# 调用 FastCGI 服务器的配置脚本。
4: Fusio.Adapter.File.Action.FileDirectoryGet Class:File-Directory-Get
# 返回单个文件的详细信息
5: Fusio.Adapter.File.Action.FileDirectoryGetAll Class:File-Directory-GetAll
# 返回指定目录的所有文件信息
6: Fusio.Adapter.File.Action.FileProcessor Class:File-Processor
# 文件处理器只是读取特定的静态文件并返回文件内容。
7: Fusio.Adapter.GraphQL.Action.GraphQLProcessor Class:GraphQL-Processor
# 将查询代理到远程GraphQL服务器并返回响应。通过这种方式,可以通过Fusio公开GraphQL服务器。
8: Fusio.Adapter.GraphQL.Action.GraphQLQuery Class:GraphQL-Query
# 执行特定的GraphQL查询并返回响应。
9: Fusio.Adapter.Http.Action.HttpComposition Class:HTTP-Composition
# 调用多个URL并将每个URL的响应作为组合响应返回。有助于提高性能,客户端只需请求单个api。
10: Fusio.Adapter.Http.Action.HttpLoadBalancer Class:HTTP-Load-Balancer
# 随机调用其中一个已配置的URL来实现负载平衡。
11: Fusio.Adapter.Http.Action.HttpProcessor Class:HTTP-Processor
# HTTP处理器提供HTTP代理功能,将来自api的传入请求重定向到另一个API。
12: Fusio.Adapter.Http.Action.HttpRaw Class:HTTP-Raw
# HTTP-Raw Raw是一种原始的请求体格式,可以用来发送任意类型的数据,如文本、二进制数据等。
13: Fusio.Adapter.Php.Action.PhpProcessor Class:PHP-Processor
# PHP处理器执行PHP文件。还有一个完整的API文档,描述所有可用对象。
14: Fusio.Adapter.Php.Action.PhpSandbox Class:PHP-Sandbox
# 沙盒操作提供了一种编写PHP代码的简单方法,该代码可直接在服务器上执行。可以快速构建api原型。
15: Fusio.Adapter.Redis.Action.RedisHashDelete Class:Redis-Hash-Delete
# 在Redis中删除特定键中的字段。
16: Fusio.Adapter.Redis.Action.RedisHashGet Class:Redis-Hash-Get
# 返回Redis特定字段的值。
17: Fusio.Adapter.Redis.Action.RedisHashGetAll Class:Redis-Hash-GetAll
# 返回Redis配置键的所有字段。
18: Fusio.Adapter.Redis.Action.RedisHashSet Class:Redis-Hash-Set
# Redis将值赋给指定字段。
19: Fusio.Adapter.Smtp.Action.SmtpSend Class:SMTP-Send
# 向提供的地址发送邮件。(重置密码等操作)
20: Fusio.Adapter.Sql.Action.SqlBuilder Class:SQL-Builder
# 通过SQL构建器操作,您可以使用JSON符号创建复杂的嵌套查询。
21: Fusio.Adapter.Sql.Action.SqlDelete Class:SQL-Delete
# 按id删除一行记录。此操作可以绑定到Operation,即其中URI参数可用。
22: Fusio.Adapter.Sql.Action.SqlInsert Class:SQL-Insert
# 向数据库中插入一行记录。此操作可以绑定到Operation,即其中body参数可用。
23: Fusio.Adapter.Sql.Action.Query.SqlQueryAll Class:SQL-Query-All
# 通过SQL-query-all操作,可以编写任意SQL查询,该查询值作为响应返回。
24: Fusio.Adapter.Sql.Action.Query.SqlQueryRow Class:SQL-Query-Row
# 通过SQL-query-row 操作,可以编写任意SQL查询,该查询值作为响应返回。
25: Fusio.Adapter.Sql.Action.SqlSelectAll Class:SQL-Select-All
# 通过SQLSelectAll操作,选择Connection和表名就能获得表内的所有数据,不需要编写任何SQL。
26: Fusio.Adapter.Sql.Action.SqlSelectRow Class:SQL-Select-Row
# 通过SQL-Select-Row操作,选择Connection和表名就能查询表中的第一行,不需要编写任何SQL。
27: Fusio.Adapter.Sql.Action.SqlUpdate Class:SQL-Update
# 更新指定表上的特定条目。您应该将此操作绑定到Operation,不需要编写任何SQL。
28: Fusio.Adapter.Util.Action.UtilABTest Class:Util-A/B-Test
# 在此操作中,您可以配置两个操作A和B。根据提供的分配调用这些操作。
# distribution:50表示有50%的机会调用操作 A 或 B。distribution:80表示有80%的机会调用操作 A
29: Fusio.Adapter.Util.Action.UtilCache Class:Util-Cache
# 此操作会缓存已配置操作的响应,以便后续请求不会调用已配置操作,而只会获取缓存的响应。
# 这对于执行复杂 SQL 查询的操作非常有用。
30: Fusio.Adapter.Util.Action.UtilChain Class:Util-Chain
# 此操作允许执行多个操作,并且仅返回最后一个操作的响应。
31: Fusio.Adapter.Util.Action.UtilCondition Class:Util-Condition
# 此操作允许评估条件并根据结果执行另一个操作
32: Fusio.Adapter.Util.Action.UtilDispatchEvent Class:Util-Dispatch-Event
# 此操作将有效负载调度到已配置的事件。
33: Fusio.Adapter.Util.Action.UtilJsonPatch Class:Util-JSON-Patch
# 将JSON-Patch操作应用于请求或响应负载。即与HTTP-Processor操作结合使用,更改远程API的响应。
34: Fusio.Adapter.Util.Action.UtilRedirect Class:Util-Redirect
# 向特定位置发出 HTTP 重定向的操作。
35: Fusio.Adapter.Util.Action.UtilStaticResponse Class:Util-Static-Response
# 返回静态JSON响应。
36: Fusio.Adapter.Worker.Action.WorkerJava Class:Worker-Java
# Worker-Java 在远程 worker 上执行提供的 Groovy/Java 代码。
37: Fusio.Adapter.Worker.Action.WorkerJavascript Class:Worker-Javascript
# Worker-Java 在远程 worker 上执行提供的 Javascript 代码。
38: Fusio.Adapter.Worker.Action.WorkerPHP Class:Worker-PHP
# Worker-PHP 在远程 worker 上执行提供的 PHP 代码。
39: Fusio.Adapter.Worker.Action.WorkerPHPLocal Class:Worker-PHP-Local
# Worker-PHP-Local 在本地服务器上执行提供的 PHP 代码。
40: Fusio.Adapter.Worker.Action.WorkerPython Class:Worker-Python
# Worker-Python 在远程服务器中执行提供的 Python 代码。
选择不同的Class,下面的配置字段和配置方法各不相同,很简单,后面我都会一一讲解。
就目前来说,我觉得Action是fusio的核心吧,Action配置不好后面的操作都会操作不下去,所以这块要仔细的配置和测试。
© 版权声明
文章版权归作者所有,未经允许请勿转载。