Kompira Enterprise APIについて

コメント

5件のコメント

  • 正式なコメント
    Ichiro Takahashi

    フィックスポイントの高橋です。

    たとえば、以下のように updated__gte=先月1日(以降)と updated__lt=今月1日(より前)を組み合わせて指定して、更新日時が先月を示しているデータで絞り込めるのではないかと思います。

    https://サーバIPアドレス/user/app/AlertAutomatic/Data/Task.children?updated__gte=2023-11-01T00:00:00&updated__lt=2023-12-01T00:00:00

    参考になさってみてください。

    コメントアクション パーマリンク
  • meicom

    Takahashi様

    ご連絡ありがとうございます。

    いただいた内容で先月分を取得できそうです。

    ただ、実行してみると最初の25件しか処理されていなさそうで、何か追加で渡す必要がありますでしょうか。

    先月の対象データは3000件ほどあります。

    ご確認よろしくお願いします。

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    ただ、実行してみると最初の25件しか処理されていなさそうで、何か追加で渡す必要がありますでしょうか。

    クエリパラメータに page_size を追加してみてください。数値を与えて page_size=100 などと指定すると、一度に取得できる件数を調整することができます(上限は1000です)。

    page_size より多くのデータがある場合は、レスポンスに含まれる next に次ページのデータを取得するための URL が格納されていますので、next が null になるまで繰り返すと全データを取得することができます。(レスポンスデータについては参考いただいているサイトにも記載がございます)

    参考になさってみてください。

    0
    コメントアクション パーマリンク
  • meicom

    Takahashi様

    ご連絡ありがとうございます。

    いただいた内容で実行し無事取得したいデータを得ることができました。

    ありがとうございました。

    ただ、今回作成したAPIを実行するとAPIの実行完了までCPU使用率が97%となります。

    このCPU使用率を抑える方法はありますでしょうか。

     

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • Ichiro Takahashi

    ただ、今回作成したAPIを実行するとAPIの実行完了までCPU使用率が97%となります。
    このCPU使用率を抑える方法はありますでしょうか。

    当該オブジェクトが持つフィールドの数が多い場合などはデータベースへのアクセス件数が増えるために、時間も負荷もかかってしまいます。

    条件付きの改善案としては、該当するオブジェクトの「パス」と「更新日時」だけ取得できればよい、というように全てのデータを取得する必要がない場合であれば、attrs=<属性名> というクエリを追加することで一部の属性値だけを取得することになり、負荷を軽減できるかと思います。

    たとえば、クエリパラメータに &attrs=abspath&attrs=updated を追加して試してみてください。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。