安排 ServiceNow 转移作业
借助适用于 ServiceNow 的 BigQuery Data Transfer Service,您可以自动安排和管理从 ServiceNow 到 BigQuery 的周期性加载作业。
限制
ServiceNow 转移作业受到以下限制:
- 不建议在同一 ServiceNow 实例上运行并发转移作业。
- 周期性转移作业之间的最短间隔时间为 15 分钟。周期性转移作业的默认间隔时间为 24 小时。
ServiceNow 从以下三个应用转移与业务相关的表:Procurement、Product Catalog 和 Contract Management。您可以转移下面的表:
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 Admin (roles/bigquery.admin
) IAM 角色。如需详细了解如何授予角色,请参阅管理访问权限。
此预定义角色可提供创建转移作业所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
创建转移作业需要以下权限:
-
针对用户的
bigquery.transfers.update
权限 -
针对目标数据集的
bigquery.datasets.get
权限 -
针对目标数据集的
bigquery.datasets.update
权限
设置 ServiceNow 数据转移作业
您可以在 Google Cloud 控制台或 bq 命令行工具中创建 ServiceNow 数据转移作业。
控制台
在 Google Cloud 控制台中,转到 BigQuery 页面。
点击数据转移 > 创建转移作业。
在来源类型部分的来源中,选择 ServiceNow。
在转移配置名称部分的显示名中,输入转移作业的名称。
在时间表选项部分中,执行以下操作:
在重复频率列表中,选择一个选项以指定此转移作业的运行频率。如需指定自定义重复频率,请选择自定义。如果您选择按需,则当您手动触发转移作业时,此转移作业会运行。
如果适用,请选择立即开始或在设置的时间开始,并提供开始日期和运行时间。
在目标设置部分的数据集中,选择您创建用来存储数据的数据集。
在数据源详细信息部分中,执行以下操作:
- 对于实例 ID,输入 ServiceNow 实例 ID。您可以从 ServiceNow 网址(例如
https://INSTANCE_ID.service-now.com
)获取此信息。 - 对于用户名,输入用于连接的 ServiceNow 用户名。
- 对于密码,输入 ServiceNow 密码。
- 对于客户端 ID,输入 OAuth 凭据中的客户端 ID。如需生成凭据,请参阅创建 OAuth 凭据。
- 在客户端密钥部分,输入 OAuth 凭据中的客户端密钥。
- 对于值类型,请选择以下选项之一:
- 要转移存储在数据库中的值,请选择实际。
- 要转移列的显示值,请选择显示。
- 对于实例 ID,输入 ServiceNow 实例 ID。您可以从 ServiceNow 网址(例如
在服务账号菜单中,从与您的 Google Cloud 项目关联的服务账号中选择一个服务账号。所选服务账号必须具有所需的角色才能运行此转移作业。
如果您使用联合身份登录,则需要有服务账号才能创建转移作业。如果您使用 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 中启用 Procurement、Product Catalog 或 Contract Management 应用,则会出现导致转移失败的问题。如需解决此问题,请启用所有三个应用。例如,激活 Procurement。
转移作业运行期间出现问题
出现问题,导致无法按预期创建转移作业运行。如需解决此问题,请执行以下操作:
- 检查 ServiceNow 账号凭据(例如用户名、密码、客户端 ID 和客户端密钥值)是否有效。
- 检查实例 ID 是否为 ServiceNow 实例的有效 ID。
价格
将 ServiceNow 数据转移到 BigQuery 的功能处于预览版阶段时,您无需付费即可使用此功能。
后续步骤
- 如需大致了解 BigQuery Data Transfer Service,请参阅 BigQuery Data Transfer Service 简介。
- 如需了解如何使用转移作业,包括获取有关转移作业配置的信息、列出转移作业配置以及查看转移作业的运行历史记录,请参阅处理转移作业。
- 了解如何通过跨云操作加载数据。