Azure Cosmos DB

ArcGIS VelocityAzure 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