ALTER GATEWAY

修改现有 网关 的配置。使用此命令可更新网关的流量拆分配置。

另请参阅:

CREATE GATEWAYDESCRIBE GATEWAYDROP GATEWAYSHOW GATEWAYS

语法

ALTER GATEWAY [ IF EXISTS ] <name>
  FROM SPECIFICATION <specification_text>
Copy

参数

name

指定要更改的网关的标识符。

如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

FROM SPECIFICATION

指定内联更新的网关规范。该规范定义了流量拆分配置。

该规范使用以下格式:

spec:
  type: traffic_split
  split_type: custom
  targets:
  - type: endpoint
    value: <db>.<schema>.<service>!<endpoint>
    weight: <weight>
  - type: endpoint
    value: <db>.<schema>.<service>!<endpoint>
    weight: <weight>
Copy

规范参数

type

固定值。必须设置为 traffic_split

split_type

固定值。必须设置为 custom

targets

要将流量路由到的目标端点列表。每个目标必须指定:

type

固定值。必须设置为 endpoint

value

完全限定端点名称,格式为 db.schema.service!endpoint。每个目标端点都必须存在。

weight

此端点的流量权重,指定为整数。所有权重之和必须为 100。

备注

  • 默认情况下,每个网关的最大端点数为 5。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

MODIFY 或 OWNERSHIP

网关

更改网关配置时需要。

BIND SERVICE ENDPOINT

账户

将服务端点绑定到网关时需要。

USAGE

数据库

对于包含网关的数据库是必需的。

USAGE

架构

对于包含网关的架构是必需的。

USAGE

服务端点

对于目标服务端点是必需的。

要授予所需权限,请使用以下命令:

-- Grant MODIFY or OWNERSHIP privilege on the gateway
GRANT MODIFY ON GATEWAY <gateway_name> TO ROLE <role_name>;
-- OR
GRANT OWNERSHIP ON GATEWAY <gateway_name> TO ROLE <role_name>;

-- Grant BIND SERVICE ENDPOINT privilege on the account
GRANT BIND SERVICE ENDPOINT ON ACCOUNT TO ROLE <role_name>;
Copy

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

更改网关以更新流量拆分配置:

ALTER GATEWAY split_gateway
  FROM SPECIFICATION $$
spec:
  type: traffic_split
  split_type: custom
  targets:
  - type: endpoint
    value: db.schema.s2!ep1
    weight: 60
  - type: endpoint
    value: db.schema.s1!ep1
    weight: 40
$$;
Copy
语言: 中文