最佳实践 - Amazon Location Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

最佳实践

本节介绍了在与 API 交互时使用压缩功能以及在简单(GeoJSON)格式和 FlexiblePolyline 格式之间进行选择的最佳实践,并提供了有关优化性能、带宽和数据处理的指导。

压缩

为了提高应用程序在与我们的 API 交互时的性能和效率,建议对响应启用压缩功能,尤其是在处理较大的基于文本的有效载荷时。您可以通过在 API 请求中包含 Accept-Encoding 标头,并指定首选压缩方法来激活压缩功能。我们支持 gzipdeflate 这两种压缩算法,gzip 通常提供更好的压缩比。

何时启用压缩功能

较大响应

为较大的基于文本的响应启用压缩功能,以减少带宽使用量并缩短加载时间。

网络限制

如果您的应用程序在带宽有限或网络延迟较高的环境中运行,则压缩可以提高数据传输效率。

如何有效使用压缩功能

设置 Accept-Encoding 标头

在您的 HTTP 请求中包含 Accept-Encoding: gzip, deflate,以告知我们的 API 您支持这些压缩方法。启用和处理压缩的方法因 AWS SDK 和编程语言而异。例如,适用于 Java 的 AWS SDK v1 使用 ClientConfiguration 类中的 withGzip 方法来启用 gzip,而适用于 Go 的 AWS SDK 则需要添加特定的中间件来进行压缩处理。对于其他 SDK,请参阅 AWS SDK 参考指南以了解详细说明。

正确进行解压缩

确保您的客户端应用程序可以根据我们 API 返回的 Content-Encoding 标头正确解压缩响应。

测试和监控

定期评估压缩对应用程序性能的影响,在减小有效载荷大小所带来的好处和解压缩过程所产生的额外 CPU 开销之间取得平衡。

折线

在与我们的 API 交互时,在简单(GeoJSON)格式和 FlexiblePolyline 格式之间进行选择的最佳实践,以优化地理空间数据的性能和可用性。

使用简单(GeoJSON)格式

可读性和标准化

在需要一种广泛认可且人类可读的格式时使用,以便于调试以及与各种地理空间工具互操作。

精度

当您的应用程序需要高精度坐标时,请选择简单格式,因为 GeoJSON 可以保持完整的十进制精度而不会丢失数据。

较小数据集

当处理较小的坐标数据集时,简单格式是理想的选择,因为压缩所带来尺寸减小效果微乎其微。

使用 FlexiblePolyline 格式

数据量缩减

如果需要利用有损压缩技术尽可能地缩减传输的数据量(尤其对于较大的坐标列表而言),那么 FlexiblePolyline 是理想的选择。

URL 安全性

FlexiblePolyline 提供了一个紧凑且 URL 安全的字符串,无需额外编码即可直接在查询参数中使用。

性能优化

FlexiblePolyline 有助于缩小有效载荷大小,从而加快数据传输速度和降低带宽使用量,因此对于高性能应用程序或在受限网络中运行的应用程序至关重要。