首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    一起看 IO | 用 Health Connect 连通应用间的健康数据

    Wilk, Product Manager 从 MyFitnessPal 应用帮助您记录一日三餐,再到 Withings 产品为您呈现自身健康水平的全面分析,应用和设备已然形成了聚合多种健康和健身信息的数据源...此外,Samsung Health、Google Fit 和 Fitbit 正在整合接入 Health Connect。...经过用户同意后,开发者们可以通过标准化的架构和 API 调用,安全地从 Health Connect 读取或写入数据。...Health Connect 产生的所有数据都被加密存放在设备本地,用户完全可以禁用对 Health Connect 数据的访问,也可以删除某些自己不想存放在设备里的数据。...当用户使用多个同类应用时,Health Connect 还为其提供了将某个数据源的优先级提高的选项。 开始使用 让您的应用接入 Health Connect 非常简单。

    76410

    为媒体资产构建一个云原生的文件系统

    图2:Netflix Drive 的POSIX接口 图3展示了其他API接口。它提供了一个可控制的I/O接口。该API接口特别适用于某些流程管理工具或代理。它暴露了某种形式的控制操作。...我们启动Netflix Drive,并使用清单、REST API和控制接口进行引导。 抽象层抽象了默认的元数据存储和数据存储。...部分REST API可以修改文件--例如,某个API可以暂存文件,从云端拉取文件;某个API可以检查文件;某个API可以保存文件,显示地将文件上传到云存储。...对于这类工作流,应该使用显示保存,而非自动保存,Google Drive就是这种模式。一旦设计师确定可以将资产共享给其他设计师或工作流,此时可以调用API将其上传到云端。...自研文件系统的一个原因是现有云服务无法满足业务场景,如多挂载点、使用本地缓存、文件切分等。 Netflix Drive通过使用本地缓存,减少了云存储的开销(如通过缓存减少了对象存储API的调用次数)。

    2.1K10

    4种主流的API架构风格对比

    因此,后来 RPC API 开始使用一个更具体的 JSON-RPC 规范,该规范被认为是 SOAP 的更简单的替代方案。gRPC 是 Google 在 2015 年开发的最新 RPC 版本。...易于添加新函数。如果 API 有了新的需求,我们可以轻松地添加另一个执行这个需求的端点:1)编写一个新函数,并将其放在一个新端点之后;2)现在,客户可以访问这个端点,并获取符合其需求的信息。 高性能。...在 RPC 中,无法对 API 进行检验总结,或者发送请求来开始理解根据需求应该调用哪个函数。 函数爆炸性增长。创建新函数非常容易。...当服务端实现 REST 的某些功能和 RPC 的某些功能时,在 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词的,而不是基于动作或动词。...灵活的权限:GraphQL 允许选择性地公开某些功能,同时保留私人信息。而相对应的是,REST 体系架构不能仅显示部分数据,要么是全部数据,要么是没有数据。 3 GraphQL 的不足 性能问题。

    2.7K30

    4种主流的API架构风格对比

    因此,后来 RPC API 开始使用一个更具体的 JSON-RPC 规范,该规范被认为是 SOAP 的更简单的替代方案。gRPC 是 Google 在 2015 年开发的最新 RPC 版本。...易于添加新函数。 如果 API 有了新的需求,我们可以轻松地添加另一个执行这个需求的端点:1)编写一个新函数,并将其放在一个新端点之后;2)现在,客户可以访问这个端点,并获取符合其需求的信息。...在 RPC 中,无法对 API 进行检验总结,或者发送请求来开始理解根据需求应该调用哪个函数。 函数爆炸性增长。创建新函数非常容易。...当服务端实现 REST 的某些功能和 RPC 的某些功能时,在 REST 和 RPC 之间确实可能存在这样一个灰色区域。但 REST 是基于资源或名词的,而不是基于动作或动词。 ?...灵活的权限:GraphQL 允许选择性地公开某些功能,同时保留私人信息。而相对应的是,REST 体系架构不能仅显示部分数据,要么是全部数据,要么是没有数据。 GraphQL 的不足 性能问题。

    2.7K20

    API架构风格对比:SOAP vs REST vs GraphQL vs RPC

    方便添加功能:如果我们对API有新的需求,可以通过简单地添加新的后端来满足该需求:1)编写一个新的功能,然后发布;2)然后客户端就可以通过这个后端来满足需求。...RPC与底层系统的强耦合使其无法在系统和外部API之间进行抽象,同时也增加了安全风险,很容易在API中泄露底层系统的实现细节。...可发现性低:RPC无法对API进行自省或无法通过发送的RPC请求来理解其调用的功能。...应该是RPC并没有像REST API那样相对严格的调用规范,因此有些调用会比较难以理解 功能爆炸:由于很容易添加新的功能,因此相比编辑现有的功能,新增的功能可能会导致大量功能重叠,也很难去理解...像Google,Facebook (Apache Thrift)和Twitch(Twirp) 这样的大型公司利用RPC的高性能特性来获得高性能、低开销的消息处理能力(规模庞大的微服务使用短消息进行通信,

    3.4K11

    初学者的API测试技巧

    与UI测试不同,API测试是在没有GUI层执行操作的。 API测试技巧 Web API有两大类Web服务:SOAP和REST。...REST(表示状态传输)是使用HTTP的基于Web标准的体系结构。与基于SOAP的Web服务不同,没有针对RESTful Web API的正式标准。...5xx(服务器错误):服务器无法满足看似有效的请求 “API的实际响应状态代码由构建API的开发团队指定。...最后但并非最不重要的一点是,除了API测试之外,您是否还需要执行其他类型的测试,例如WebUI或数据源?API测试在数据源和UI之间的业务层执行。所有这些层都必须进行测试是正常的。...由于API测试执行快速,稳定且足够小,因此很容易以最小的风险将更多测试添加到当前测试过程中。

    1.1K20

    激荡二十年:HTTP API 的变迁

    ,也许是看到了客户端和服务器彼此隔离带来的巨大好处,web 开发也渐渐向 REST API 靠拢。...,并发扬光大: (请 google:liberator decision graph) 我曾经一度把玩过 liberator,相对于我当时在生产环境使用的比较流行的 eve 和 django rest...然而 OpenAPI 并不强制输入输出的类型安全,这跟 UAPI 有同样的问题:随着公司 OpenAPI spec 的不断迭代,API 中某些新添加的字段,很容易被忽略,日积月累下来,问题会越来越多。...我需要一个能够在外部看来,更加自然,更加简单的 API。 在计算机的世界里,这样的问题往往可以通过添加一个新的层级来实现。...看到这里,有经验的同学可能会质疑:API 的数据源又不止于数据库,如果数据来源于 gRPC 服务器,那又该如何? 好问题!此刻我们需要修改 CREATE API 的描述,使其明确表达其数据源是什么。

    2.1K30

    API 架构风格抉择:SOAP、REST、GraphQL 和 RPC 的特性、优势与局限

    因此,后来的 RPC API 开始使用更具体的JSON-RPC规范,该规范被认为是 SOAP 的更简单替代方案。gRPC是 Google 于 2015 年开发的最新 RPC 版本。...易于添加功能。如果我们的 API 有新的需求,我们可以轻松添加另一个端点来执行此需求:1)编写一个新函数并将其置于端点之后;2)现在客户端可以访问此端点并获取满足设定需求的信息。 高性能。...API的抽象级别会影响其可重用性。API 与底层系统的耦合度越高,其对其他系统的可重用性就越低。RPC 与底层系统的紧密耦合使得系统内部函数与外部 API 之间无法建立抽象层。...在 RPC 中,无法自检 API 或发送请求,也无法根据请求了解要调用的函数。 函数爆炸。创建新函数太容易了。因此,我们不是编辑现有函数,而是创建新函数,结果却得到了一大堆难以理解的重叠函数。...GraphQL允许选择性地公开某些函数,同时保留隐私信息。而 REST 架构不会分部分公开数据。要么全部公开,要么全部不公开。 GraphQL 的缺点 性能问题。

    60810

    《Scikit-Learn、Keras与TensorFlow机器学习实用指南(第二版)》第19章 规模化训练和部署TensorFlow模型

    默认时,TF Serving使用这个端口服务REST API。...现在回到Python查询服务,先使用REST API,然后使用gRPC API。 用REST API查询TF Serving 先创建查询。...REST API既优雅又简单,当输入输出数据不大时,可以工作的很好。另外,客户端无需其它依赖就能做REST请求,其它协议不一定成。但是,REST是基于JSON的,JSON又是基于文本的,很冗长。...Google提供了几个库,用于简化服务访问: Google API Client Library 基于OAuth 2.0和REST。可以使用所有GCP服务,包括AI Platform。...训练模型(或任意模型),部署到TF Serving或Google Cloud AI Platform上。写客户端代码,用REST API 或 gRPC API做查询。更新模型,部署新版本。

    7.3K20

    撰写合格的REST API

    (liberator的decision tree,沿袭了webmachine的思想,请自行google其文档查看大图) 安全性 前面说过,REST API承前启后,是系统暴露给外界的接口,所以,其安全性非常重要...你可以把请求数据验证看成一个巨大的漏斗,把不必要的访问统统过滤在第一线: Request headers是否合法:如果出现了某些不该有的头,或者某些必须包含的头没有出现或者内容不合法,根据其错误类型一律返回...HTTPS HMAC Auth尽管在保证请求的一致性上非常安全,可以用于鉴别请求是否由合法的请求者发起,但请求的数据和服务器返回的响应都是明文传输,对某些要求比较高的API来说,安全级别还不够。...比如说添加了某资源后,通过kafka或者rabbitMQ向外界暴露某个消息,相应的subscribers可以进行必要的处理。...可以通过访问该语言在github上相应的awesome repo(google awesome XXX,如awesome python),查看REST API相关的部分。

    1.8K50

    Hive如何创建elasticsearch外部表

    elasticsearch SQL API仅支持group by,count,order by,having,limit等简单的函数,如果我们需要使用复杂SQL逻辑进行数据查询时,无法得到很好的支持。...外部表Hive提供了一种外部表的功能,外部表只需要与数据存储位置上的现有数据建立关联,无需将数据移动至Hive存储库中进行存储,即可使用外部数据源。...弹性扩展:通过Hive创建elasticsearch外部表,可以将elasticsearch 的数据与其他数据源进行联合查询。...这样可以方便地在Hive中进行跨数据源的分析和聚合操作,实现更复杂的数据处理需求。 3....注意事项:Hive中的某些高级特性(如事务、复杂数据类型等)可能无法与elasticsearch完全兼容。数据的一致性和实时性也需要根据具体的数据同步策略进行管理。

    1.8K85

    GraphQL,你准备好了么?

    REST API 我们先通过一个简单的例子来说明 REST 和 GraphQL 的异同。...如果客户端调用这个 API 显示用户的 profile,单单这个 API 还不够,因为 bookmarks 没有展开,无法直接渲染,所以我们大概会再提供一条 API: GET /v1/users/1/bookmarks...从这个角度来讲,GraphQL 对于异构的数据源能够很好很简练地处理。传统的 REST API 并非不能处理异构的数据源,只不过那样的代码撰写起来可读性会比较差。...REST API 在进化的过程中往往随着 API 版本的变迁,而 GraphQL API 基本没这个必要。...对于同一 API,服务器只需要添加新的 field,新的客户端查询时使用新的 field 即可,不会影响老客户端。这是一种很优雅的进化方案。

    91360
    领券