- Categories:
System functions (System Information)
SYSTEM$VERIFY_EXTERNAL_VOLUME¶
Verifies the configuration for a specified external volume.
For external volumes with write access, Snowflake attempts the following additional operations to verify the configuration:
Write a test file.
Read the test file.
List the files in the storage location.
Delete the test file.
- See also:
Storage for Apache Icebergâ„¢ tables , Configure an external volume , CREATE EXTERNAL VOLUME
Syntax¶
SYSTEM$VERIFY_EXTERNAL_VOLUME('<external_volume_name>')
Arguments¶
external_volume_name
Name of the external volume to verify. If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case sensitive.
Returns¶
The function returns a JSON object with the properties described below:
Property |
Description |
---|---|
|
The status of the verification test. Returns |
|
The result of selecting an
active storage location for the external volume.
Returns |
|
The name of the active storage location. |
|
The properties of the Snowflake service principal for the cloud provider of the active storage location. |
|
The |
|
For Azure, the storage account of the active storage location. |
|
The region of the active storage location. |
|
The result of writing a test file to the active storage location. Skipped for read-only external volumes. |
|
The result of reading a test file from the active storage location. Skipped for read-only external volumes. |
|
The result of listing the contents of the active storage location. Skipped for read-only external volumes. |
|
The result of deleting a test file written to the active storage location. Skipped for read-only external volumes. |
|
For Amazon S3, returns the result of validating the Amazon Resource Name (ARN) for the IAM role used by the external volume. |
|
For Azure, returns the result of getting a user delegation key. |
Result values¶
Return properties that indicate a result can have the following values:
Result value |
Description |
---|---|
|
The operation succeeded. |
|
The operation isn’t applicable for the specified external volume. For example, the read, write, list, and delete operations are skipped for read-only external volumes. |
|
A detailed error message. |
Example output¶
{
"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"
}
Access control requirements¶
A role used to execute this SQL command must have the following privileges at a minimum:
Privilege |
Object |
Notes |
---|---|---|
OWNERSHIP |
External volume |
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Examples¶
Verify an external volume named my_s3_external_volume
:
SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');