操作场景
PostgreSQL for Serverless(ServerlessDB)是一款基于 PostgreSQL 数据库实现的按需分配资源的数据库产品,其数据库将根据您的实际请求数来自动分配资源。PostgreSQL for Serverless 仅需创建实例,即可正常使用,您无需关心数据库实例规格,仅需要在数据库处于活动状态期间按照实际用量进行付费,不需要为数据库的闲时进行付费。详情请参见 ServerlessDB 文档。
通过 PostgreSQL ServerlessDB 组件,您可以快速方便地创建、配置和管理腾讯云的 PostgreSQL 实例。ServerlessDB 的特性介绍如下:
按需付费:按照请求的使用量进行收费,没有请求时无需付费。
“0”配置:默认配置将由 Serverless 完成。
极速部署:仅需几秒,创建或更新您的数据库。
便捷协作:通过云端数据库的状态信息和部署日志,方便进行多人协作开发。
操作步骤
安装
配置
创建并进入一个全新目录:
mkdir tencent-postgreSQL && cd tencent-postgreSQL
在新目录创建
serverless.yml
文件:touch serverless.yml
touch serverless.yml
echo. > serverless.yml
在
serverless.yml
中进行如下配置:# serverless.ymlcomponent: postgresql #(必填) 引用 component 的名称,当前用到的是 postgresql 组件name: serverlessDB # (必填) 该 postgresql 组件创建的实例名称org: test # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appidapp: serverlessDB # (可选) 该 sql 应用名称stage: dev # (可选) 用于区分环境信息,默认值是 devinputs:region: ap-shanghai # 可选 ap-shanghai, ap-beijingzone: ap-shanghai-2 # 可选 ap-shanghai-2, ap-beijing-3dBInstanceName: serverlessDBvpcConfig:vpcId: vpc-xxxxxxxsubnetId: subnet-xxxxxxextranetAccess: false
PostgreSQL 组件支持 0 配置部署,您可以直接通过配置文件中的默认值进行部署。您依然可以修改更多可选配置来进一步开发该项目。
注意:
当前 PGSQL for Serverless 仅支持北京三区,上海二区两个地域的创建和部署,因此在填写 yaml 中的地域可用区时需要注意填写为正确的地域和对应的 VPC 子网信息。
部署
通过
scf
命令进行部署,并可以添加--debug
参数查看部署过程中的信息:说明:
serverless-cloud-framework 命令的简写为 scf。
scf deploy
移除
执行以下命令移除部署的服务:
仅删除云函数相关的配置、代码。
关联的其他云资源(如 COS、CLS 等),平台均不会关联删除,您可以前往对应产品控制台删除,避免不必要的计费。
scf remove
账号配置(可选)
本地创建
.env
文件:touch .env # 腾讯云的配置信息
在
.env
文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存:# .envTENCENT_SECRET_ID=123TENCENT_SECRET_KEY=123
实践教程
配置详情
完整配置
# serverless.ymlcomponent: postgresql # (必填) 组件名称,此处为 postgresqlname: serverlessDB # (必填) 实例名称org: test # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appidapp: serverlessDB # (可选) 该应用名称stage: dev # (可选) 用于区分环境信息,默认值为 devinputs:region: ap-guangzhou # 可选 ap-guangzhou, ap-shanghai, ap-beijingzone: ap-guangzhou-2 # 可选 ap-guangzhou-2, ap-shanghai-2, ap-beijing-3dBInstanceName: serverlessDBprojectId: 0dBVersion: 10.4dBCharset: UTF8vpcConfig:vpcId: vpc-123subnetId: subnet-123extranetAccess: false
配置说明
主要参数说明如下:
参数 | 必填/可选 | 类型 | 默认值 | 描述 |
region | 必填 | String | - | 数据库的所属地区 |
zone | 必填 | String | - | 数据库所在地区的区域 |
dBInstanceName | 必填 | String | - | 数据库实例名称,对于用户必须唯一 |
dBVersion | 可选 | string | 10.4 | PostgreSQL 版本号,目前支持:10.4 |
dBCharset | 可选 | String | UTF8 | 数据库的字符集编码 |
projectId | 可选 | Integer | 0 | 项目的 ID |
vpcConfig.vpcId | 必填 | String | - | VPC 的 ID |
vpcConfig.subnetId | 可选 | String | - | Subnet 的 ID |
extranetAccess | 可选 | Boolean | false | 是否开启 serverlessDB 实例外网访问 |
注意:
部署时,若出现 “Unavailable Zone or SOLD OUT” 的错误提示,则代表该区域暂不可用或售罄,请您更换至其他地区,并选择该地区下的区域。