ALTER GATEWAY

Modifica a configuração de um gateway existente. Use este comando para atualizar a configuração de divisão de tráfego de um gateway.

Consulte também:

CREATE GATEWAY, DESCRIBE GATEWAY, DROP GATEWAY, SHOW GATEWAYS

Sintaxe

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

Parâmetros

name

Especifica o identificador do gateway a ser alterado.

Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Para obter mais informações, consulte Requisitos para identificadores.

FROM SPECIFICATION

Determina a especificação atualizada do gateway em linha. A especificação define a configuração de divisão do tráfego.

A especificação usa o seguinte formato:

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

Parâmetros da especificação

type

Valor fixo. Deve ser definido como traffic_split.

split_type

Valor fixo. Deve ser definido como custom.

targets

Uma lista de pontos de extremidade de destino para os quais rotear o tráfego. Cada destino deve especificar:

type

Valor fixo. Deve ser definido como endpoint.

value

O nome do ponto de extremidade totalmente qualificado no formato db.schema.service!endpoint. Cada ponto de extremidade de destino deve existir.

weight

O peso do tráfego para este ponto de extremidade, especificado como um número inteiro. Todos os pesos devem somar no máximo 100.

Nota

  • Por padrão, o número máximo de pontos de extremidade por gateway é 5.

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

MODIFY ou OWNERSHIP

Gateway

Necessário para alterar a configuração do gateway.

BIND SERVICE ENDPOINT

Conta

Necessário para vincular pontos de extremidade de serviço ao gateway.

USAGE

Banco de dados

Necessário no banco de dados que contém o gateway.

USAGE

Esquema

Necessário no esquema que contém o gateway.

USAGE

Pontos de extremidade de serviço

Necessário nos pontos de extremidade de serviço de destino.

Para conceder os privilégios necessários, use os seguintes comandos:

-- 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

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • Em relação aos metadados:

    Atenção

    Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.

Exemplos

Alterar um gateway para atualizar a configuração de divisão do tráfego:

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