TRY_TO_FILE¶
Uma versão de TO_FILE que retorna NULL em vez de gerar um erro.
Sintaxe¶
Use uma das seguintes opções:
TRY_TO_FILE( <stage_name>, <relative_path> ) TRY_TO_FILE( <file_url> ) TRY_TO_FILE( <metadata> )
Argumentos¶
Especifique o arquivo fornecendo:
stage_nameerelative_pathfile_urlmetadata
Apenas um desses métodos pode ser usado por vez.
stage_nameO nome do estágio em que o arquivo está localizado, como uma cadeia de caracteres, no formato
'@stage_name'.relative_pathO caminho para o arquivo no estágio especificado por
stage_namecomo uma cadeia de caracteres.file_urlUm URL de arquivo com escopo ou estágio válido como uma cadeia de caracteres.
metadataUm OBJECT contendo os atributos FILE necessários. Um FILE deve ter os campos CONTENT_TYPE, SIZE, ETAG e LAST_MODIFIED. Ele também deve especificar a localização do arquivo de uma das seguintes maneiras:
Tanto STAGE quanto RELATIVE_PATH
STAGE_FILE_URL
SCOPED_FILE_URL
Retornos¶
Um FILE ou NULL.
Notas de uso¶
Retorna NULL quando:
O URL fornecido não é válido.
O arquivo está em uma área de preparação ao qual o usuário não tem privilégios de acesso.
Os metadados fornecidos não contêm os campos obrigatórios do FILE.
Exemplos¶
Ao contrário de TO_FILE, que gera um erro em argumentos inválidos, TRY_TO_FILE retorna NULL nesta situação. Caso contrário, funciona exatamente como TO_FILE.
O exemplo abaixo ilustra o comportamento de TRY_TO_FILE quando recebe um caminho de arquivo inválido, supondo que o arquivo image.png exista no área de preparação, mas os outros dois arquivos não.
SELECT
TRY_TO_FILE('@mystage/image.png'),
TRY_TO_FILE('@mystage/incorrect_file1.jpg'),
TRY_TO_FILE('@mystage', 'incorrect_file2.png');
Resultado:
+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+
| TRY_TO_FILE('@MYSTAGE/IMAGE.PNG') | TRY_TO_FILE('@MYSTAGE/INCORRECT_FILE1.JPG') | TRY_TO_FILE('@MYSTAGE', 'INCORRECT_FILE2.PNG') |
|-----------------------------------------------------|---------------------------------------------|------------------------------------------------|
| { | NULL | NULL |
| "CONTENT_TYPE": "image/png", | | |
| "ETAG": "2859efde6e26491810f619668280a2ce", | | |
| "LAST_MODIFIED": "Thu, 18 Sep 2025 09:02:00 GMT", | | |
| "RELATIVE_PATH": "image.png", | | |
| "SIZE": 23698, | | |
| "STAGE": "@MYDB.MYSCHEMA.MYSTAGE" | | |
| } | | |
+-----------------------------------------------------+---------------------------------------------+------------------------------------------------+
Para ver mais exemplos de criação de objetos FILE a partir de entradas válidas, consulte Exemplos de TO_FILE.