Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$VERIFY_EXTERNAL_VOLUME

Verifica a configuração de um volume externo especificado.

Para volumes externos com acesso de gravação, o Snowflake tenta as seguintes operações adicionais para verificar a configuração:

  • Escreve um arquivo de teste.

  • Lê o arquivo de teste.

  • Lista os arquivos no local de armazenamento.

  • Exclui o arquivo de teste.

Consulte também:

Armazenamento para tabelas Apache Iceberg™, Configuração de um volume externo, CREATE EXTERNAL VOLUME

Sintaxe

SYSTEM$VERIFY_EXTERNAL_VOLUME('<external_volume_name>')
Copy

Argumentos

external_volume_name

Nome do volume externo a ser verificado. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Identificadores entre aspas duplas também diferenciam maiúsculas de minúsculas.

Retornos

A função retorna um objeto JSON com as propriedades descritas abaixo:

Propriedade

Descrição

success

O status do teste de verificação. Retorna TRUE se todas as ações foram concluídas; retorna FALSE se alguma ação não foi concluída conforme o esperado.

storageLocationSelectionResult

O resultado da seleção de um local de armazenamento ativo para o volume externo. Retorna TRUE se o Snowflake pode selecionar com sucesso um local ativo; caso contrário, retorna FALSE.

storageLocationName

O nome do local de armazenamento ativo.

servicePrincipalProperties

As propriedades da entidade de serviço Snowflake para o provedor de nuvem do local de armazenamento ativo.

location

O BASE_URL do local de armazenamento ativo.

storageAccount

Para o Azure, a conta de armazenamento do local de armazenamento ativo.

region

A região do local de armazenamento ativo.

writeResult

O resultado da gravação de um arquivo de teste no local de armazenamento ativo. Ignorado para volumes externos somente leitura.

readResult

O resultado da leitura de um arquivo de teste do local de armazenamento ativo. Ignorado para volumes externos somente leitura.

listResult

O resultado da listagem do conteúdo do local de armazenamento ativo. Ignorado para volumes externos somente leitura.

deleteResult

O resultado da exclusão de um arquivo de teste gravado no local de armazenamento ativo. Ignorado para volumes externos somente leitura.

awsRoleArnValidationResult

Para o Amazon S3, retorna o resultado da validação do nome de recurso da Amazon (ARN) para a função IAM usada pelo volume externo.

azureGetUserDelegationKeyResult

Para o Azure, retorna o resultado da obtenção de uma chave de delegação de usuário.

Valores de resultado

Propriedades de retorno que indicam que um resultado pode ter os seguintes valores:

Valor do resultado

Descrição

PASSED

A operação foi bem-sucedida.

SKIPPED

A operação não é aplicável ao volume externo especificado. Por exemplo, as operações de leitura, gravação, listagem e exclusão são ignoradas para volumes externos somente leitura.

<error_message>

Uma mensagem de erro detalhada.

Exemplo de saída

{
  "success": true,
  "storageLocationSelectionResult": "PASSED",
  "storageLocationName": "my-azure-westus-1",
  "servicePrincipalProperties": "AZURE_MULTI_TENANT_APP_NAME: powerful-azure-ad-auth-test-snowflake-app_...; AZURE_CONSENT_URL: https://login.microsoftonline.com...",
  "location": "azure://myStorageAccount.blob.core.windows.net/myStorageLocation/",
  "storageAccount": "myStorageAccount",
  "region": "westus",
  "writeResult": "PASSED",
  "readResult": "PASSED",
  "listResult": "PASSED",
  "deleteResult": "PASSED",
  "awsRoleArnValidationResult": "SKIPPED",
  "azureGetUserDelegationKeyResult": "PASSED"
}
Copy

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

OWNERSHIP

Volume externo

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.

Exemplos

Verifique um volume externo nomeado my_s3_external_volume.

SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');
Copy