カテゴリ:

システム関数 (システム情報)

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

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

OWNERSHIP

外部ボリューム

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

my_s3_external_volume という名前の外部ボリュームを検証します。

SELECT SYSTEM$VERIFY_EXTERNAL_VOLUME('my_s3_external_volume');
Copy