- 카테고리:
시스템 함수 (시스템 정보)
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 Storage 컨테이너의 이름입니다.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." |
| } |
+----------------------------------------------------------------------------------------------------------------+