[译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录(1)
创始人
2025-01-19 15:02:48
0次
  • 原文地址:How to connect Stackdriver to your smart home server for error logging
  • 原文作者:Nick Felker
  • 译文出自:掘金翻译计划
  • 本文永久链接:github.com/xitu/gold-m…
  • 译者:Starriers

当你的智能家居设备与 Google Assistant 集成时,你可能会遇到以下错误:“无法更新设置,请检查你的连接。”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Google Assistant 设置中报告的常见错误

这个错误可能源于账号连接和 SYNC 同步过程的许多原因。

为了更好地了解这些错误,你可以使用 Stackdriver,Google Cloud 的日志系统。当账户连接或随后的 SYNC 事件发生错误时,它会自动记录错误并向你提供信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可能来自堆栈驱动程序的错误报告消息的屏幕截图

你收到的日志会自动清除并移除任何个人可识别信息(PII),而且不会包含详细的追踪。

启动时,你可以导航到项目的 Google Cloud 控制台,在抽屉导航的 Stackdriver 部分中选择 Logging 选项:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

你可以通过 Google Assistant Action > All version_id 来查看专门为你的智能家居实现而出现的错误:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

尽管很方便,但必须转到单独的页面去查看错误可能不适合你的开发流,而且它可能不会为你提供易于访问的数据,例如,包含在每周统计报表中的数据。让我们看看如何将你的日志从 Stackdriver 导出到你的基础设施中,让你在这些数据之上构建额外的集成。

使用 Stackdriver,你可以设置包含带有特定过滤器的日志接收装置。这个接收装置中的日志可以通过 Cloud 发布/订阅发送到你拥有的端点。

域名验证

在将消息推送到端点之前,你需要验证你自己的域名。你可以通过 Google Cloud 控制台的 APIs & Services 部分进行注册。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 Credentials > Domain Verification 下,添加一个域名。在添加完你自己的域名之后,你将被带到 Google 搜索控制。在继续操作之前,按照说明完成对你完整的验证:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置发布/订阅

使用Google Cloud 发布/订阅,你可以静任务配置为在某些事件上运行,例如,当新日志出现在 Stackdriver 中时,通过添加过滤器你可以限制触发事件的日志类型。你也可以配置服务器端点来订阅这些事件。

要开始导出 SYNC 错误,请输入过滤器 “text:SYNC”,点击 CREATE EXPORT 按钮。在这里,你可以创建一个连接到 Google Cloud 发布/订阅的主题接收器。这将是你能够在每次出现日志条目时处理事件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在抽屉导航中,打开发布/订阅概述,创建一个新的订阅:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里,你可以新建一个订阅。对于交付类型,输入用于接收订阅的的 URL。为了进行验证域名验证,你必须拥有自己的服务器:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在你的服务器上,为了接受端点,你需要添加一个处理器。在这个示例中,它是 /alerts/stackdriver。这是你服务器上的一个钩子。Cloud 发布/订阅会向 URL 发送一个在请求体重包含日志数据的 POST 请求。下面的代码片段显示了使用 Node.js 的实现:

app.post(‘/alerts/stackdriver’, (req, res) => {
console.log(‘post stackdriver called’, req.body);
res.status(204).send(‘success’);
if (!!req.body.message && !!req.body.message.data) {
const data = Buffer.from(req.body.message.data, ‘base64’)
.toString(‘utf8’);
console.log('data: ', data);
// optionally use regexp here to find request id and failure reason
}
});

我们现在可以测试这个发布/订阅主题是否有效。在你的智能家居集成中,设置你的 SYNC 回复返回一个无效的设备类型,例如 LART。以下代码片段是这个响应示例:

const app = smarthome();
app.onSync(body => {
return {
requestId: body.requestId,
payload: {
agentUserId: ‘123’,
devices: [{

最后

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
droid学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!**

相关内容

热门资讯

每日必备透视挂!微信微乐辅助免... 每日必备透视挂!微信微乐辅助免费,小程序微乐辅助器免费版-一直真的是有辅助器1、点击下载安装,微信微...
实测揭晓辅助!微信小程序微乐辅... 您好,微信小程序微乐辅助器教程这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
1.9分钟了解透视挂!微信小程... 1.9分钟了解透视挂!微信小程序微乐辅助器教程,微信微乐挂有没有-一贯存在有辅助软件1、不需要AI权...
发现一款辅助!微信微乐辅助免费... 发现一款辅助!微信微乐辅助免费,微乐兰州麻将小程序辅助-确实是真的有辅助挂1、许多玩家不知道微信微乐...
重大来袭开挂!微乐小程序辅助工... 重大来袭开挂!微乐小程序辅助工具,微信微乐小程序辅助软件-好像真的有辅助app1)微乐小程序辅助工具...
玩家必备科技辅助!微信微乐小程... 玩家必备科技辅助!微信微乐小程序游戏辅助脚本,微乐山西威信小程序-总是是有辅助神器微信微乐小程序游戏...
盘点几款透视挂!小程序微乐游戏... 盘点几款透视挂!小程序微乐游戏辅助器,微乐小程序脚本-其实有辅助技巧1.小程序微乐游戏辅助器 选牌创...
分辨真假辅助!微乐小程序开挂黑... 分辨真假辅助!微乐小程序开挂黑科技,微信小程序微乐修改器-都是存在有辅助教程1、不需要AI权限,帮助...
查到实测透视挂!微信小程序微乐... 查到实测透视挂!微信小程序微乐辅助器,小程序跑得快的技巧-原来真的是有辅助教程1、超多福利:超高返利...
关于透视挂!微信小程序微乐辅助... 关于透视挂!微信小程序微乐辅助器,微乐自建房黑科技辅助工具下载-真是是有辅助技巧该软件可以轻松地帮助...