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/)。 | String |
マスター キー | Azure Cosmos DB の主キー。 | String |
データベース | 読み取るデータのコレクションが含まれている Azure Cosmos DB のコンテナーの名前。 | String |
コレクション | データが含まれている、指定したコンテナー内の Azure Cosmos DB のコレクションの名前。 | String |
WHERE 句 (オプション) | Azure Cosmos DB のコンテナー コレクションから読み込むフィーチャを制限します。 単純なクエリ形式を使用します。 たとえば、データセットに course という数値フィールドがある場合、「course = 49.5845184」という WHERE 句を指定できます。データセットに user_id という文字列フィールドがある場合、「user_id = 'pete1234'」という WHERE 句を指定できます。 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 です。 スケジュールされたビッグ データ解析の開始後の初回実行時に、$feature.AnalyticLastSuccessfulRunScheduledStartTime 変数には ISO 8601 の起点時間である 1970 年 1 月 1 日が指定されるため、この時間以降のすべてのフィーチャが読み込まれます。 これに適応するには、定期的な解析で予想される初回実行時以降のフィーチャを返すように、WHERE 句のクエリを追加します。 たとえば、解析が 2021 年 6 月 6 日 12:01:01 (UTC 時間) に開始された場合、以下のように WHERE 句を指定できます。 yourISO8601StringTimestampField > '$analytic.AnalyticLastSuccessfulRunScheduledStartTime' and yourISO8601StringTimestampField <= '$analytic.AnalyticScheduledStartTime' and yourISO8601StringTimestampField > '2021-06-04T12:01:01.0Z' | String |
検討事項および制限事項
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