Limitações de acesso à rede externa¶
Este tópico descreve limitações para acessar locais de rede externos a partir de funções e procedimentos definidos pelo usuário.
Limitações¶
Atualmente, os manipuladores escritos apenas em Java ou Python podem acessar locais de rede externos ao Snowflake.
Locais de rede externos que não estejam na internet pública não são suportados para acesso externo. Por exemplo, locais atrás de uma rede privada virtual (VPN) ou rede virtual (VNet) não podem ser alcançados por meio de uma UDF ou procedimento.
Ao usar um curinga em um valor VALUE_LIST em uma regra de rede, os seguintes não são usos válidos de curingas:
snowflake.*.google.com
Não pode ser usado para corresponder a
snowflake.sub1.sub2.google.com
porque o asterisco só pode ser usado para corresponder a caracteres alfanuméricos e hífens.*.*.google.com
Inválido porque há vários asteriscos no curinga.
*.com
Inválido porque o asterisco não pode ser usado para corresponder ao domínio de nível secundário.
Ao usar um segredo do tipo PASSWORD, o caractere de dois pontos (
:
) não é compatível com os parâmetros USERNAME ou PASSWORD.Dentro do código do manipulador, você deve acessar o API do segredo do thread principal do procedimento ou UDF. Se o código do seu manipulador bifurcar um novo thread e tentar usar um API do segredo dele, você verá um erro como este:
Secrets can only be accessed from the main thread.
Por exemplo, o seguinte código Python irá gerar um erro:
with ThreadPoolExecutor(max_workers=1) as executor: futures = [executor.submit(function, get_generic_secret)]
Por padrão, o Snowflake não habilita o acesso externo para contas de avaliação. Entre em contato com seu representante de conta para habilitar o acesso externo para uma conta de avaliação.
O Snowflake não oferece suporte à especificação de
0.0.0.0
em uma regra de rede como uma forma de permitir a saída para qualquer destino de um procedimento armazenado ou UDF.