すべてのプロダクト
Search
ドキュメントセンター

Tablestore:時系列の取得

最終更新日:Dec 28, 2024

メトリック名やデータソースなどの時系列に関する情報をクエリする場合、または指定した条件を満たす時系列を一覧表示する場合、QueryTimeseriesMeta オペレーションを呼び出すことができます。このオペレーションを使用すると、メトリック名、データソース、タグ、属性、更新時刻などの特定の条件で時系列をクエリできます。

前提条件

パラメーター

metaQueryCondition パラメーターは、時系列取得の条件を指定します。条件には、compositeMetaQueryCondition、measurementMetaQueryCondition、dataSourceMetaQueryCondition、tagMetaQueryCondition、attributeMetaQueryCondition、updateTimeMetaQueryCondition が含まれます。次の表にパラメーターを示します。

パラメーター

必須

説明

compositeMetaQueryCondition

いいえ

複合条件。次の内容が含まれます。

  • operator: 論理演算子。有効な論理演算子: AND、OR、NOT。

  • subConditions: 演算子を使用して複雑なクエリのために組み合わせることができるサブ条件。

measurementMetaQueryCondition

はい。パラメーターのいずれかを指定する必要があります。

メトリック名条件。次の内容が含まれます。

  • operator: 比較演算子またはプレフィックス一致条件。有効な比較演算子: =>>=<<=

  • value: クエリする時系列のメトリック名。タイプ: STRING。

dataSourceMetaQueryCondition

データソース条件。次の内容が含まれます。

  • operator: 比較演算子またはプレフィックス一致条件。有効な比較演算子: =>>=<<=

  • value: クエリする時系列のデータソース。タイプ: STRING。

tagMetaQueryCondition

タグ条件。次の内容が含まれます。

  • operator: 比較演算子またはプレフィックス一致条件。有効な比較演算子: =>>=<<=

  • value: クエリする時系列のタグの値。タイプ: STRING。

attributeMetaQueryCondition

時系列のメタデータの属性条件。属性条件には次の内容が含まれます。

  • operator: 比較演算子またはプレフィックス一致条件。有効な比較演算子: =>>=<<=

  • attributeName: 属性の名前。タイプ: STRING。

  • value: 属性の値。タイプ: STRING。

updateTimeMetaQueryCondition

時系列のメタデータの更新時刻条件。更新時刻条件には次の内容が含まれます。

  • operator: 比較演算子。有効な比較演算子: =>>=<<=

  • timeInUs: 時系列メタデータが更新されたタイムスタンプ。単位: マイクロ秒。

次のサンプルコードは、指定された条件に基づいて時系列のメトリック名、データソース、およびタグをクエリする方法の例を示しています。指定された条件は複合条件にすることができます。

func QueryTimeseriesMetaSample(client *tablestore.TimeseriesClient , timeseriesTableName string) {
    fmt.Println("[Info]: Begin to query timeseries table meta!")

    // 複数のクエリ条件を構築します。
    measurementMetaQueryCondition := tablestore.NewMeasurementQueryCondition(tablestore.OP_GREATER_EQUAL , "")
    datasourceMetaQueryCondition := tablestore.NewDataSourceMetaQueryCondition(tablestore.OP_GREATER_EQUAL , "")
    tagMetaQueryCondition := tablestore.NewTagMetaQueryCondition(tablestore.OP_GREATER_THAN , "City" , "")

    // 複合条件を構築します。
    compsiteMetaQueryCondition := tablestore.NewCompositeMetaQueryCondition(tablestore.OP_AND)
    compsiteMetaQueryCondition.AddSubConditions(measurementMetaQueryCondition)
    compsiteMetaQueryCondition.AddSubConditions(datasourceMetaQueryCondition)
    compsiteMetaQueryCondition.AddSubConditions(tagMetaQueryCondition)

    // クエリリクエストを構築します。
    queryTimeseriesMetaRequest := tablestore.NewQueryTimeseriesMetaRequest(timeseriesTableName)
    queryTimeseriesMetaRequest.SetCondition(compsiteMetaQueryCondition)
    queryTimeseriesMetaRequest.SetLimit(-1)

    // 時系列クライアント関連のオペレーションを呼び出して、クエリリクエストを実行します。
    queryTimeseriesTableResponse , err := client.QueryTimeseriesMeta(queryTimeseriesMetaRequest)
    if err != nil {
        fmt.Println("[Error]: Query timeseries table meta failed with error: " , err)
        return
    }
    fmt.Println("[Info]: Query timeseries table meta succeed: ")
    for i := 0; i < len(queryTimeseriesTableResponse.GetTimeseriesMetas()); i++ {
        curTimeseriesMeta := queryTimeseriesTableResponse.GetTimeseriesMetas()[i]
        fmt.Println("[Info]: Meta_" , i , ": " , "Measurement: " , curTimeseriesMeta.GetTimeseriesKey().GetMeasurementName() ,
            "Source: " , curTimeseriesMeta.GetTimeseriesKey().GetDataSource() ,
            "Tags: " , curTimeseriesMeta.GetTimeseriesKey().GetTags(),
            "Attrs: " , curTimeseriesMeta.GetAttributeSlice())
    }
    fmt.Println("[Info]: QueryTimeseriesMetaSample finished !")
}

FAQ

参照

  • API オペレーションの詳細については、QueryTimeseriesMeta を参照してください。

  • 時系列のメタデータの属性がビジネス要件を満たしていない場合は、時系列メタデータを更新または削除できます。詳細については、時系列メタデータの更新および時系列メタデータの削除を参照してください。

  • 必要な時系列を取得した後、時系列に基づいて時系列データをクエリできます。詳細については、時系列データのクエリを参照してください。