MemFire Cloud为所有的数据表提供自动即时的API,我们可以通过Postman工具调用API来访问云数据库中数据表的数据。

前置条件

① 注册MemFire Cloud账号;

② 存在已创建好的应用;

操作步骤

1.创建数据表,插入数据

我的应用管理页面,点击具体应用,进入应用详情页面,点击左侧菜单栏“SQL执行器”,创建新查询,执行如下SQL命令。

SQL语法如下:

  CREATE TABLE employees (
    employee_no integer PRIMARY KEY,
    name text UNIQUE,
    department text NOT NULL
);
INSERT INTO employees 
VALUES 
(1, 'lining', 'Marketing'),
(2, 'lisan', 'Sales'),
(3, 'zhangqi', 'Operations'); 
  

2.使用API文档

点击左侧菜单栏“API文档”,在“表和视图”里,选中所有数据表中的“employees”,右侧点击"Bash"栏,应用API key选择“anon(public)”, 则可以查看该数据表的专属API接口文档。

3.访问数据

接下来读取该数据表“employees"中所有的行。

1.首先,我们在拖动文档滚动条,找到该操作的命令,如下图所示。我们可以直接获取到命令的URL信息、apikey和Authorization。

2.打开Postman工具,新建一个请求窗口,复制url并将其粘贴到请求里,请求方式选择GET,查询参数是“*”(查询全部)。配置请求Headers,将apikey和Authorization配置到请求头里面。完成配置后,点击“Send”按钮,即可获得返回结果。

4.插入数据

接下来插入数据到数据表“employees"中。

1.首先,拖动文档滚动条,找到插入数据的API命令,如下图所示。可以获取到命令的URL信息、apikey和Authorization。

  1. 在Postman工具,新建一个请求窗口,请求方式选择POST,复制url并将其粘贴到请求里,配置Headers。同时在Body里面配置需要插入的数据。

3.点击“Send”按钮,返回状态码201,插入数据操作成功。

4.执行第3小节访问数据操作,即可看到新插入的数据。

5.设置RLS, 访问数据

数据表里的RLS默认是不开启的,此时注册应用的用户是可以增删改查数据表中任何数据。接下来展示如何采用RLS来设置表的访问权限,允许经过身份验证的用户来访问数据表。

1.在用户认证->策略页面,选中数据表“employees",点击“启用RLS”按钮后,即可开启该数据库的RLS规则。允许经过身份验证的用户进行数据插入访问数据表。

2.接下来,给表设置访问规则,只允许经过身份验证的用户才能去插入数据。这只是其中一种规则,具体规则还得根据大家的业务需求规定。

(1)只允许经过身份验证的用户才能去插入数据。

(2)允许所有用户访问数据表。

SQL语法:

  CREATE POLICY "Enable insert for authenticated users only" ON "public"."employees"
AS PERMISSIVE FOR INSERT
TO authenticated
WITH CHECK (true)

CREATE POLICY "Enable read access for all users" ON "public"."employees"
AS PERMISSIVE FOR SELECT
TO public
USING (true)
  

创建规则成功后,显示结果如下:

3.设置完成权限后,此时第4小节中插入数据将无法成功,提示如下。

4.创建一个用户,在认证管理->用户页面,点击“邀请”按钮,输入你的邮箱地址,点击“邀请”按钮。则该邀请邮箱中会收到一份注册邀请邮件.

5.登录邮箱接受注册邀请,可以拿到用户token,这说明该用户已经认证通过。

点击邮件中的邀请链接,在浏览器新页面中打开,可以从邀请链接中获取该用户的token。

6.打开Postman,执行打开上一步的插入数据请求窗口,将Authorization 的内容换成该用户的token。

7.配置apikey、Perfer、Content-type参数。

8.配置Body,准备一条即将插入的数据,点击“Send”按钮,返回状态码201,插入数据操作成功。