Synchronization

Synchronization API提供了将不同格式的工程数据聚合、对齐和同步到iModel的能力。使用此API,您可以建立与各种源文件的连接,并通过connection run将这些文件同步到iModel。请求将使用相关的iTwin connectors在云上处理。API提供了以下功能:

  • 适用于各种设计应用和交换格式的iTwin connectors。请参阅支持的格式部分中的完整列表。
  • 来自iTwin存储服务的文件同步。使用教程“同步存储”和提供的Synchronize File from Storage示例帮助您入门。
  • 从预验证的URL进行文件同步。使用教程Synchronization Manifest帮助您入门。
要创建并运行初始同步,请执行以下操作
  • 创建清单连接
  • 获取预验证的文件访问URL
  • 通过传递访问URL运行创建的连接
  • 获取运行状态
要在工程数据更改时更新iModel,请执行以下操作
  • 获取预验证的文件访问URL
  • 通过传递访问URL运行创建的连接
  • 获取运行状态

Connection

同步过程基于从设计文件到iModel建立链接的connections。例如,一个iModel可能有多个连接,这些连接可以按需执行多次以持续同步更改。运行后的历史记录将被保留并可用于监控。

Source File

源文件实体定义同步运行期间数据源中的特定文件与iTwin连接器之间的链接。如果文件具有地理坐标信息,则将源文件标记为空间根文件。

Run

run定义了一个connection同步的过程。通过发送run start request初始化。此run实体具有状态、持续时间等属性。每个connection在同一时间只能执行一次。

Connector

iTwin连接器将处理来自MicroStation等应用程序的文件,并将模型的内容(几何体、属性和关系)转换为iModel。它还将包括从源数据创建模式。可以使用同一个连接器同步多个模型,也可以使用不同的连接器同步不同的模型,以实现所需的iModel。

iTwin Connectors将检测job run之间源模型的差异。同步操作将产生ChangeSets,其中包含发送到iModelHub的Changes。这是connector和一次性converter之间的关键区别。

第一次运行connection时,Changeset将包含整个模型的内容。后续的同步操作会对比iModel中之前存在的内容和您的更改,并为之间的差异创建Changeset。如果源模型没有更改,iTwin连接器将不会处理同步。在这种情况下,不会推送任何Changeset。

Authorization

同步过程通常需要时间,并在后台执行。因此,有两种方法可以调用API:

  • 如果应用程序以用户为中心并具有用户界面,则可以使用用户授权工作流。为此,我们需要存储连接所有者的刷新令牌。您可以使用get Authorization Information API来获取它。如果令牌需要更新,此API将返回当前状态和重定向URL。

  • 如果应用程序没有用户界面,且同步将由后端服务启动,则应使用服务类型应用程序,并在连接上设置authenticationType:"Service"


英文链接:https://developer.bentley.com/apis/synchronization/overview/

results matching ""

    No results matching ""