ServiceNow のデータを BigQuery に読み込む

ServiceNow から BigQuery にデータを読み込むには、BigQuery Data Transfer Service for ServiceNow コネクタを使用します。BigQuery Data Transfer Service を使用すると、ServiceNow から BigQuery に最新のデータを追加する繰り返し転送ジョブのスケジュールを設定できます。

制限事項

ServiceNow のデータ転送には次の制限があります。

  • 同じ ServiceNow インスタンスでデータ転送を同時に実行することはおすすめしません。
  • 定期的なデータ転送の最小間隔は 15 分です。デフォルトの定期的な転送間隔は 24 時間です。

始める前に

ServiceNow データ転送を作成する前に、ServiceNow と BigQuery に対して次の構成を行います。

ServiceNow の前提条件

BigQuery の前提条件

必要な BigQuery のロール

転送の作成に必要な権限を取得するには、BigQuery 管理者roles/bigquery.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、転送の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

転送を作成するには、次の権限が必要です。

  • ユーザーに対する bigquery.transfers.update
  • ターゲット データセットに対する bigquery.datasets.get
  • ターゲット データセットに対する bigquery.datasets.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

ServiceNow のデータ転送を設定する

ServiceNow データ転送は、 Trusted Cloud コンソールまたは bq コマンドライン ツールで作成できます。

コンソール

  1. Trusted Cloud コンソールの [データ転送] ページに移動します。

    [データ転送] に移動

  2. [転送を作成] をクリックします。

  3. [ソースタイプ] セクションの [ソース] で、[ServiceNow] を選択します。

  4. [データソースの詳細] セクションで、次のようにします。

    • [インスタンス ID] に、ServiceNow のインスタンス ID を入力します。これは ServiceNow URL(例: https://INSTANCE_ID.service-now.com)から取得できます。
    • [ユーザー名] に、接続に使用する ServiceNow のユーザー名を入力します。
    • [パスワード] に ServiceNow のパスワードを入力します。
    • [クライアント ID] には、OAuth 認証情報のクライアント ID を入力します。認証情報を生成するには、OAuth 認証情報を作成するをご覧ください。
    • [クライアント シークレット] に、OAuth 認証情報のクライアント シークレットを入力します。
    • [移行する ServiceNow テーブル] に、移行する ServiceNow テーブルの名前を入力するか、[参照] をクリックして移行するテーブルを選択します。
    • [値の型] で、次のいずれかを選択します。
      • データベースに保存されている値を転送するには、[実際] を選択します。
      • 列の表示値を転送するには、[表示] を選択します。
  5. [転送先の設定] セクションの [データセット] には、データを保存するために作成したデータセットを選択します。

  6. [転送構成名] セクションの [表示名] に、データ転送の名前を入力します。

  7. [スケジュール オプション] セクションで、次の操作を行います。

    • [繰り返しの頻度] リストで、このデータ転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、このデータ転送が実行されます。
    • 必要に応じて、[すぐに開始] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
  8. 省略可: [通知オプション] セクションで、次のようにします。

    • メール通知を有効にするには、[メール通知] をクリックします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
    • このデータ転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をクリックします。トピック名を選択するか、[トピックを作成する] をクリックしてトピックを作成します。
  9. [保存] をクリックします。

bq

bq mk コマンドを入力して、転送作成フラグ --transfer_config を指定します。

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

次のように置き換えます。

  • PROJECT_ID(省略可): Trusted Cloud by S3NS プロジェクト ID。プロジェクト ID が指定されていない場合は、デフォルトのプロジェクトが使用されます。
  • DATA_SOURCE: データソース(例: servicenow)。
  • DISPLAY_NAME: 転送構成の表示名。データ転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。
  • DATASET: 転送構成のターゲット データセット。
  • PARAMETERS: 作成される転送構成のパラメータを JSON 形式で指定します例: --params='{"param":"param_value"}'。ServiceNow データ転送のパラメータは次のとおりです。

    ServiceNow パラメータ 必須または省略可 説明
    connector.instanceId 必須 ServiceNow インスタンスのインスタンス ID
    connector.authentication.username 必須 認証情報のユーザー名
    connector.authentication.password 必須 認証情報のパスワード
    connector.authentication.oauth.clientId 必須 生成された OAuth のクライアント ID
    connector.authentication.oauth.clientSecret 必須 生成された OAuth のクライアント シークレット
    connector.valueType 省略可 Actual または Display(デフォルトは Actual

    たとえば、次のコマンドは、すべての必須パラメータを使用してデフォルト プロジェクトに ServiceNow データ転送を作成します。

      bq mk
        --transfer_config
        --target_dataset=mydataset
        --data_source=servicenow
        --display_name='My Transfer'
        --params='{"connector.authentication.oauth.clientId": "1234567890",
            "connector.authentication.oauth.clientSecret":"ABC12345",
            "connector.authentication.username":"user1",
            "connector.authentication.password":"abcdef1234",
            "connector.instanceId":"https://dev-instance.service-now.com"}'
    

API

projects.locations.transferConfigs.create メソッドを使用して、TransferConfig リソースのインスタンスを指定します。

データ型マッピング

次のテーブルは、ServiceNow データ転送でデータタイプがどのようにマッピングされるかを示しています。

ServiceNow データタイプ BigQuery のデータ型
decimal FLOAT64
integer INTEGER
boolean BOOLEAN
glide_date DATE
glide_date_time DATETIME
glide_time INT64
reference
currency
sys_class_name
domain_id
domain_path
GUID
translated_html
journal
string
STRING

移行に関する問題のトラブルシューティング

詳細については、転送構成のトラブルシューティングをご覧ください。

ServiceNow が有効になっているため転送が失敗する

調達、商品カタログ、契約管理のアプリケーションが ServiceNow で有効になっていないと、データ転送が失敗する問題が発生します。この問題を解決するには、3 つのアプリケーションをすべて有効にします。たとえば、[調達] を有効にします。

転送の実行中に問題が発生した

転送実行が意図したとおりに作成されない問題が発生します。この問題を解決するには、次の操作を行います。

  • ServiceNow アカウントの認証情報(ユーザー名パスワードクライアント IDクライアント シークレットなど)を確認します。
  • インスタンス ID が ServiceNow インスタンスで有効な ID であることを確認します。

料金

この機能のプレビュー版では、ServiceNow データを BigQuery に転送する際に費用は発生しません。

次のステップ