Fusio Api 之Action

fusio1年前 (2024)更新 admin
271 0

Action包含处理请求和生成响应的业务逻辑。Fusio 已包含许多用于常见任务的操作,例如执行数据库操作或将数据推送到消息队列。

官方这个张图片,演示的是Action代理github的api请求,然后App可以api获取github的返回值。

Fusio Api 之Action

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配置不好后面的操作都会操作不下去,所以这块要仔细的配置和测试。

© 版权声明

相关文章