카테고리:

시스템 함수 (시스템 정보)

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 역할에 대한 ARN(Amazon Resource Name)을 검증한 결과 를 반환합니다.

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