Amazon AppFlow と ServiceNow の連携を試してみる


はじめに

いろいろなSaaS(Datadog、Google Analytics、Salesforce等)からAmazon S3、Amazon Redshift等にデータ連携が可能となったようです。ServiceNowも連携できるようなので試してみました。

連携してみる

こちらを参考にさせていいただき、ServiceNowにかかわるところをまとめます。
AWSの新サービス「Amazon AppFlow」でSaaS-AWS間のデータ連携を試してみた

Amazon AppFlow で「お気に入りのアプリケーションを開始する」からServiceNowを選択しフローを作成していきます。

「フローの詳細を指定」でフロー名などを設定して「フローを設定」に進みます。
「送信元の詳細」で接続するインスタンスを設定します。
今回はOrlandoのDeveloper instanceを設定しました。

一度作成した接続先は保存されます。「新規接続を作成」からインスタンス情報を設定できます。

ここで設定するユーザにはweb_service_admin、rest_api_explorerロール、またはadminロールが必要です。

「ServiceNow オブジェクトを選択」から連携するテーブルを選びます。

あれ・・・

連携できるテーブルが限られています・・・

とりあえずincidentを選び送信先にAmazon S3を選んで次に進みます。

「データフィールドをマッピング」から連携するデータのマッピングを行います。
「手動でフィールドをマッピングする」からマッピングしていきます。

incidentなので、State、Short description、Priority、Callerなんかを連携しようと思います。

あれ・・・

incidentテーブルで追加されたカラムしか選択できなさそうです・・・
※Sys IDはリストにありました。
csvでマッピングすればいけるかなと思いましたが・・・

short_description,short_description
state,state

などを試しました。※何か不備があれば教えていただけると助かります

とりあえず「手動でフィールドをマッピングする」から選択できるものを選び

フローを作成、実行しました。

このようにJSON形式でAmazon S3に格納されます。

結論

AWS マネジメントコンソールでポチポチするだけで連携できる点は素晴らしいです。
任意のテーブル、カラムと連携できるようになればServiceNowで保管期限があるログのバックアップや重要データのバックアップなどにも活用できるかなと思いました。
(任意のテーブル、カラムを指定できないのは設定方法に漏れがあるだけのような気もしています・・・)