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();