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 の前提条件
- ServiceNow API にアクセスするには、OAuth 認証情報を作成します。
次の ServiceNow アプリケーションはすべて、ServiceNow インスタンスで有効にする必要があります。
BigQuery の前提条件
- BigQuery Data Transfer Service を有効にするために必要なすべての操作を完了します。
- データを保存する BigQuery データセットを作成します。
- Pub/Sub の転送実行通知を設定する場合は、
pubsub.topics.setIamPolicy
Identity and Access Management(IAM)権限があることを確認します。メール通知のみを設定する場合は、Pub/Sub 権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。
必要な BigQuery のロール
転送の作成に必要な権限を取得するには、BigQuery 管理者(roles/bigquery.admin
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、転送の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
転送を作成するには、次の権限が必要です。
-
ユーザーに対する
bigquery.transfers.update
-
ターゲット データセットに対する
bigquery.datasets.get
-
ターゲット データセットに対する
bigquery.datasets.update
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
ServiceNow のデータ転送を設定する
ServiceNow データ転送は、Google Cloud コンソールまたは bq コマンドライン ツールで作成できます。
コンソール
Google Cloud コンソールの [データ転送] ページに移動します。
[
転送を作成] をクリックします。[ソースタイプ] セクションの [ソース] で、[ServiceNow] を選択します。
[データソースの詳細] セクションで、次のようにします。
- [インスタンス ID] に、ServiceNow インスタンス ID を入力します。これは ServiceNow URL(例:
https://INSTANCE_ID.service-now.com
)から取得できます。 - [ユーザー名] に、接続に使用する ServiceNow ユーザー名を入力します。
- [パスワード] に ServiceNow のパスワードを入力します。
- [クライアント ID] には、OAuth 認証情報のクライアント ID を入力します。認証情報を生成するには、OAuth 認証情報を作成するをご覧ください。
- [クライアント シークレット] に、OAuth 認証情報のクライアント シークレットを入力します。
- [値のタイプ] で、次のいずれかを選択します。
- データベースに保存されている値を転送するには、[実際] を選択します。
- 列の表示値を転送するには、[表示] を選択します。
- [インスタンス ID] に、ServiceNow インスタンス ID を入力します。これは ServiceNow URL(例:
[転送先の設定] セクションの [データセット] には、データを保存するために作成したデータセットを選択します。
[転送構成名] セクションの [表示名] に、データ転送の名前を入力します。
[スケジュール オプション] セクションで、次の操作を行います。
[繰り返しの頻度] リストで、この転送の実行頻度を指定するオプションを選択します。カスタムの繰り返しの頻度を指定するには、[カスタム] を選択します。[オンデマンド] を選択した場合、手動で転送をトリガーすると、このデータ転送が実行されます。
必要に応じて、[すぐに開始可能] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。
[サービス アカウント] メニューで、Google Cloud プロジェクトに関連付けられたサービス アカウントからサービス アカウントを選択します。選択したサービス アカウントには、このデータ転送の実行に必要なロールが付与されている必要があります。
フェデレーション ID でログインした場合、データ転送を作成するにはサービス アカウントが必要です。Google アカウントでログインした場合、転送用のサービス アカウントは省略可能です。
データ転送でサービス アカウントを使用する方法の詳細については、サービス アカウントの使用をご覧ください。
省略可: [通知オプション] セクションで、次のようにします。
- メール通知を有効にするには、[メール通知] をクリックします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
- このデータ転送の Pub/Sub 転送実行通知を有効にするには、[Pub/Sub 通知] をクリックします。トピック名を選択するか、[トピックを作成] をクリックしてトピックを作成します。
[保存] をクリックします。
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 に転送する際に費用は発生しません。
次のステップ
- BigQuery Data Transfer Service の概要については、BigQuery Data Transfer Service の概要をご覧ください。
- 転送構成に関する情報の取得、転送構成の一覧表示、転送の実行履歴の表示など、転送の使用方法については、転送の操作をご覧ください。
- クロスクラウドの操作でデータを読み込む方法を学習する。