自由的羽毛 发表于 2024-6-14 12:28:34

[译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录

这个错误可能源于账号连接和 SYNC 同步过程的许多原因。
为了更好地了解这些错误,你可以利用 Stackdriver,Google Cloud 的日志体系。当账户连接或随后的 SYNC 变乱发生错误时,它会自动记录错误并向你提供信息。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c263fd11707%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-uq7CR5l8-1715884485080
可能来自堆栈驱动步伐的错误陈诉消息的屏幕截图
你收到的日志会自动扫除并移除任何个人可识别信息(PII),而且不会包罗具体的追踪。
启动时,你可以导航到项目标 Google Cloud 控制台,在抽屉导航的 Stackdriver 部分中选择 Logging 选项:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c2646758d93%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-BsuEt172-1715884485083
你可以通过 Google Assistant Action > All version_id 来查察专门为你的智能家居实现而出现的错误:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c26459289e1%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-yFUpbOi3-1715884485085
尽管很方便,但必须转到单独的页面去查察错误可能不得当你的开发流,而且它可能不会为你提供易于访问的数据,例如,包罗在每周统计报表中的数据。让我们看看如何将你的日志从 Stackdriver 导出到你的基础设施中,让你在这些数据之上构建额外的集成。
利用 Stackdriver,你可以设置包罗带有特定过滤器的日志吸收装置。这个吸收装置中的日志可以通过 Cloud 发布/订阅发送到你拥有的端点。
域名验证

在将消息推送到端点之前,你需要验证你自己的域名。你可以通过 Google Cloud 控制台的 APIs & Services 部分进行注册。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c264d5cba0c%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-nxUjJz2h-1715884485087
在 Credentials > Domain Verification 下,添加一个域名。在添加完你自己的域名之后,你将被带到 Google 搜刮控制。在继续操纵之前,按照阐明完成对你完整的验证:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c2643cdf055%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-9Fs4vkxr-1715884485090
配置发布/订阅

利用Google Cloud 发布/订阅,你可以静任务配置为在某些变乱上运行,例如,当新日志出如今 Stackdriver 中时,通过添加过滤器你可以限制触发变乱的日志类型。你也可以配置服务器端点来订阅这些变乱。
要开始导出 SYNC 错误,请输入过滤器 “text:SYNC”,点击 CREATE EXPORT 按钮。在这里,你可以创建一个连接到 Google Cloud 发布/订阅的主题吸收器。这将是你能够在每次出现日志条目时处理变乱:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c270246385e%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-PEGPno7U-1715884485091
在抽屉导航中,打开发布/订阅概述,创建一个新的订阅:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c270b8ba257%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-mhMQw9U9-1715884485110
这里,你可以新建一个订阅。对于交付类型,输入用于吸收订阅的的 URL。为了进行验证域名验证,你必须拥有自己的服务器:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c27165b6a47%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-LUfiIh72-1715884485112
在你的服务器上,为了担当端点,你需要添加一个处理器。在这个示例中,它是 /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: [{
type: ‘action.devices.types.LART’
// More metadata
}]
}
}
})
当你尝试连接你的账户时,你会在 Google Assistant 设置中看到一个错误,然后在 StackDriver 中看到与之对应的错误:
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fuser-gold-cdn.xitu.io%2F2018%2F9%2F5%2F165a8c28101c874a%3FimageView2%2F0%2Fw%2F1280%2Fh%2F960%2Fignore-error%2F1&pos_id=img-NhWBqGzR-1715884485116
总结

如今新技术层出不穷,假如每次出新的技术,我们都深入的研究的话,很轻易分散精力。新的技术可能很久之后我们才会在工作中用得上,当学的新技术无法学以致用,很轻易被我们忘记,到最后真的需要利用的时间,又要重新来过(虽然上手会更快)。
我以为身为技术人,针对新技术应该是持拥抱态度的,入了这一行你就应该知道这是一个活到老学到老的行业,所以面临新技术,不要抵触,拥抱变化就好了。
Flutter 明显是一种全新的技术,而对于这个新技术在发布之初,花一个月的时间学习它,本钱确实过高。但是周末花一天时间体验一下它的开发流程,了解一下它的优缺点、能干什么或者不能干什么。这个时间,并不是我们不能担当的。
假如有时间,其实通读一遍 Flutter 的文档,是最全面的一次对 Flutter 的了解过程。但是假如我们只有 8 小时的时间,我希望能关注一些最值得关注的点。
   (跨平台开发(Flutter)、java基础与原理,自界说view、NDK、架构设计、性能优化、完整商业项目开发等)
    https://img-blog.csdnimg.cn/img_convert/0df1171543faa734048f516334e79c7f.webp?x-oss-process=image/format,png
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
8)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: [译] 如何将 Stackdriver 连接到智能家居服务器以进行错误记录