上一主题: WS_API-Web 服务 API 应用

下一主题: 系统应用

WS_API_SAMPLE-Web 服务 API 示例应用

最新版本:1.0.1-1

只有 CA 3Tera AppLogic 2.9 正式版及后续版本才提供 Web 服务 API。

WS_API_SAMPLE 应用提供如何生成简单门户应用(此应用访问 CA 3Tera AppLogic Web 服务 API 应用,即 WS_API)的示例。 此应用用于为门户和应用的开发者提供指南,所述门户和应用向 CA 3Tera AppLogic 网格上运行的 WS_API 应用实例发出 Web API 请求。

CA 3Tera AppLogic Web 服务“WS_API_SAMPLE”应用边界属性

属性名

类型

说明

in_usr_ip

IP

这是用户可访问 WS_API_SAMPLE 门户的 IP 地址。 此属性是强制性属性。

net_out_ip

IP

这是 WS_API_SAMPLE 应用向 WS_API 应用发出基于 HTTP 或 HTTPS 的请求所使用的 IP 地址。 此属性是强制性属性。

vpn_out_ip

IP

这是 WS_API_SAMPLE 应用通过安全 VPN 通道向 WS_API 应用发出基于 HTTP 的请求所使用的 IP 地址。 此属性是强制性属性。

网络掩码

IP

vpn_out_ip、in_usr_ip 和 net_out_ip 所在网络的网络掩码。 此属性是强制性属性。

网关

IP

用于路由流量的 IP 网关的地址。 必须指定此属性才能访问 WS_API 应用。 此属性是强制性属性。

dns1

IP

用于主机名解析的 DNS 服务器的 IP 地址。 此属性是强制性属性。

dns2

IP

用于主机名解析的备份 DNS 服务器的 IP 地址。 默认值:0.0.0.0。

api_ports

字符串

可以访问 WS_API_SAMPLE 应用的端口的逗号分隔列表。 默认值:空

allowed_hosts

字符串

允许访问 WS_API_SAMPLE 的 CIDR 格式的 IP 地址或 IP 地址范围。 默认:0.0.0.0/0;(允许全部)

重要信息! vpn_out_ip、in_usr_ip 和 net_out_ip 属性中配置的 IP 地址必须是您的 CA 3Tera AppLogic 网格上可使用的 IP 地址。 您可能会在您的网格显示板上发现这些地址以及网络掩码、网关和 DNS 服务器。 我们正在努力使 CA 3Tera AppLogic 能自动提供这些地址。

应用资源

资源

最小值

最大值

默认值

CPU

0.45

72

1.05

内存

448 MB

132 GB

1.25 GB

带宽

6 Mbps

12 Gbps

1.51 G

应用卷

应用本身使用多个卷。 它们是应用的一部分且已配置到组件实例中。 应用边界没有需要配置的卷。

大小

说明

门户

50M

此卷用于存储示例应用的代码和脚本(以及应用需要的任何其他内容)。 此卷已分配给 NAS 组件。 默认情况下,提供名为“data”的填充卷给此应用使用。

vpn_key

65M

此卷用于存储应用的 vpn 密钥数据。 应将 WS_API 应用实例中的 VPN 组件所创建的 client.* 和 ca.crt 文件存储在此卷的客户端子目录中。

mon

50M

此卷用于存储应用的监控数据。 用户没有理由访问/修改此卷;此卷供 MON 组件内部使用。 默认情况下,提供名为“mon”的卷来存储应用监控数据。

操作

概览

需要对 WS_API_SAMPLE 应用进行配置,以访问运行在 CA 3Tera AppLogic 网格上的 WS_API 的实例。 在启动此应用之前,按如下说明启动 WS_API 应用的实例。 然后根据 WS_API 应用实例中设置的属性对 WS_API_SAMPLE 进行配置。

配置 WS_API_SAMPLE

  1. 编辑位于应用门户卷 bin 子目录中的门户脚本,并将脚本中的 IP 变量设置为:
  2. 将 IP 变量设置为 usr_ip,向 WS_API 应用发送基于 HTTP 或 HTTP 的请求,或将其设置为 aux,通过 VPN 通道发送基于 HTTP 的请求
  3. 编辑 VDC 信息,使其匹配 WS_API 应用上的 vdcs.conf。 E.g -
    # EDIT VDC info here
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="dallas">Dallas, TX, USA</option>
    <option value="sandiego">San Diego, CA, USA</option>
    <option value="japan">Tokyo, Japan</option>
    <option value="netherlands">Amsterdam, Netherlands</option>
    </select>
    </p>
    上面的内容应改为在 WS_API 应用中配置的 VDC。 如果 mygrid1 和 mygrid2 是分别在 Dallas 和 San Diego 运行的两个 VDC,则以上 HTML 代码应改为: 
    # EDIT VDC info here
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="mygrid1">Dallas, TX, USA</option>
    <option value="mygrid2">San Diego, CA, USA</option>
    </select>
    </p>
    

WS_API_SAMPLE 可配置为使其以下模式之一运行:

使用 HTTP

在此模式下,门户使用基于常规 HTTP 的接口向 WS_API 应用实例发送 API 请求。
例如,curl "http://usr_ip/api/v1/app/list?vdc=mygrid1"。

使用 HTTPS

在此模式下,门户使用基于安全 HTTP 的接口,即 HTTPS,向 WS_API 应用实例发出 API 请求。 要使用它,应将 api_client.pem 密钥复制到 WS_API_SAMPLE 应用门户卷的密钥子目录中。
例如,curl -k -E /mnt/fs/keys/api_client.pem "https://usr_ip/api/v1/app/list?vdc=mygrid1"。

使用 VPN 通道

在此模式下,门户使用基于常规 HTTP 的接口通过安全 VPN 通道向 WS_API 应用实例发送 API 请求。 要创建隧道,仅需要将 WS_API 应用实例 vpn_key 卷的 server 子目录中生成的 client.xxxxxxxxxxxxxxxxxxxxxxxxx.key, client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.crt 和 ca.crt 文件复制到 WS_API_SAMPLE 应用实例 vpn_key 卷的 client 子目录中。 一旦启动 out_vpn 组件就会创建安全通道。
例如,curl "http://aux/api/v1/app/list?vdc=mygrid1"。

要通过 Web 浏览器访问门户,将浏览器指向 http://in_usr_ip/api/portal

应用体系结构

CA 3Tera AppLogic Web 服务“WS_API_SAMPLE”应用基础架构显示如下:

它包括以下组件:

API 示例应用包

说明

使用的开源软件和第三方软件

下面的第三方开源软件已安装在门户卷上。

软件

版本

已修改

许可

说明

JSON

2.15

Artistic

N/A

IPC-Run

0.82

GPLv2

N/A

XML-Simple

1.40

Artistic

N/A

Sort-Naturally

1.02

Artistic

N/A