Azure Files REST API
Azure Files SMB 및 NFS와 같은 업계 표준 파일 시스템 프로토콜을 사용하여 액세스(탑재)할 수 있는 호스트된 클라우드 파일 공유를 제공합니다. SMB 또는 NFS를 사용하여 컴퓨터에 파일 공유를 탑재하면 운영 체제에서 로컬 파일 시스템에 대한 API 요청을 리디렉션합니다. 리디렉션에는 .NET System.IO
인터페이스 또는 Python 열기, 읽기 또는 쓰기 메서드를 사용하여 수행한 로컬 API 요청이 포함됩니다. 즉, 이러한 애플리케이션의 사용자는 특별한 작업을 수행하거나 데이터가 로컬 스토리지 대신 원격 파일 공유에 있다는 것을 알 필요가 없습니다.
Azure Files FileREST API라고도 하는 REST API도 제공합니다. FileREST API를 사용하려면 FileREST HTTPS 엔드포인트에 대해 HTTPS 요청을 만듭니다. 직접 HTTPS 요청을 만드는 코드를 작성할 수 있지만 FileREST API를 사용하는 Azure SDK를 제공하여 C#, Java, Python, JavaScript 및 Go와 같은 인기 있는 언어로 FileREST API에 대한 관용적인 언어 래퍼를 제공합니다.
FileREST API는 Azure Files 위해 특별히 설계되었기 때문에 SMB 또는 NFS를 통해 액세스할 수 없는 Azure Files 기능에 액세스할 수 있습니다. 또한 복사와 같은 특정 작업을 SMB 또는 NFS를 통해 수행할 수 있는 것보다 더 효율적으로 수행할 수 있습니다.
HTTPS의 상태 비저장 특성으로 인해 FileREST API는 많은 Azure 파일 공유에 액세스해야 하는 클라우드 서비스 또는 애플리케이션에 유용합니다. 예를 들어 Azure 파일 공유에 부가 가치 서비스 또는 애플리케이션을 연결하여 기능을 추가할 수 있습니다. 이러한 서비스 또는 애플리케이션에는 바이러스 백신, 백업, 데이터 관리 또는 복제 제품이 포함될 수 있습니다. Azure 파일 동기화 및 Azure Backup FileREST API를 광범위하게 사용하여 고객 소유 Azure 파일 공유를 기반으로 가치를 추가하는 주목할 만한 Microsoft 서비스입니다.
특히 고객에게 해당 서비스를 제공하는 경우 부가 가치 서비스 또는 애플리케이션을 빌드하는 경우 FileREST API를 사용하는 것이 좋습니다. 특히 사용자가 탑재된 Azure 파일 공유에 대해 사용할 기간 업무 애플리케이션을 생성하는 경우 SMB/NFS 또는 FileREST를 사용할 수 있습니다. 그러나 이러한 프로토콜을 사용하면 네이티브 파일 시스템 API를 사용할 수 있으므로 SMB 또는 NFS를 사용하면 더 쉬운 경로를 사용할 수 있습니다.
네이티브 파일 시스템 API로 작성된 기존 애플리케이션이 있는 경우 Azure Files 활용하기 위해 다시 작성할 필요가 없습니다. Azure Files 주요 가치 제안은 SMB 또는 NFS를 사용하여 네이티브 파일 시스템 API를 노출하는 것입니다.
배포, 네트워킹 및 ID 구성을 비롯한 Azure Files 대한 자세한 내용은 다음을 참조하세요.
제어 평면
Azure에서 컨트롤 플레인은 고객이 관리할 Azure 리소스를 노출하는 일반적인 방법을 제공하는 Azure Resource Manager 통해 제공됩니다. 관리의 최상위 단위는 스토리지 계정입니다. 스토리지 계정은 Azure Files 및 Azure Blob Storage 같은 기타 스토리지 서비스에서 추적된 리소스입니다.
스토리지 계정은 네임스페이스가 있는 스토리지 리소스 공급자에 의해 관리됩니다 Microsoft.Storage
. 또한 스토리지 리소스 공급자는 스토리지 계정에 번들로 제공되는 스토리지 서비스를 관리할 수 있는 자식 리소스 또는 프록시 리소스의 관리를 노출합니다. Azure Files 관련 프록시 리소스에는 다음 두 가지가 있습니다.
FileService
리소스입니다. 스토리지 계정의 모든 파일 공유에 적용되는 Azure Files 특정 설정을 제공합니다. 리소스는FileService
스토리지 계정의 자식입니다. 스토리지 계정에는 항상 리소스가 하나FileService
default
만 있습니다.FileShare
리소스입니다. 파일 공유 또는 파일 공유의 스냅샷 나타냅니다. 리소스는FileShare
리소스의FileService
자식이며 무한 수의 파일 공유를 포함할 수 있습니다.
리소스에 FileService
무한 개수의 리소스가 포함될 수 있지만 스토리지 계정 내의 FileShare
모든 항목이 정의된 I/O, 대역폭 및 기타 제한 풀을 공유하므로 매우 많은 수의 리소스를 사용하는 것은 좋지 않습니다. 자세한 내용은 Azure Files 확장성 및 성능 목표를 참조하세요.
컨트롤 플레인 API를 호출하는 방법을 알아보려면 다음을 참조하세요.
및 FileShare
개체에 FileService
대한 작업은 데이터 평면을 통해 수행할 수도 있습니다. Azure Resource Manager 미리 Azure Files 아티팩트입니다. 이러한 API는 완전히 지원되지만 대부분의 경우 스토리지 리소스 공급자 API를 사용하여 다음과 같은 이유로 Azure Files 관리해야 합니다.
Azure Resource Manager 통해 노출되는 작업은 인증 및 권한 부여에 Microsoft Entra ID 사용하므로 RBAC(역할 기반 액세스 제어)를 사용하여 Azure Files 관리할 수 있습니다. Microsoft Entra 서비스 주체를 사용하여 프로그래밍 방식으로 이러한 API를 호출하도록 애플리케이션 또는 서비스에 권한을 부여할 수 있습니다.
REST API를 직접 또는 SDK를 통해 Azure Resource Manager API를 명령적으로 호출할 수 있습니다. 또는 Azure 템플릿을 통해 배포해야 하는 리소스를 선언하여 선언적으로 호출할 수 있습니다. 반복적으로 함께 만들어야 하는 리소스(예: 서비스 배포)의 경우 템플릿을 사용하면 필요한 작업을 상당히 간소화할 수 있습니다.
스토리지 리소스 공급자를 사용하여 스토리지 리소스를 관리하는 것이 좋습니다. 그러나 FileREST 데이터 평면 관리 API를 사용하면 대규모가 필요한 경우 성능이 향상됩니다. 이러한 사례의 예로는 동일한 스토리지 계정 내에서 수천 개 파일 공유를 만들거나 수정하는 워크로드가 있습니다.
-
Microsoft.Storage storageAccounts/fileServices/shares
는 스토리지 리소스 공급자를 통해 컨트롤 플레인 작업을 트리거합니다. -
Microsoft.Storage storageAccounts/fileServices/fileshares
는 데이터 평면 작업입니다. 스토리지 파일 데이터 SMB 공유 판독기와 같은 공유 수준 역할을 설정하는 것은 데이터 평면 작업이어야 하며 이 리소스를 사용해야 합니다.
-
데이터 평면
Azure Files 구조화되지 않은 데이터에 대한 계층적 파일 시스템을 제공합니다. FileREST API는 파일 시스템 공간에서 파일 및 디렉터리라는 두 가지 중요한 개체를 모델링합니다. FileREST API를 호출하는 방법을 알아보려면 다음을 참조하세요.
- Azure Files 작업(컨트롤 플레인 API 선호)
- 파일 공유에 대한 작업 (컨트롤 플레인 API 선호)
- 디렉터리에 대한 작업
- 파일에 대한 작업