- 类别:
系统函数 (系统信息)
SYSTEM$VALIDATE_STORAGE_INTEGRATION¶
验证指定存储集成的配置。该函数尝试使用存储集成在定义的路径中写入、读取、列出或删除提供的文件。
有关配置存储集成的更多信息,请参阅:
语法¶
SYSTEM$VALIDATE_STORAGE_INTEGRATION( '<storage_integration_name>', '<storage_path>', '<test_file_name>', '<validate_action>' )
实参¶
storage_integration_name
要测试的存储集成的名称。
存储集成名称区分大小写。
storage_path
要验证的存储位置的完整路径。存储路径必须是存储集成的
STORAGE_ALLOWED_LOCATIONS
列表中的 URL。Amazon S3
's3://bucket/path/'
s3
前缀代表公共 AWS 区域中的 S3 存储。s3gov
前缀代表 政府区域 中的 S3 存储。bucket
是存储数据文件的 S3 桶的名称。path
是桶中的可选路径或目录。
Google Cloud Storage
'gcs://bucket/path/'
bucket
是存储数据文件的 GCS 桶的名称。path
是桶中的可选路径或目录。
Microsoft Azure
'azure://account.blob.core.windows.net/container/path/'
account
是 Azure 存储账户的名称。container
是存储数据文件的 Azure Blob 存储容器的名称。path
是桶中的可选路径或目录。
test_file_name
要在存储集成验证中使用的文件名称。
validate_action
要执行的验证操作。
- 值:
read
- 验证 Snowflake 是否可以从存储位置读取数据。如果文件不存在,则此操作将失败。write
- 验证 Snowflake 是否可以写入存储位置。如果文件已存在,则此操作将失败。list
- 验证 Snowflake 是否可以列出存储位置中的文件。delete
- 验证 Snowflake 是否可以删除存储位置中的文件。all
- 验证存储位置中所有可能的操作。
返回¶
该函数返回一个 JSON 对象,其属性如下所述:
属性 |
描述 |
---|---|
|
验证测试的状态。如果所有操作都按预期执行,将返回为 |
|
包含请求的验证操作和状态的对象数组。 |
{
"status" : "success",
"actions" : {
"READ" : {
"status" : "success"
},
"DELETE" : {
"status" : "success"
},
"LIST" : {
"status" : "success"
},
"WRITE" : {
"status" : "success"
}
}
}
示例¶
以下示例为所有验证操作验证存储集成 example_integration
的配置。该示例在 JSON 中返回成功的结果。
SELECT
SYSTEM$VALIDATE_STORAGE_INTEGRATION('example_integration', 's3://example_bucket/test_path/'', 'validate_all.txt', 'all');
结果:
+----------------------------+
| RESULT |
+----------------------------+
| { |
| "status" : "success", |
| "actions" : { |
| "READ" : { |
| "status" : "success" |
| }, |
| "DELETE" : { |
| "status" : "success" |
| }, |
| "LIST" : { |
| "status" : "success" |
| }, |
| "WRITE" : { |
| "status" : "success" |
| } |
| } |
| } |
+----------------------------+
以下示例显示了当存储集成没有 read
权限时的结果。
SELECT
SYSTEM$VALIDATE_STORAGE_INTEGRATION('example_integration', 'gcs://example_bucket/test_path/'', 'read_fail.txt', 'all');
输出:
+----------------------------------------------------------------------------------------------------------------+
| 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." |
| } |
+----------------------------------------------------------------------------------------------------------------+