- カテゴリ:
システム関数 (システム情報)
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." |
| } |
+----------------------------------------------------------------------------------------------------------------+