ALTER SERVICE

Modifica a configuração do serviço Snowpark Container Services, atualiza o código do serviço e permite suspender ou retomar um serviço. Você pode:

  • Aplicar modificações a um serviço em execução. Por exemplo, suspenda ou retome um serviço e atualize o número de instâncias de serviço em execução.

  • Aplicar modificações que entrarão em vigor somente após o serviço ser reiniciado. Por exemplo, especifique um warehouse padrão para consultas.

  • Aplicar modificações que façam com que o Snowflake desligue o serviço e reinicie usando o novo código. Por exemplo, talvez você queira implementar um código de serviço atualizado.

Consulte também:

CREATE SERVICE , DESCRIBE SERVICE, DROP SERVICE , SHOW SERVICES

Sintaxe

ALTER SERVICE [ IF EXISTS ] <name> { SUSPEND | RESUME }

ALTER SERVICE [ IF EXISTS ] <name>
  {
    FROM @<stage>
    SPECIFICATION_FILE = '<yaml_file_stage_path>'
    |
    FROM SPECIFICATION <specification_text>
  }

ALTER SERVICE [ IF EXISTS ] <name> SET [ MIN_INSTANCES = <num> ]
                                       [ MAX_INSTANCES = <num> ]
                                       [ QUERY_WAREHOUSE = <warehouse_name> ]
                                       [ AUTO_RESUME = { TRUE | FALSE } ]
                                       [ COMMENT = '<string_literal>' ]

ALTER SERVICE [ IF EXISTS ] <name> UNSET { MIN_INSTANCES      |
                                           MAX_INSTANCES      |
                                           QUERY_WAREHOUSE    |
                                           AUTO_RESUME        |
                                           COMMENT
                                         }
                                         [ , ... ]
Copy

Parâmetros

name

Especifica o identificador do serviço 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.

{ SUSPEND | RESUME }

Especifica se o serviço deve ser suspenso ou retomado.

Quando você suspende um serviço, o Snowflake é encerrado e exclui os contêineres. Se você retomar posteriormente um serviço suspenso, o Snowflake recriará os contêineres. Ou seja, o Snowflake pega a imagem do seu repositório e inicia os containers. Observe que, se a imagem no repositório foi atualizada, o Snowflake usa a imagem atualizada para recriar os contêineres.

Quando você invoca um serviço suspenso usando uma função de serviço ou invocando o ponto de extremidade público (entrada), o Snowflake retoma automaticamente o serviço.

FROM stage

Especifica o estágio interno do Snowflake onde o arquivo de especificação está armazenado; por exemplo, «@tutorial_stage.»

SPECIFICATION_FILE = 'yaml_file_stage_path'

Especifica o caminho para o arquivo de especificação de serviço no estágio; por exemplo, «/some-dir/echo_spec.yaml».

FROM SPECIFICATION specification_text

Especifica a especificação do serviço. Você pode usar um par de cifrões ($$) para delimitar o início e o fim da cadeia de caracteres de especificação.

SET ...

Define uma ou mais propriedades ou parâmetros especificados para o serviço:

MIN_INSTANCES = num

Especifica o número mínimo de instâncias de serviço.

MAX_INSTANCES = num

Especifica o número máximo de instâncias de serviço.

QUERY_WAREHOUSE = warehouse_name

Warehouse a ser usado se um contêiner de serviço se conectar ao Snowflake para executar uma consulta, mas não especificar explicitamente um warehouse a ser usado.

AUTO_RESUME = { TRUE | FALSE }

Especifica se o serviço deve ser retomado automaticamente quando a função de serviço é chamada ou uma solicitação é recebida.

COMMENT = 'string_literal'

Especifica um comentário para o pool de computação.

UNSET ...

Especifica uma ou mais propriedades e/ou parâmetros a serem removidos da definição para o serviço, que os redefine aos padrões (consulte CREATE SERVICE):

  • MIN_INSTANCES

  • MAX_INSTANCES

  • QUERY_WAREHOUSE

  • AUTO_RESUME

  • COMMENT

Requisitos de controle de acesso

Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:

Privilégio

Objeto

Notas

OPERATE

Serviço

Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.

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

Suspenda um serviço.

ALTER SERVICE echo_service SUSPEND;
Copy

Modifique as propriedades MIN_INSTANCES e MAX_INSTANCES de um serviço existente.

ALTER SERVICE echo_service SET MIN_INSTANCES=3 MAX_INSTANCES=5;
Copy