SHOW SERVICES

Lista os serviços Snowpark Container Services (incluindo serviços de trabalho) para os quais você tem privilégios de acesso.

  • A saída SHOW SERVICES também inclui serviços executados como trabalhos (consulte EXECUTE JOB SERVICE).

  • SHOW JOB SERVICES fornece apenas a lista de serviços em execução como trabalhos.

  • A saída SHOW SERVICES EXCLUDE JOBS não inclui serviços executados como trabalhos.

Consulte também:

CREATE SERVICE , ALTER SERVICE, DROP SERVICE , DESCRIBE SERVICE, SHOW SERVICE INSTANCES IN SERVICE, SHOW SERVICE CONTAINERS IN SERVICE

Sintaxe

SHOW [ JOB ] SERVICES [ EXCLUDE JOBS ] [ LIKE '<pattern>' ]
           [ IN
                {
                  ACCOUNT                  |

                  DATABASE                 |
                  DATABASE <database_name> |

                  SCHEMA                   |
                  SCHEMA <schema_name>     |
                  <schema_name>            |

                  COMPUTE POOL <compute_pool_name>
                }
           ]
           [ STARTS WITH '<name_string>' ]
           [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

Parâmetros

LIKE 'pattern'

Opcionalmente, filtra a saída do comando pelo nome do objeto. O filtro utiliza correspondência de padrão que não diferencia maiúsculas e minúsculas, com suporte para caracteres curinga SQL (% e _).

Por exemplo, os seguintes padrões retornam os mesmos resultados:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. padrão: sem valor (nenhuma filtragem é aplicada à saída).

[ IN ... ]

Opcionalmente, especifica o escopo do comando. Especifique um dos seguintes:

ACCOUNT

Retorna registros para toda a conta.

DATABASE, . DATABASE db_name

Retorna registros do banco de dados atual em uso ou de um banco de dados especificado (db_name).

Se você especificar DATABASE sem db_name e nenhum banco de dados estiver em uso, a palavra-chave não terá efeito sobre a saída.

Nota

Usar comandos SHOW sem uma cláusula IN em um contexto de banco de dados pode resultar em menos resultados do que o esperado.

Os objetos com o mesmo nome são exibidos apenas uma vez se não for usada a cláusula IN. Por exemplo, se a tabela t1 estiver em schema1 e a tabela t1 estiver em schema2 e ambas estiverem no escopo do contexto do banco de dados especificado (ou seja, o banco de dados selecionado é o pai de schema1 e schema2), então SHOW TABLES exibirá apenas uma das tabelas t1.

SCHEMA, . SCHEMA schema_name

Retorna registros do esquema atual em uso ou de um esquema especificado (schema_name).

SCHEMA é opcional se um banco de dados estiver em uso ou se você especificar o schema_name totalmente qualificado (por exemplo, db.schema).

Se nenhum banco de dados estiver em uso, a especificação SCHEMA não terá efeito sobre a saída.

Padrão: depende se a sessão tem ou não um banco de dados em uso no momento:

  • Banco de dados: DATABASE é o padrão (ou seja, o comando retorna os objetos nos quais você tem privilégios para visualizar no banco de dados).

  • Sem banco de dados: ACCOUNT é o padrão (ou seja, o comando retorna os objetos que você tem privilégios de visualização em sua conta).

STARTS WITH 'name_string'

Opcionalmente, filtra a saída do comando com base nos caracteres que aparecem no início do nome do objeto. A cadeia de caracteres deve ser colocada entre aspas simples e faz distinção entre letras maiúsculas e minúsculas.

Por exemplo, as seguintes cadeias de caracteres retornam resultados diferentes:

... STARTS WITH 'B' ...
... STARTS WITH 'b' ...

. Padrão: sem valor (nenhuma filtragem é aplicada à saída)

LIMIT rows

Opcionalmente, limita o número máximo de linhas retornadas. O número real de linhas retornadas pode ser menor que o limite especificado. Por exemplo, o número de objetos existentes é menor que o limite especificado.

Padrão: sem valor (nenhum limite é aplicado à saída).

Saída

A saída do comando fornece propriedades de serviço e metadados nas seguintes colunas:

Coluna

Descrição

name

Nome do serviço Snowpark Container Services.

status

Um dos seguintes valores, que indica o status atual do serviço:

  • PENDING

  • RUNNING

  • FAILED

  • DONE

  • SUSPENDING

  • SUSPENDED

  • DELETING

  • DELETED

  • INTERNAL_ERROR

database_name

Banco de dados no qual o serviço é criado.

schema_name

Esquema no qual o serviço é criado.

owner

Função proprietária do serviço.

compute_pool

Nome do pool de computação onde o Snowflake executa o serviço.

dns_name

Nome do serviço DNS atribuído pelo Snowflake neste formato: service-name.unique-id.svc.spcs.internal.

O unique-id é um identificador alfanumérico de 4 a 8 caracteres exclusivo para uma instância específica de um esquema de banco de dados. Para encontrar o ID único para um esquema, chame a função SYSTEM$GET_SERVICE_DNS_DOMAIN. Por exemplo:

SELECT SYSTEM$GET_SERVICE_DNS_DOMAIN('mydb.myschema');
Copy

Observe o seguinte:

  • Se você renomear um esquema, o identificador permanecerá inalterado.

  • Se você descartar e recriar um esquema com o mesmo nome, o identificador será alterado.

O nome DNS permite comunicações entre serviços (consulte o Tutorial 3).

current_instances

O número atual de instâncias do serviço.

target_instances

O número de destino de instâncias de serviço que devem estar em execução, conforme determinado pelo Snowflake.

Quando o valor de current_instances não é igual ao valor de target_instances, o Snowflake está no processo de encerramento ou inicialização de instâncias de serviço.

Por exemplo, considere o seguinte:

  • Suponha que você crie um serviço com MIN_INSTANCES = 1 e MAX_INSTANCES = 3. Enquanto o serviço estiver em execução, o Snowflake pode determinar que uma instância não é suficiente. Nesse caso, o valor de target_instances aumentará, indicando que o Snowflake está no processo de iniciar instâncias adicionais.

    Também é possível que o valor de target_instances seja menor que o valor de current_instances, o que indica que o Snowflake está em processo de reduzir o número de instâncias em execução.

  • Se você criar serviços, mas o pool de computação não tiver capacidade para o número mínimo de instâncias solicitado, o valor de target_instances será igual ao valor de min_instances. O valor de current_instances será menor que o valor de target_instances.

min_ready_instances

Indica as instâncias mínimas de serviço que devem estar prontas para que o Snowflake considere que o serviço está pronto para processar solicitações.

min_instances

Número mínimo de instâncias de serviço que o Snowflake deve executar.

max_instances

Número máximo de instâncias de serviço que o Snowflake pode dimensionar quando necessário.

auto_resume

Se true, o Snowflake retoma automaticamente o serviço, se suspenso, quando a função de serviço é chamada ou quando uma solicitação de entrada (ingresso) é recebida (consulte Como usar um serviço).

external_access_integrations

Lista de integrações de acesso externo associadas ao serviço. Para obter mais informações, consulte Configuração da saída da rede.

created_on

Data e hora em que o serviço foi criado.

updated_on

Data e hora da última atualização do serviço.

resumed_on

Carimbo de data/hora em que o serviço foi retomado pela última vez.

suspended_on

O carimbo de data/hora em que o serviço foi suspenso pela última vez. suspended_on é definido quando o Snowflake suspende um serviço e permanece inalterado mesmo depois que o serviço é retomado. Se suspended_on for NULL, o serviço nunca foi suspenso.

auto_suspend_secs

Número de segundos de inatividade após os quais o Snowflake suspende automaticamente o serviço. Se auto_suspend_secs for definido como 0 ou nunca for definido, o Snowflake não suspenderá automaticamente o serviço.

comment

Comentário relacionado ao serviço.

owner_role_type

O tipo de função que possui o objeto, seja ROLE ou DATABASE_ROLE.

query_warehouse

Quando um contêiner de serviço se conecta ao Snowflake para executar uma consulta e não especifica explicitamente um warehouse para usar, o Snowflake usa esse warehouse como padrão.

is_job

true se o serviço for um serviço de trabalho; caso contrário, false. SHOW JOB SERVICES e SHOW SERVICES EXCLUDE JOBS não incluem esta coluna na saída.

is_async_job

Se TRUE, o serviço de trabalho está sendo executado de forma assíncrona. Por padrão, o Snowflake executa os serviços de trabalho de forma síncrona. Essa coluna é incluída na saída dos comandos SHOW SERVICES e SHOW JOB SERVICES, mas não na saída do comando SHOW SERVICES EXCLUDING JOBS.

spec_digest

O identificador único e imutável que representa o conteúdo da especificação do serviço.

Para observar as alterações no valor da coluna spec_digest ao longo do tempo, um usuário do serviço pode executar o comando SHOW SERVICES periodicamente. Se o usuário do serviço notar uma mudança no valor, ele pode inferir que o serviço foi atualizado.

is_upgrading

TRUE, se a Snowflake estiver no processo de atualização do serviço.

managing_object_domain

O domínio do objeto de gerenciamento (por exemplo, o domínio do notebook que gerencia o serviço). NULL, se o serviço não for gerenciado por uma entidade Snowflake.

managing_object_name

O nome do objeto de gerenciamento (por exemplo, o nome do notebook que gerencia o serviço). NULL, se o serviço não for gerenciado por uma entidade Snowflake.

Requisitos de controle de acesso

Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:

Privilégio

Objeto

Notas

Qualquer um destes privilégios: OWNERSHIP, USAGE, MONITOR ou OPERATE

Serviço

O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.

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

  • O comando não precisa de um warehouse em funcionamento para ser executado.

  • O comando retorna apenas objetos para os quais a função atual do usuário atual recebeu pelo menos um privilégio de acesso.

  • O privilégio de acesso MANAGE GRANTS permite implicitamente que seu titular consulte todos os objetos da conta. Por padrão, somente o administrador de conta (usuários com a função ACCOUNTADMIN) e o administrador de segurança (usuários com a função SECURITYADMIN) têm o privilégio MANAGE GRANTS.

  • Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada. Você também pode usar o operador de canal para consultar a saída desse comando.

  • O comando retorna um máximo de dez mil registros para o tipo de objeto especificado, conforme ditado pelos privilégios de acesso da função usada para executar o comando. Todos os registros acima do limite de dez mil registros não são retornados, mesmo com um filtro aplicado.

    Para visualizar os resultados para os quais existem mais de dez mil registros, consulte a exibição correspondente (se houver) em Snowflake Information Schema.

Exemplos

O exemplo a seguir lista os serviços no banco de dados e no esquema atuais da sessão:

SHOW SERVICES;
Copy

Exemplo de saída:

+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+
| name         | status  | database_name | schema_name | owner     | compute_pool          | dns_name                            | current_instances | target_instances | min_ready_instances | min_instances | max_instances | auto_resume | external_access_integrations | created_on                    | updated_on                    | resumed_on | suspended_on | auto_suspend_secs | comment | owner_role_type | query_warehouse | is_job | is_async_job | spec_digest                                                      | is_upgrading | managing_object_domain | managing_object_name |
|--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------|
| ECHO_SERVICE | RUNNING | TUTORIAL_DB   | DATA_SCHEMA | TEST_ROLE | TUTORIAL_COMPUTE_POOL | echo-service.k3m6.svc.spcs.internal |                 1 |                1 |                   1 |             1 |             1 | true        | NULL                         | 2024-11-29 12:12:47.310 -0800 | 2024-11-29 12:12:48.843 -0800 | NULL       | NULL         |                 0 | NULL    | ROLE            | NULL            | false  | false        | edaf548eb0c2744a87426529b53aac75756d0ea1c0ba5edb3cbb4295a381f2b4 | false        | NULL                   | NULL                 |
+--------------+---------+---------------+-------------+-----------+-----------------------+-------------------------------------+-------------------+------------------+---------------------+---------------+---------------+-------------+------------------------------+-------------------------------+-------------------------------+------------+--------------+-------------------+---------+-----------------+-----------------+--------+--------------+------------------------------------------------------------------+--------------+------------------------+----------------------+

O exemplo a seguir lista um serviço:

SHOW SERVICES LIMIT 1;
Copy

O exemplo a seguir lista serviços com nomes contendo «echo»:

SHOW SERVICES LIKE '%echo%';
Copy

O exemplo a seguir lista um serviço com um nome contendo «echo»:

SHOW SERVICES LIKE '%echo%' LIMIT 1;
Copy

O exemplo a seguir lista apenas serviços executados como um trabalho:

SHOW JOB SERVICES;
Copy