- 类别:
系统函数 (系统信息)
SYSTEM$VERIFY_EXTERNAL_VOLUME¶
验证指定 外部卷 的配置。
对于具有写入访问权限的外部卷,Snowflake 尝试以下附加操作以验证配置:
写入测试文件。
读取测试文件。
列出存储位置中的文件。
删除测试文件。
语法¶
SYSTEM$VERIFY_EXTERNAL_VOLUME('<external_volume_name>')
实参¶
external_volume_name
要验证的外部卷的名称。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
返回¶
该函数返回一个 JSON 对象,其属性如下所述:
属性 |
描述 |
---|---|
|
验证测试的状态。如果所有操作已完成,则返回 |
|
选择外部卷的 活动存储位置 的 结果。如果 Snowflake 能成功选择活动位置,则返回 |
|
活动存储位置的名称。 |
|
活动存储位置的云提供商的 Snowflake 服务主体的属性。 |
|
活动存储位置的 |
|
对于 Azure,活动存储位置的存储账户。 |
|
活动存储位置的区域。 |
|
将测试文件写入到活动存储位置的 结果。跳过只读外部卷。 |
|
从活动存储位置读取测试文件的 结果。跳过只读外部卷。 |
|
列出活动存储位置内容的 结果。跳过只读外部卷。 |
|
删除写入到活动存储位置的测试文件的 结果。跳过只读外部卷。 |
|
对于 Amazon S3,返回验证外部卷使用的 IAM 角色的 Amazon 资源名称 (ARN) 的 结果。 |
|
对于 Azure,返回获取用户委托密钥的 结果。 |
结果值¶
表示结果的返回属性可以具有以下值:
结果值 |
描述 |
---|---|
|
操作成功。 |
|
该操作不适用于指定的外部卷。例如,对于只读外部卷,将跳过读取、写入、列出和删除操作。 |
|
详细错误消息。 |
输出示例¶
{
"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"
}
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
OWNERSHIP |
外部卷 |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
示例¶
验证名为 my_s3_external_volume
的外部卷:
SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');