# HTTP 访问服务

HTTP 访问服务让开发者可以通过 HTTP 访问到自己的云开发资源。

从 3.4.0+ 版本,新增了 access 服务接口,你可以使用新增的接口,原 SDK 可以更换到新接口,或者继续使用旧的接口

TIP

以下所有接口添加于 3.4.0+ 版本

# 创建 HTTP 访问服务

# 1. 接口描述

接口功能:创建 HTTP 访问服务。

接口声明:async createAccess(options: ICreateAccessOptions): Promise<ICreateRes>

# 2. 输入参数

字段 必填 类型 说明
path String 访问路径,必须以 / 开头
name String 绑定的服务名称
type Number 绑定的服务类型,云函数:1,Serverless 云应用:2
auth Boolean 是否开启 HTTP 访问服务对应的路径的鉴权

# 3. 返回结果

字段 必填 类型 说明
RequestId String 请求唯一标识
APIId String HTTP 访问服务的 Id

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const app = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.createAccess({
    path: "/sum",
    type: 1,
    name: "sum"
  });
  const { APIId } = res;
  console.log(APIId);
}

test();

# 获取 HTTP 访问服务

# 1. 接口描述

接口功能:获取 HTTP 访问服务

接口声明:async getAccessList(options: IGetOptions): Promise<IGetRes>

# 2. 输入参数

字段 必填 类型 说明
path String 访问路径,必须以 / 开头
name String 绑定的服务名称
offset Number 查询 List 的偏移量
limit Number 每次查询返回的数据条数

# 3. 返回结果

字段 类型 说明
RequestId String 请求唯一标识
APISet Array<CloudBaseGWAPI> HTTP 访问服务列表
Total Number HTTP 访问服务服务的总量
EnableService Boolean 是否开启了 HTTP 访问服务

CloudBaseGWAPI

字段 类型 说明
APIId String APIId
Path String 自定义路径
Type Number service type ,云函数默认为 1
Name String 云函数名
CreateTime Number service 创建时间
EnvId String 环境 ID
EnableAuth Boolean HTTP 访问服务对应的路径是否开启鉴权

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.getAccessList();
  console.log(res);
}

test();

# 删除 HTTP 访问服务

# 1. 接口描述

接口功能:删除绑定的 HTTP 访问服务

接口声明:async deleteAccess(options: IDeleteOptions): Promise<IDeleteRes>

# 2. 输入参数

字段 必填 类型 说明
name String 绑定的服务名称
type String 绑定的服务类型,云函数:1,Serverless 云应用:2
apiId String HTTP 访问服务的 Id
path String HTTP 访问服务的访问路径

deleteAccess 接口支持三种删除条件:

  • 根据绑定的服务名删除,即使用 nametype 选项,将会删除此服务绑定的所有访问路径
  • 根据服务 Id 删除,即 apiId 选项
  • 根据访问路径,即 path 选项

# 3. 返回结果

字段 必填 类型 说明
RequestId String 请求唯一标识

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.deleteAccess({
    name: "sum"
  });
}

test();

# 切换 HTTP 访问服务鉴权

# 1. 接口描述

接口功能:切换 HTTP 访问服务鉴权,全局生效

接口声明:async switchAuth(auth: boolean): Promise<IUpdateRes>

# 2. 输入参数

字段 必填 类型 说明
auth Boolean 是否开启 HTTP 访问服务鉴权,true 开通,false 关闭

# 3. 返回结果

字段 必填 类型 说明
RequestId String 请求唯一标识

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.switchAuth(false);
  console.log("切换鉴权", res);
}

test();

# 切换 HTTP 访问服务路径鉴权

# 1. 接口描述

接口功能:切换 HTTP 访问服务路径鉴权,只针对单个路径生效

接口声明:async switchPathAuth(options: IUpdateOptions)

# 2. 输入参数

字段 必填 类型 说明
apiIds Array<String> HTTP 访问服务 Id 列表
auth Boolean 是否开通服务鉴权,true 开通,false 关闭

# 3. 返回结果

字段 必填 类型 说明
RequestId String 请求唯一标识

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.switchPathAuth({
    apiIds: ["xxxxx"],
    auth: false
  });
}

test();

# HTTP 访问服务添加自定义域名

# 1. 接口描述

接口功能:添加自定义域名

接口声明:async addCustomDomain(options: IDomainOptions): Promise<IAddRes>

绑定自定义域名时,请务必在您的自定义域名厂商处 配置 CNAME 域名解析

# 2. 输入参数

字段 必填 类型 说明
domain String 自定义域名
certId String 腾讯云 SSL 证书 Id,SSL 证书需要在调用账户下

# 3. 返回结果

字段 必填 类型 说明
RequestId String 请求唯一标识

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.addCustomDomain({
    domain: "xxx",
    certId: "xxx"
  });
}

test();

# 获取 HTTP 访问服务自定义域名列表

# 1. 接口描述

接口功能:获取自定义域名列表

接口声明:async getDomainList(): Promise<IDomainRes>

# 2. 输入参数

# 3. 返回结果

字段 类型 说明
RequestId String 请求唯一标识
DefaultDomain String HTTP 访问服务默认域名
EnableService Boolean 是否开启了 HTTP 访问服务
ServiceSet Array<IService> HTTP 访问服务域名列表

# IService

字段 类型 说明
Domain String 域名
OpenTime Number 开启时间
Status Number 绑定状态,1 绑定中;2 绑定失败;3 绑定成功

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.getDomainList();
}

test();

# HTTP 访问服务删除自定义域名

# 1. 接口描述

接口功能:删除自定义域名

接口声明:async deleteCustomDomain(domain: string): Promise<IDeleteRes>

# 2. 输入参数

字段 必填 类型 说明
domain String 自定义域名

# 3. 返回结果

字段 类型 说明
RequestId String 请求唯一标识

# 4. 示例代码

import CloudBase from "@cloudbase/manager-node";

const manager = new CloudBase({
  secretId: "Your SecretId",
  secretKey: "Your SecretKey",
  envId: "Your envId" // 云开发环境ID,可在腾讯云云开发控制台获取
});

async function test() {
  const res = await app.access.deleteCustomDomain("xxxx");
}

test();