- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$VALIDATE_STORAGE_INTEGRATION¶
Valida a configuração para uma integração de armazenamento especificada. A função tenta usar a integração de armazenamento para gravar, ler, listar ou excluir um arquivo para um local de armazenamento especificado por caminho.
Para obter mais informações sobre como configurar integrações de armazenamento, consulte:
- Consulte também:
Sintaxe¶
SYSTEM$VALIDATE_STORAGE_INTEGRATION( '<storage_integration_name>', '<storage_path>', '<test_file_name>', '<validate_action>' )
Argumentos¶
storage_integration_name
Nome da integração de armazenamento a ser testada.
Os nomes de integração de armazenamento diferenciam maiúsculas de minúsculas.
storage_path
O caminho completo para um local de armazenamento que você deseja validar. O caminho de armazenamento deve ser um URL na lista
STORAGE_ALLOWED_LOCATIONS
para integração de armazenamento.Amazon S3
's3://bucket/path/'
O prefixo
s3
refere-se ao armazenamento S3 em regiões públicas do AWS. O prefixos3gov
refere-se ao armazenamento S3 em regiões governamentais.bucket
é o nome de um bucket S3 que armazena seus arquivos de dados.path
é um caminho ou diretório opcional no bucket.
Google Cloud Storage
'gcs://bucket/path/'
bucket
é o nome de um bucket GCS que armazena seus arquivos de dados.path
é um caminho ou diretório opcional no bucket.
Microsoft Azure
'azure://account.blob.core.windows.net/container/path/'
account
é o nome da conta de armazenamento Azure.container
é o nome de um contêiner de armazenamento de blob do Azure que armazena seus arquivos de dados.path
é um caminho ou diretório opcional no bucket.
test_file_name
O nome do arquivo a ser usado na validação da integração de armazenamento.
validate_action
A ação de validação a ser executada.
- Valores:
read
- Valida se o Snowflake pode ler o local de armazenamento. Esta ação falhará se o arquivo não existir.write
- Valida se o Snowflake pode gravar no local de armazenamento. Esta ação falhará se o arquivo já existir.list
- Valida se o Snowflake pode listar os arquivos no local de armazenamento.delete
- Valida se o Snowflake pode excluir arquivos no local de armazenamento.all
- Valida todas as ações possíveis no local de armazenamento.
Retornos¶
A função retorna um objeto JSON com as propriedades descritas abaixo:
Propriedade |
Descrição |
---|---|
|
O status do teste de validação. Retorna um status de |
|
Matriz de objetos com a ação de validação solicitada ( |
{
"status" : "success",
"actions" : {
"READ" : {
"status" : "success"
},
"DELETE" : {
"status" : "success"
},
"LIST" : {
"status" : "success"
},
"WRITE" : {
"status" : "success"
}
}
}
Exemplos¶
O exemplo a seguir valida a configuração da integração de armazenamento example_integration
para todas as ações de validação. O exemplo retorna um resultado bem-sucedido em JSON.
SELECT
SYSTEM$VALIDATE_STORAGE_INTEGRATION(
'example_integration',
's3://example_bucket/test_path/'',
'validate_all.txt', 'all');
Saída:
+----------------------------+
| RESULT |
+----------------------------+
| { |
| "status" : "success", |
| "actions" : { |
| "READ" : { |
| "status" : "success" |
| }, |
| "DELETE" : { |
| "status" : "success" |
| }, |
| "LIST" : { |
| "status" : "success" |
| }, |
| "WRITE" : { |
| "status" : "success" |
| } |
| } |
| } |
+----------------------------+
O exemplo a seguir mostra o resultado quando a integração de armazenamento não tem permissões read
.
SELECT
SYSTEM$VALIDATE_STORAGE_INTEGRATION(
'example_integration',
'gcs://example_bucket/test_path/'',
'read_fail.txt', 'all');
Saída:
+----------------------------------------------------------------------------------------------------------------+
| RESULT |
+----------------------------------------------------------------------------------------------------------------+
| { |
| "status" : "failure", |
| "actions" : { |
| "READ" : { |
| "message" : "Access Denied (Status Code: 403; Error Code: AccessDenied)", |
| "status" : "failure" |
| }, |
| "DELETE" : { |
| "status" : "success" |
| }, |
| "LIST" : { |
| "status" : "success" |
| }, |
| "WRITE" : { |
| "status" : "success" |
| } |
| }, |
| "message" : "Some of the integration checks failed. Check the Snowflake documentation for more information." |
| } |
+----------------------------------------------------------------------------------------------------------------+