管理、更新和卸载 Snowflake Connector for ServiceNow®

Snowflake Connector for ServiceNow® 受 Connector 条款 的约束。

本主题及其中的各节介绍了安装和配置连接器后可能需要执行的常见任务。

更新连接器使用的刷新令牌

如果您使用 OAuth 身份验证设置连接器,必须定期更新刷新令牌。否则,一旦令牌过期,连接器将无法再访问 ServiceNow。默认情况下,令牌在生成 90 天后过期。

如果您为连接器配置 电子邮件警报,会在每月的第一天收到更新刷新令牌的提醒。如果令牌过期,当连接器无法访问 ServiceNow 时,您会收到一封电子邮件。

更新使用 Snowsight 安装的连接器的刷新令牌

如需在连接器是 使用 Snowsight 安装 的情况下更新刷新令牌,请执行下列操作:

  1. 以具有 ACCOUNTADMIN 角色的用户身份登录 Snowsight。

  2. 在导航菜单中,选择 Data Products » Marketplace

  3. 搜索 Snowflake Connector for ServiceNow®,然后选择连接器的磁贴。

  4. Connections 中,选择省略号按钮,然后选择 Refresh token

    备注

    确保您以最初配置连接器的用户的身份登录 ServiceNow。您可以在对话框的右上角查看当前登录的用户。

  5. 如需确认您允许连接器关联到您的 ServiceNow 账户,请在对话框中选择 Allow

    刷新令牌现已更新。

如需了解如何使用 SQL 命令更新刷新令牌,请参阅 使用 SQL 命令更新刷新令牌

使用 SQL 命令更新刷新令牌

如需使用 SQL 命令更新刷新令牌,请执行以下操作:

  1. 获取新的 OAuth 刷新令牌。确保您使用连接器当前正在使用的 client_idclient_secret 以及用户凭据。

  2. 通过查询 GLOBAL_CONFIG 视图 来找出密钥对象的完全限定名称:

    SELECT value:secret FROM GLOBAL_CONFIG WHERE key = 'connection_config';
    
    Copy
  3. 通过运行 ALTER SECRET 命令、更改以下参数,来更新密钥对象:

    • OAUTH_REFRESH_TOKEN 设置为您在第一步中检索到的 OAuth 刷新令牌。

    • OAUTH_REFRESH_TOKEN_EXPIRY_TIME 设置为 UTC 时区的刷新令牌过期时间戳。您可以通过将来自 ServiceNow 的刷新令牌有效期与令牌发布日期相加,计算出有效期。默认情况下,令牌有效期为 100 天。

    例如,如需更新 secretsdb.apiauth.servicenow_creds_oauth_code 密钥,请运行以下命令:

    ALTER SECRET secretsdb.apiauth.servicenow_creds_oauth_code SET OAUTH_REFRESH_TOKEN = '34n;vods4nQsdg09wee4qnfvadH', OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '2022-01-06 20:00:00';
    
    Copy

    备注

    如需更新密钥,您必须使用具有 OWNERSHIP 权限的角色。

更新基本身份验证的 ServiceNow 密码

要更新密码,您需要找到一个现有的密钥并使用 ALTER SECRET 命令进行修改。

  1. 使用 Snowsight 或 SQL 命令确定密钥对象的完全限定名称。

    要使用 Snowsight 获取密钥,请执行以下操作:

    1. 以具有 ACCOUNTADMIN 角色的用户身份登录 Snowsight。

    2. 在导航菜单中,选择 Data Products » Marketplace

    3. 搜索 Snowflake Connector for ServiceNow®,然后选择连接器的磁贴。

    4. Connections 中,选择 ServiceNow 标签右侧的 ellipses,然后选择 View details

      随即显示 ServiceNow Connection Configuration 对话框,其中显示密钥对象,例如:CONNECTORS_UI.SERVICENOW_GZSTZTP0KHD.SECRET

    要使用 SQL 命令获取密钥,请查询 GLOBAL_CONFIG 视图

    SELECT VALUE:secret FROM GLOBAL_CONFIG WHERE KEY = 'connection_config';
    
    Copy
  2. 停止 连接器。

  3. 通过运行 ALTER SECRET 命令、更改 PASSWORD 参数来更新密钥对象。

    例如,如需更新 secretsdb.apiauth.servicenow_basic_auth 密钥,请运行以下命令:

    ALTER SECRET secretsdb.apiauth.servicenow_basic_auth SET PASSWORD = 'W3dr@fg*7B1c4j';
    
    Copy
  4. 恢复 连接器。

    密码现已更新并由连接器使用。

备注

与更改密码类似,您可以选择使用 ALTER SECRET 命令更新用户名。只需将 USERNAME 参数设置为新用户名即可。在更改用户名之前,请确保新用户名至少具有与之前用户名相同的权限,否则,连接器可能无法正常运行。

