类别:

系统函数 (系统信息)

SYSTEM$VERIFY_EXTERNAL_VOLUME

验证指定 外部卷 的配置。

对于具有写入访问权限的外部卷,Snowflake 尝试以下附加操作以验证配置:

  • 写入测试文件。

  • 读取测试文件。

  • 列出存储位置中的文件。

  • 删除测试文件。

另请参阅:

Apache Iceberg™ 表的存储配置外部卷CREATE EXTERNAL VOLUME

语法

SYSTEM$VERIFY_EXTERNAL_VOLUME('<external_volume_name>')
Copy

实参

external_volume_name

要验证的外部卷的名称。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

返回

该函数返回一个 JSON 对象,其属性如下所述:

属性

描述

success

验证测试的状态。如果所有操作已完成,则返回 TRUE;如果任何操作未按预期完成,则返回 FALSE

storageLocationSelectionResult

选择外部卷的 活动存储位置结果。如果 Snowflake 能成功选择活动位置,则返回 TRUE;否则,返回 FALSE

storageLocationName

活动存储位置的名称。

servicePrincipalProperties

活动存储位置的云提供商的 Snowflake 服务主体的属性。

location

活动存储位置的 BASE_URL

storageAccount

对于 Azure,活动存储位置的存储账户。

region

活动存储位置的区域。

writeResult

将测试文件写入到活动存储位置的 结果。跳过只读外部卷。

readResult

从活动存储位置读取测试文件的 结果。跳过只读外部卷。

listResult

列出活动存储位置内容的 结果。跳过只读外部卷。

deleteResult

删除写入到活动存储位置的测试文件的 结果。跳过只读外部卷。

awsRoleArnValidationResult

对于 Amazon S3,返回验证外部卷使用的 IAM 角色的 Amazon 资源名称 (ARN) 的 结果

azureGetUserDelegationKeyResult

对于 Azure,返回获取用户委托密钥的 结果

结果值

表示结果的返回属性可以具有以下值:

结果值

描述

PASSED

操作成功。

SKIPPED

该操作不适用于指定的外部卷。例如,对于只读外部卷,将跳过读取、写入、列出和删除操作。

<error_message>

详细错误消息。

输出示例

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

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

外部卷

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

示例

验证名为 my_s3_external_volume 的外部卷:

SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');
Copy
语言: 中文