ServiceNow の転送をスケジュールする

BigQuery Data Transfer Service for ServiceNow を使用すると、ServiceNow から BigQuery への定期的な読み込みジョブを自動的にスケジュールし、管理できます。

制限事項

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

  • 同じ ServiceNow インスタンスで同時転送を実行することはおすすめしません。
  • 定期的な転送の最小間隔は 15 分です。デフォルトの定期的な転送間隔は 24 時間です。
  • ServiceNow は、調達、商品カタログ、契約管理の 3 つのアプリケーションからビジネス関連のテーブルを転送します。転送できるテーブルは次のとおりです。

    • ast_contract
    • clm_condition_check
    • clm_condition_checker
    • clm_contract_history
    • clm_m2m_contract_and_terms
    • clm_m2m_contract_asset
    • clm_m2m_contract_user
    • clm_m2m_rate_card_asset
    • clm_terms_and_conditions
    • pc_hardware_cat_item
    • pc_product_cat_item
    • pc_software_cat_item
    • pc_vendor_cat_item
    • proc_po
    • proc_po_item
    • proc_rec_slip
    • proc_rec_slip_item

始める前に

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

ServiceNow の前提条件

BigQuery の前提条件

必要な BigQuery のロール

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

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

必要な権限

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

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

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

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

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

コンソール

  1. Google Cloud コンソールで [BigQuery] ページに移動します。

    [BigQuery] に移動

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

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

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

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

    • [繰り返しの頻度] リストで、この転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。

    • 必要に応じて、[すぐに開始可能] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。

  6. [転送先の設定] セクションの [データセット] には、データを保存するために作成したデータセットを選択します。

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

    • [インスタンス ID] に、ServiceNow インスタンス ID を入力します。これは ServiceNow URL(例: https://INSTANCE_ID.service-now.com)から取得できます。
    • [ユーザー名] に、接続に使用する ServiceNow ユーザー名を入力します。
    • [パスワード] に ServiceNow のパスワードを入力します。
    • [クライアント ID] には、OAuth 認証情報のクライアント ID を入力します。認証情報を生成するには、OAuth 認証情報を作成するをご覧ください。
    • [クライアント シークレット] に、OAuth 認証情報のクライアント シークレットを入力します。
    • [値のタイプ] で、次のいずれかを選択します。
      • データベースに保存されている値を転送するには、[実際] を選択します。
      • 列の表示値を転送するには、[表示] を選択します。
  8. [サービス アカウント] メニューで、Google Cloud プロジェクトに関連付けられたサービス アカウントからサービス アカウントを選択します。選択したサービス アカウントには、この転送の実行に必要なロールが付与されている必要があります。

    フェデレーション ID でログインした場合、転送を作成するにはサービス アカウントが必要です。Google アカウントでログインした場合、転送用のサービス アカウントは省略可能です。

    データ転送でサービス アカウントを使用する方法の詳細については、サービス アカウントの使用をご覧ください。

  9. 省略可: [通知オプション] セクションで、次のようにします。

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

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(省略可): Google Cloud プロジェクト 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 で有効になっていないと、転送が失敗する問題が発生します。この問題を解決するには、3 つのアプリケーションをすべて有効にします。たとえば、[調達] を有効にします。

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

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

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

料金

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

次のステップ