REST API를 사용하여 Azure Data Lake Storage Gen1에서 파일 시스템 작업
이 문서에서는 WebHDFS REST API 및 Data Lake Storage Gen1 REST API를 사용하여 Azure Data Lake Storage Gen1에서 파일 시스템 작업을 수행하는 방법을 알아봅니다. REST API를 사용하여 Data Lake Storage Gen1에서 계정 관리 작업을 수행하는 방법에 대한 지침은 REST API 사용하여 Data Lake Storage Gen1에서계정 관리 작업을 참조하세요.
필수 조건
Azure 구독. Azure 평가판을 참조하세요.
Azure Data Lake Storage Gen1 계정. Azure 포털을 사용하여 Azure Data Lake Storage Gen1을 시작하는 방법의 지침을 따르세요.
cURL. 이 문서에서는 cURL을 사용하여 Data Lake Storage Gen1 계정에 대해 REST API 호출을 수행하는 방법을 설명합니다.
Microsoft Entra ID를 사용하여 어떻게 인증하나요?
Microsoft Entra ID를 사용하여 인증하려면 두 가지 방식을 사용할 수 있습니다.
- 애플리케이션에 대한 최종 사용자 인증의 경우(대화형) .NET SDK를 사용한 Data Lake Storage Gen1에서의 최종 사용자 인증을 참조하세요.
- 애플리케이션에 대한 서비스 간 인증의 경우(비대화형) .NET SDK를 사용한 Data Lake Storage Gen1에서의 서비스 간 인증을 참조하세요.
폴더 만들기
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
다음 cURL 명령을 사용합니다. <yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/?op=MKDIRS'
이전 명령에서 <REDACTED
> 이전에 검색한 권한 부여 토큰으로 바꿉다. 이 명령은 Data Lake Storage Gen1 계정의 루트 폴더 아래에 mytempdir 디렉터리를 만듭니다.
작업이 성공적으로 완료되면 다음 코드 조각과 같은 응답이 표시됩니다.
{"boolean":true}
폴더 목록 보기
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
다음 cURL 명령을 사용합니다. <yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -X GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/?op=LISTSTATUS'
이전 명령에서 <REDACTED
> 이전에 검색한 권한 부여 토큰으로 바꿉다.
작업이 성공적으로 완료되면 다음 코드 조각과 같은 응답이 표시됩니다.
{
"FileStatuses": {
"FileStatus": [{
"length": 0,
"pathSuffix": "mytempdir",
"type": "DIRECTORY",
"blockSize": 268435456,
"accessTime": 1458324719512,
"modificationTime": 1458324719512,
"replication": 0,
"permission": "777",
"owner": "<GUID>",
"group": "<GUID>"
}]
}
}
데이터 업로드
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
다음 cURL 명령을 사용합니다. <yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -X PUT -L -T 'C:\temp\list.txt' -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE'
이전 구문에서 -T 매개 변수는 업로드하는 파일의 위치입니다.
출력은 다음 코드 조각과 유사합니다.
HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/list.txt?op=CREATE&write=true
...
Content-Length: 0
HTTP/1.1 100 Continue
HTTP/1.1 201 Created
...
데이터 읽기
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
Data Lake Storage Gen1 계정에서 데이터를 읽는 것은 2단계 프로세스입니다.
- 먼저 엔드포인트
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN
대해 GET 요청을 제출합니다. 이 호출은 다음 GET 요청을 제출할 위치를 반환합니다. - 그런 다음 엔드포인트
https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN&read=true
대해 GET 요청을 제출합니다. 이 호출은 파일의 내용을 표시합니다.
그러나 첫 번째 단계와 두 번째 단계 사이에 입력 매개 변수에 차이가 없으므로 -L
매개 변수를 사용하여 첫 번째 요청을 제출할 수 있습니다.
-L
옵션은 기본적으로 두 요청을 하나로 결합하고 cURL이 새 위치에서 요청을 다시 실행합니다. 마지막으로 다음 코드 조각과 같이 모든 요청 호출의 출력이 표시됩니다.
<yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -L GET -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=OPEN'
다음 코드 조각과 유사한 출력이 표시됩니다.
HTTP/1.1 307 Temporary Redirect
...
Location: https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/somerandomfile.txt?op=OPEN&read=true
...
HTTP/1.1 200 OK
...
Hello, Data Lake Store user!
파일 이름 바꾸기
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
다음 cURL 명령을 사용하여 파일 이름을 바꿉니다. <yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -X PUT -H "Authorization: Bearer <REDACTED>" -d "" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile.txt?op=RENAME&destination=/mytempdir/myinputfile1.txt'
다음 코드 조각과 유사한 출력이 표시됩니다.
HTTP/1.1 200 OK
...
{"boolean":true}
파일 삭제
이 작업은 여기에정의된 WebHDFS REST API 호출을 기반으로 합니다.
다음 cURL 명령을 사용하여 파일을 삭제합니다. <yourstorename> Data Lake Storage Gen1 계정 이름으로 대체합니다.
curl -i -X DELETE -H "Authorization: Bearer <REDACTED>" 'https://<yourstorename>.azuredatalakestore.net/webhdfs/v1/mytempdir/myinputfile1.txt?op=DELETE'
다음과 유사한 출력이 표시됩니다.
HTTP/1.1 200 OK
...
{"boolean":true}
다음 단계
- REST API 사용하여 Data Lake Storage Gen1에서 계정 관리 작업을.