ArcGIS Velocity 中的 Azure Cosmos DB 数据源类型将从存储在 Azure Cosmos DB 中的数据库集合中读取记录。
示例
一位研究人员希望将存储在 Azure Cosmos DB 中的数据库集合中的数据加载到 Velocity 中以执行分析。
用法说明
使用 Azure Cosmos DB 源时,请谨记以下信息:
- 主密钥将在首次保存分析时加密,并以加密状态存储。
- 可以指定 where 子句以限制从 Azure Cosmos DB 容器集合加载的记录。
- 可以在 Where 子句参数中指定分析运行时变量,以便每次运行时仅从 Azure Cosmos DB 容器集合加载新要素。
参数
下面是 Azure Cosmos DB 源的参数:
参数 | 描述 | 数据类型 |
---|---|---|
端点 | Azure Cosmos DB 的端点 URL,例如,https://yourCosmosDBAccountName.documents.azure.com:443/。 | 字符串 |
主密钥 | Azure Cosmos DB 的主密钥。 | 字符串 |
数据库 | 包含要读取的数据集合的 Azure Cosmos DB 容器的名称。 | 字符串 |
集合 | 包含数据的指定容器中 Azure Cosmos DB 集合的名称。 | 字符串 |
Where 子句(可选) | 限制从 Azure Cosmos DB 容器集合加载的要素。 使用简单查询格式。 例如,如果数据集中存在名为 course 的数值字段,则可以指定 where 子句 course = 49.5845184;如果数据集中存在名为 user_id 的字符串字段,则可以指定 where 子句 user_id = 'pete1234'。 在 Azure Cosmos DB 界面中,这些查询采用的格式为 SELECT * FROM c WHERE c.user_id = 'pete1234';但是,您必须在 Velocity 中针对此参数指定 user_id = 'pete1234'。 在查询字符串字段时,请在作为查询一部分的文本两边使用单引号,例如 road_type = 'asphalt'。 可以指定分析运行时变量,以仅为循环大数据分析中的每次运行加载新要素。 这些变量将被替换为相关的分析计划开始时间,用于查询 Azure Cosmos DB 中的 ISO 8601 字符串字段。 可用的分析运行时变量为 $analytic.AnalyticLastSuccessfulRunScheduledStartTime 和 $analytic.AnalyticScheduledStartTime。 对于启动计划大数据分析后的第一次运行,系统将以 1970 年 1 月 1 日为 ISO 8601 原始时间提供 $feature.AnalyticLastSuccessfulRunScheduledStartTime 变量,因此将会加载此时间之后的所有要素。 为了适应这种情况,请指定 where 子句查询的其他部分,以便返回循环分析的预期首次运行时之后的要素。 例如,可以如下指定 where 子句,其中分析于 UTC 时间 2021 年 6 月 6 日 12:01:01 开始: yourISO8601StringTimestampField > '$analytic.AnalyticLastSuccessfulRunScheduledStartTime' and yourISO8601StringTimestampField <= '$analytic.AnalyticScheduledStartTime' and yourISO8601StringTimestampField > '2021-06-04T12:01:01.0Z' | 字符串 |
注意事项和限制
下面是使用 Azure Cosmos DB 源时的注意事项和限制:
- 在指定 where 子句以过滤字符串值时,请将文本值括于单引号中。
- 指定日期字段时,此数据源仅支持以下配置:
- 新纪元秒,例如 1616673883
- 新纪元毫秒,例如 1616673883000
- ISO 8601 日期时间格式(无时区),例如 2021-03-25T12:05:34
- ISO 8601 日期时间格式(有时区),例如 2021-03-25T12:05:34+0000
- 采用 yyyy-MM-dd HH:mm:ss[.fffffffff] 格式的字符串日期(毫秒为可选项),例如 2021-03-25 12:05:34 or 2021-03-25 12:05:34.435