pythonを使用したイベントフレームの削除方法

お世話になります。

 

下記URLを見て、、膨大なイベントフレームを削除する方法があるようなのですが、pythonで実施する場合のサンプルコードを教えていただけないでしょうか?

 

【参考URL】

AF SDKから膨大なイベントフレームの削除方法 

 

以上、よろしくお願い致します。

  • Hirotoshi Hamakawa

    ご投稿ありがとうございます。

     

    Pythonからの操作であればPI Web APIを使用していただくのが良いかと思います。

    GetEventFramesメソッドで対象EventFrameのWebIDを取得していただき、

    GetEventFrames GET eventframes/{webId}/eventframes 

    Deleteメソッドで削除していただくのが良いと思います。

    Delete DELETE eventframes/{webId} 

  • Mitsuaki Hayakawa

     

    ご回答ありがとうございます。

     

     

    それでは、もう少し確認してみます。
  • Mitsuaki Hayakawa

     

    申し訳ないんですが、上記でご回答いただいた内容だけではコーディングできませんでした。

     

    AF SDKになりますが、別のページ(下記)で、Kenji Hashimoto様がサンプルコードを書いていただいていたので、検索するとこまではできたのですが、削除のコード(AFEventFrame.DeleteEventFrames)の引数「IList<Guid> ids」の作成方法がわかりませんでした。

     

    【参考URL】

     

    PythonでAFSDKの呼び出し(PIthon!) 

     

     

    【NGだったコード】

     

    afServers = PISystems()

     

    afServer = afServers.DefaultPISystem

    List = list(search.FindObjectIds())

    AFEventFrame.DeleteEventFrames(afServer, List)

     

     

    因みにエラーメッセージは、「TypeError: No method matches given arguments for DeleteEventFrames」となっており、引数の与え方が違うようです。

     

     

    お忙しいところ申し訳ないですが、pythonでのAFEventFrame.DeleteEventFramesのサンプルコードをご教示いただけないでしょうか?

     

    以上、よろしくお願い致します。

  • Hirotoshi Hamakawa

     

    弊社のポリシーが変更となり、現在サンプルコードについてはPI Square上では提供できなくなっております。

    申し訳ありません。

     

    AFEventFrame.DeleteEventFramesメソッドの第2パラメータはIList<Guid>です。ですのでPythonのListをそのまま渡すとPython側で型を指定する事ができずにエラーとなります。

    受け渡しに使用するListはList[Guid]でジェネリック指定してください。

    また、FindObjectIdsメソッドの戻り値はIEnumerable<Guid>です。これはPythonの環境においてはデリゲートオブジェクトを作成しないと、Listには渡せないのでこちらも念のため確認してください。