删除使用 Snowsight 安装期间创建的对象

移除连接器数据库不会删除存储在单独数据库中的引入数据或在使用 Snowsight 执行的安装期间创建的对象。

如需查看安装期间创建的对象,请执行以下操作:

  1. 以具有 ACCOUNTADMIN 角色的用户身份登录 Snowsight。

  2. 在导航菜单中,选择 Data Products » Marketplace

  3. 搜索 Snowflake Connector for ServiceNow®,然后将其选中。

  4. Snowflake Connector for ServiceNow® 页面中,找到 Connector Objects 区域。

如需删除这些对象,请运行 DROP <object> 命令。

例如,如需删除密钥,请运行 DROP SECRET 语句。

卸载并删除手动安装期间创建的对象

移除连接器数据库不会删除存储在单独数据库中的引入数据,也不会删除您在安装连接器时创建的对象。这些对象包括:

如需删除这些对象,请运行 DROP <object> 语句。例如,如需删除密钥,请运行 DROP SECRET 语句。

要删除 Snowflake Connector for ServiceNow®,请使用 DROP DATABASE

DROP DATABASE <database_name>;
Copy

其中

database_name

指定在 连接器安装 期间创建的数据库的名称。

例如,如需删除名为 my_connector_servicenow 的数据库中安装的连接器,请运行以下命令:

DROP DATABASE my_connector_servicenow;
Copy

删除表

如需删除表(例如无意中启用的表)并且不在 监控连接器的视图 中显示该表,请使用以下过程:

CALL DELETE_TABLE('<table_name>');
Copy

其中:

table_name

指定要删除的表的名称。该表必须 已禁用,并且未在 重新加载

备注

DELETE_TABLE 过程不会移除在数据库中为此表创建的对象,以及在 Snowflake 中包含 ServiceNow 数据的架构(原始数据表事件日志表)。您可以手动删除这些对象。

升级连接器

本部分介绍如何在 Snowflake 账户中升级连接器。

目前,连接器不会自动升级。如需将连接器升级到最新版本,请调用名为 RUN_UPGRADE 的过程:

CALL RUN_UPGRADE();
Copy

您可以随时执行此升级(前提是没有其他人同时配置连接器)。

升级应该会很快完成。升级会暂时禁用 ServiceNow 数据引入。升级完成后,连接器将恢复数据引入。

备注

运行升级时,请确保没有人同时配置连接器。

使用相同的数据库和 ServiceNow 数据架构重新安装连接器

如果您移除了连接器,但包含引入数据的数据库和架构保持不变,则您可以稍后重新安装连接器并从连接器上次运行的时间点恢复数据引入。

备注

为了确保数据一致性,请等到当前引入完成并停止连接器后,再卸载连接器。

  1. 查询 TABLES_STATE 视图并验证当前没有表处于 RUNNING 状态:

    SELECT * FROM TABLES_STATE;
    
    Copy
  2. 如果连接器正在引入数据,请等待引入完成。这对于确保数据的完全一致性非常重要。

  3. 如果当前没有正在进行任何引入,请通过调用以下存储过程来停止连接器:

CALL STOP_CONNECTOR();
Copy

移除连接器 后,您可以通过以下方式重新安装连接器:

在安装过程中:

  • 提供以前使用的数据库和架构。

  • 提供相同的 ServiceNow 实例 URL。

对于其他实参,您可以再次使用 安装连接器时创建的对象,或者您也可以使用新对象。

备注

您还必须再次重复 配置连接器的步骤,包括启用 ServiceNow 表以进行同步的步骤。

如果您创建新对象或 为连接器创建新的自定义角色,必须确保该角色具有所需的权限。 有关详细信息,请参阅接下来的部分:

为新连接器再次使用相同的自定义角色

如果您将之前安装连接器时使用的 自定义角色用于连接器,则只需为 首次安装连接器时 <installing-sql>`创建的任何 :emph:`新 对象授予所需的权限即可。该角色应该已经具有对您重用的任何其他对象(包括包含引入数据的数据库和架构中的表和视图)的所需权限。

您还必须 为新安装的连接器授予自定义角色

备注

如果您对自定义角色运行 CREATE OR REPLACE ROLE,则从技术上来讲,该角色是一个同名的新对象。您必须按照以下部分中的步骤进行操作。

为新连接器使用新的自定义角色

如果您计划为重新安装的连接器使用新的自定义角色,则必须为该角色授予 为连接器创建自定义角色 下所列的所有权限,并且您必须确保新角色对包含引入数据的数据库和架构中的表和视图拥有所需权限。

如需授予所需的权限,请为新的自定义角色授予对此架构中的表和视图的 OWNERSHIP。

语言: 中文