社区/文章分享/微信云托管常见问题FAQ(一)

微信云托管常见问题FAQ(一)

Q1: 云托管的时间相差 8 个小时?

A:容器系统时间默认为 UTC 协调世界时间 (Universal Time Coordinated),与本地所属时区 CST (上海时间)相差 8 个小时:

在构建基础镜像或在基础镜像的基础上制作自定义镜像时,在 Dockerfile 中创建时区文件即可解决单一容器内时区不一致问题,且后续使用该镜像时,将不再受时区问题困扰。

1.打开 Dockerfile 文件。

2.写入以下内容,配置时区文件

FROM centos as centos  COPY --from=centos  /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone

3.重新构建容器镜像,使用新的镜像重新部署。或直接上传含新的 Dockerfile 的代码包重新部署。

Q2: 云托管的作用是什么?

A:代替服务器部署小程序/公众号后端。

Q3: 云托管能托管后端服务么?

A:云托管就是为开发者提供的云原生全托管的容器后端云服务,支持托管任意语言及框架的容器化应用。

Q4: 腾讯云和微信云托管有关系吗?云开发的云托管和微信云托管有什么区别?

A:微信云托管是整合了腾讯云底层资源和微信生态链路的综合解决方案。原云开发中的云托管独立出来,升级为微信云托管,补充数据库、ci/cd、灰度发布等更多完整后端功能和企业级 devops 能力。

Q5: 无法登录云托管控制台?

A:小程序测试号/试用号不支持,第三方快速创建的小程序需在小程序 mp 后台绑定手机号码后才可登录,快速创建的小程序可先前往“小程序助手”小程序设置登录邮箱和密码,设置完成后即可前往微信公众平台登录使用,具体可参考指引:https://kf.qq.com/touch/sappfaq/200617VbQzaa200617aq67ru.html

Q6: 部署失败,提示端口异常?

A:端口异常有两种可能:1. 程序启动正常,但填错端口,导致无法连接;2. 端口没填错,但是程序启动异常,导致无法连接。

Q7: 没有配置过扩缩容条件,为什么一直显示服务扩容中呢?

A:系统默认配置 cup 使用率>=60%的扩缩容条件,扩容中是触发了扩缩容条件,如需调整可前往「控制台-服务管理-服务设置-基础设置」中进行更改。

Q8: 云托管是否支持多个端口监听?

A:目前仅支持设置一个监听端口。为了更优的体验和性能,一个服务只建议包含一个进程,专注完成一件事。如果是多个进程,就拆成多个服务,这样每个服务应该都只需要一个端口,这样就使得服务可以更聚焦,且独立根据用量扩缩容。

Q9: 云托管的实例多久会释放?

A:实例最小值设置为 0 才会缩容到 0,30min 内无请求就会缩容到 0。

Q10: 如何让服务常驻运行?

A:将最小实例副本数设置为 1 即可,路径:服务管理-服务列表-服务设置-基础信息。

Q11: 云托管可接入腾讯云的消息队列 RabbitMQ 版吗?

A:可以的,保证在同一个 vpc 即可。

Q12: 开放接口服务的本地调试需要 cloudbase_access_token 吗?

A:本地调试请使用 VSCode 调试插件,会自动生成 cloudbase_access_token,详情

Q13: 小程序本地调试如何使用微信令牌?

A:小程序可参考文档使用 VSCode 插件进行本地调试,可以使用微信令牌和免鉴权能力:开放接口服务 | 微信开放文档

Q14: 云托管除了 MySQL 能否支持其他数据库?

A:使用其他数据库可以自行到腾讯云上购买,搭配云托管使用,买在和云托管同一个 VPC 下即可。(云托管 VPC 路径:控制台-设置-环境设置-网络)

Q15: 云托管的数据库密码在哪里查看?

A:微信云托管不会存储数据库密码,请妥善保管,如忘记重置密码即可。(如通过一键部署创建的数据库,账密也可前往微信服务通知查看)

Q16: 云托管怎么使用云开发的数据库?

A:云托管不可以直接使用云开发数据库,建议使用云托管自带的 MySQL 数据库;如果一定要使用云开发数据库,只有 node.js 语言,才可以使用官方 node-sdk 调用;其他语言的其他类型数据库暂无 SDK 支持;其他在腾讯云的云数据库必须和云托管环境在同一 VPC 下才可以使用。(云托管 VPC 路径:控制台-设置-环境设置-网络)

Q17: 云托管的数据库为何会自动暂停?

A:数据库默认 10min 内无读写自动暂停,如需取消暂停可前往数据库中关闭自动暂停。

Q18: 云托管数据库的表结构是否会初始化?

A:系统不会对数据库做任何操作。

Q19: 云托管的数据库多久不用会被注销?

A:不会主动注销,除非是用户自己主动注销,或者是账号欠费 7 天后停服。

Q20: callContainer 对于回包的大小有限制?

A:返回包大小限制 1000k。

Q21: 调用云托管服务失败,提示服务名不存在?

A:服务名不存在,可能有如下几种情况:

  • 服务名填写错误,环境中不存在此服务;
  • 环境 id 填写错误,填错的环境中不存在此服务;
  • 在没有和对应的云托管环境绑定的小程序中调用了服务。环境绑定小程序 A 但是在小程序 B 中调用;
  • 服务已被删除。

Q22: 公众号的事件推送到云托管,为什么没有 unionid?

A:需要公众号绑定 open 账号,请求的 headers 会带上 x-wx-unionid。

Q23: 配置云托管消息推送-path 值怎样填?

A:服务下哪个接口接收即写该接口在服务内的路径即可,比如根路径填写 /。

Q24: 使用云托管,公众号怎么绑定服务配置?可以直接访问云托管给的外网网址来访问服务?

A:不需要再填写服务器配置,可直接使用微信开放能力 -「开放接口服务」,另,公众号内更推荐用 callcontainer 调用而不是直接公网访问服务。

Q25: 云托管是否是固定出口 IP?

A:不是,出口入口 IP 都不固定,固定 IP 后续作为付费能力开放。

Q26: 云托管如果被 DDoS 会不会扣钱?

A:这里会存在两种情况:

1.通过调用 callcontainer+关闭公网访问的模式,可以彻底防止被 DDoS;

2.如果用户自己开放了公网访问引来了 DDoS,还是会产生费用的。

Q27: 免费额度到期或者使用完了如何购买资源?

A:免费额度到期或使用完后,将按实际用量计费,如需购买资源包,可前往「云托管控制台-资源监控-资源使用-资源包」选购合适的资源包。

Q28: 资源包能否增加时长?

A:时长不能叠加,只能叠加用量。

Q29: 不小心开通了云托管环境,没有创建服务,会扣费么?

A:不会。没有实例运行不会产生费用。