API実施結果とPigeon連絡履歴について

回答済み

コメント

32件のコメント

  • Kompiraサポートチーム

    ①Pigeon の架電履歴データで、「﨑」(unicode ufa11) が python でエンコードエラーとなりました。
    shift_jis から UTF-8 に変換し対処したのですが、
    この「﨑」の文字だけひっかかってしまったのは、何が原因かもしお分かりになるようでしたら
    教えてください。
    また、APIで採取される文字は shift_jis だと認識してよろしいでしょうか?

    Kompira においては日本語は UTF-8 にて取り扱っており、例えば各種設定の表示名や Pigeon のガイダンス本文など、画面上から日本語を入力して保存した設定は全て UTF-8 となります。

    例外として考えられるのは AlertHub にて受信したメッセージの内容で、こちらは受信内容を原則変更せずに取り扱うため、 UTF-8 以外のエンコード方式が使われたデータを受信した場合、元のエンコード方式を維持したまま取り扱われることになります。これが最終的に Pigeon のパラメータとして渡された結果、 UTF-8 と Shift JIS が入り混じったデータが API から出力された、というケースではないかと推察いたします。

    また「 Python でのエラー」とおっしゃっているためエラーを出力したのは御社側でご利用の何らかの( Python で構築された)システムかと思いますが、こちらがどういった経緯で「﨑」の字のみ取り扱いに失敗したのかは判断しかねるところです。
    ただ、「﨑」は厳密には Shift JIS には含まれず、 CP932 ( Windows 上で Shift JIS と呼ばれるものは大概のケースではこちらとなります ) に含まれる文字のようですので、その辺りが影響している可能性はございます。

    ②jq の用法をご教示ください。
    jq の機能(インデックス付出力:map 指定)で JSON形式 から csv形式へ変換を行っています。
    必要なフィールドを取り出しているのですが、Pigeon のparameters直下より下のフィールド指定では、エラーになってしまいます。
    どのように指定すれば良いのかご教示ください。

    parameters に含まれる値は Pigeon の仕様としては自由指定であり、どういった経緯で呼ばれたかによって各フィールドの存在有無が変わるため、例えば event の情報が含まれないデータに対して 「.parameters.event.createdAt」 を取得しようとしたことでエラーが発生したものかと考えられます。

    こういった存在が保証されないフィールドに関しては「.parameters.event.createdAt?」のように末尾に ? をつけておきますと、存在しない場合でもエラーとならず、代わりに「null」が出力されるものと思います。

    なおここまで回答を続けてきて大変恐縮ですが、本コミュニティサイトはあくまで Kompira に関する質問を受け付ける場所となっており、 jq のような弊社製品以外のツール類に関する質問については本来回答範囲外となります。
    可能な限りお力にはなりたいところではございますが、対応に限界はございますので、ご理解のほどよろしくお願いいたします。

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

    迅速なご回答ありがとうございました。
    「 jq のような弊社製品以外のツール類に関する質問については本来回答範囲外」との事、
    承知いたしました。

    ご尽力いただき感謝いたします。

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

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