Catégories :

Fonctions système (Informations système)

SYSTEM$VERIFY_EXTERNAL_VOLUME

Vérifie la configuration d’un volume externe spécifié.

Pour les volumes externes avec accès en écriture, Snowflake tente les opérations supplémentaires suivantes pour vérifier la configuration :

  • Écriture d’un fichier de test.

  • Lecture du fichier de test.

  • Liste des fichiers dans l’emplacement de stockage.

  • Suppression du fichier de test.

Voir aussi :

Stockage pour les tables Apache Iceberg™, Configurer un volume externe, CREATE EXTERNAL VOLUME

Syntaxe

SYSTEM$VERIFY_EXTERNAL_VOLUME('<external_volume_name>')
Copy

Arguments

external_volume_name

Nom du volume externe à vérifier. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Renvoie

La fonction renvoie un objet JSON avec les propriétés décrites ci-dessous :

Propriété

Description

success

Le statut du test de vérification. Renvoie TRUE si toutes les actions sont terminées ; renvoie FALSE si une action ne s’est pas terminée comme prévu.

storageLocationSelectionResult

Le résultat de la sélection d’un emplacement de stockage actif pour le volume externe. Renvoie TRUE si Snowflake parvient à sélectionner un emplacement actif ; sinon, renvoie FALSE.

storageLocationName

Le nom de l’emplacement de stockage actif.

servicePrincipalProperties

Les propriétés du principal du service Snowflake pour le fournisseur de cloud de l’emplacement de stockage actif.

location

BASE_URL de l’emplacement de stockage actif.

storageAccount

Pour Azure, le compte de stockage de l’emplacement de stockage actif.

region

La région de l’emplacement de stockage actif.

writeResult

Le résultat généré par l’écriture d’un fichier de test dans l’emplacement de stockage actif. Ignoré pour les volumes externes en lecture seule.

readResult

Le résultat produit par la lecture d’un fichier de test à partir de l’emplacement de stockage actif. Ignoré pour les volumes externes en lecture seule.

listResult

Le résultat produit par l’inventaire du contenu de l’emplacement de stockage actif. Ignoré pour les volumes externes en lecture seule.

deleteResult

Le résultat généré par la suppression d’un fichier de test écrit dans l’emplacement de stockage actif. Ignoré pour les volumes externes en lecture seule.

awsRoleArnValidationResult

Pour Amazon S3, renvoie le résultat obtenu par la validation du nom de la ressource Amazon (ARN) pour le rôle IAM utilisé par le volume externe.

azureGetUserDelegationKeyResult

Pour Azure, renvoie le résultat généré par l’obtention d’une clé de délégation d’utilisateur.

Valeurs de résultat

Les propriétés de retour qui indiquent qu’un résultat peut avoir les valeurs suivantes :

Valeur du résultat

Description

PASSED

L’opération a réussi.

SKIPPED

L’opération n’est pas applicable pour le volume externe spécifié. Par exemple, les opérations de lecture, d’écriture, de liste et de suppression sont ignorées pour les volumes externes en lecture seule.

<error_message>

Un message d’erreur détaillé.

Exemple de sortie

{
  "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

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

OWNERSHIP

Volume externe

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Exemples

Vérifier un volume externe nommé my_s3_external_volume :

SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');
Copy