你在这里: 为2016+新业态 微软Azure文档数据库读写器

微软Azure文档数据库读写器

许可选项这种格式开始与FME专业版。

微软Azure的DocumentDB读/写器提供FME有一个DocumentDB帐户中读取和写入文档集合内的文档的能力。

Microsoft Azure DocumentDB是托管的NoSQL JSON文档存储,托管在Microsoft Azure云平台上。DocumentDB支持文档内部的GeoJSON、地理空间查询和对文档存储执行SQL语句。有关DocumentDB的更多信息,请访问http://documentdb.com。

在FME中,文档集合对应于特性类型,每个文档对应于一个特性。特性类型名称是文档集合id值。文档集合所在的数据库是在读写器/写入器参数级别指定的。

阅读器概述

DocumentDB阅读器通过对文档集合执行SQL查询来检索特性(文档)。

每个JSON文档被转换为基于关于相应读取器要素类型定义的模式的特征。如果在JSON文献密钥对应于特征类型模式的用户属性,则相应的属性设置上的特征。

原来JSON文件是可用documentdb_json如果包括文档的JSON参数已启用。

扫描模式

要为特性类型生成模式,DocumentDB reader根据相应文档集合中的任意第一个文档推断模式。文档中的顶级属性(属性)的名称被用作生成的模式上的用户属性。属性类型也是根据在第一个文档中找到的值类型设置的。在生成的模式上定义的属性类型只是提供信息,并不是强制的。

根据文档集合中文档的性质和WHERE子句的使用,DocumentDB阅读器推断的模式可能不能准确地反映所读取的文档。可以通过在工作台选项中启用阅读器功能部件类型编辑来手动调整阅读器功能部件类型模式。

工作台读者数据集

读者数据集的值是DocumentDB帐户。

此值可以是账户的名称(例如contoso),或者该URL的帐户(例如,https://contoso.documents.azure.com)。在URL路径被忽略。

作家概述

DocumentDB中的每个写操作都对应于一个HTTP请求。没有批量写入模式。为了最大化性能,DocumentDB写入器并行地发出多个写请求,并且没有保证的写操作顺序。总体性能受到文档大小、网络质量和文档集合配置的性能级别的影响。有关性能级别的更多信息,请参见https://azure.microsoft.com/en-gb/documentation/articles/documentdb-performance-levels/。限制也适用于文件和文档集合的大小。看到https://azure.microsoft.com/en-us/documentation/articles/documentdb-limits/了解详情。

UPDATE和DELETE操作必须为文档ID提供一个值。如果插入和更新插入操作未提供一个ID,一个UUID代替它的产生。有关详细信息,请参阅文档ID属性写入器功能类型参数的文档。

该DocumentDB作家能够创建文档集合的。由于存在与每个收集相关的每小时成本,谨慎建议,以避免产生过多的集合。欲了解更多信息,请参阅集合处理作家特征类型参数的文档。

JSON文档生成

对于INSERT、UPSERT和DELSERT特性操作,DocumentDB编写器通过以下两种方式之一将每个传入特性转换为JSON文档:

  1. 如果documentdb_jsonformat属性是存在的,可以解析为JSON,它用作文档,所有用户属性都被忽略。该方法适用于编写可能具有不一致或未知模式的任意JSON文档,或者源数据已经序列化为JSON时。
    • 如果JSON不具有id属性,它将使用由文档ID属性写入器功能类型参数中指定的属性的值来设置。
    • 如果JSON具有id属性,并且特征在由文档ID属性作家要素类型参数中指定的属性的值,但是两个值不相同,则会出现警告,和特征将被跳过。
  1. 在writer特性类型上定义的用户属性用于构建具有相应属性的JSON文档。
    • 如果特性没有用户属性的值,则生成的文档上不会出现相应的属性。
    • 在特性类型模式上定义的属性类型是强制的。如果不能将值转换为目标类型,则会记录一个警告,并将该值作为字符串写入。
    • 值必须出现在文档ID属性编写器特性类型参数指定的属性下。

工作台作家数据集

对作家来说,数据集的值是DocumentDB帐户。

这个值可以是帐户的名称(例如,contoso),或者该URL的帐户(例如,https://contoso.documents.azure.com)。在URL路径被忽略。

自动翻译

由于DocumentDB编写器上每个特性类型选项的数量,以及创建许多特性类型(集合)的潜在金钱成本,FME Quick Translator无法使用DocumentDB编写器。