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>
Parâmetros¶
nameEspecifica 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 SPECIFICATIONDetermina 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>
Parâmetros da especificação¶
typeValor fixo. Deve ser definido como
traffic_split.split_typeValor fixo. Deve ser definido como
custom.targetsUma lista de pontos de extremidade de destino para os quais rotear o tráfego. Cada destino deve especificar:
typeValor fixo. Deve ser definido como
endpoint.valueO nome do ponto de extremidade totalmente qualificado no formato
db.schema.service!endpoint. Cada ponto de extremidade de destino deve existir.weightO 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>;
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
$$;