HTTP 访问服务
HTTP 访问服务让开发者可以通过 HTTP 访问到自己的云开发资源。
从 3.4.0+ 版本,新增了 access 服务接口,你可以使用新增的接口,原 SDK 可以更换到新接口,或者继续使用旧的接口。
以下所有接口添加于 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 接口支持三种删除条件:
- 根据绑定的服务名删除,即使用
name和type选项,将会删除此服务绑定的所有访问路径 - 根据服务 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();