Azure Files REST API
Azure Filesでは、SMB や NFS などの業界標準のファイル システム プロトコルを使用してアクセス (マウント) できるホスト型クラウド ファイル共有が提供されます。 SMB または NFS を使用してファイル共有をコンピューターにマウントすると、オペレーティング システムによってローカル ファイル システムの API 要求がリダイレクトされます。 リダイレクトには、.NET System.IO
インターフェイスまたは Python のオープン、読み取り、または書き込みメソッドを使用して行うローカル API 要求が含まれます。 つまり、これらのアプリケーションのユーザーは特別な操作を行う必要がなく、データがローカル ストレージではなくリモート ファイル共有上にあることを知る必要さえありません。
Azure Filesは REST API も提供します。REST API は、多くの場合、FileREST 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 File SyncとAzure Backupは、FileREST API を広く使用して顧客所有の Azure ファイル共有に価値を付加する、注目すべき Microsoft サービスです。
特に顧客にサービスを提供する場合は、付加価値サービスまたはアプリケーションを構築する場合は、FileREST API の使用を検討してください。 基幹業務アプリケーション (特にユーザーがマウントされた Azure ファイル共有に対して使用するアプリケーション) を構築する場合は、SMB/NFS または FileREST を使用できます。 ただし、SMB または NFS を使用すると、これらのプロトコルを使用するとネイティブ ファイル システム API を使用できるため、パスが簡単になる場合があります。
ネイティブ ファイル システム API で記述された既存のアプリケーションがある場合は、Azure Filesを利用するために書き換える必要はありません。 Azure Filesの重要な価値提案は、SMB または NFS を使用してネイティブ ファイル システム API を公開することです。
デプロイ、ネットワーク、ID の構成など、Azure Filesの詳細については、次を参照してください。
コントロール プレーン
Azure では、コントロール プレーンは Azure Resource Managerを介して提供されます。これにより、顧客が管理する Azure リソースを公開するための一般的な方法が提供されます。 最上位の管理単位はストレージ アカウントです。 ストレージ アカウントは、Azure Filesおよびその他のストレージ サービス (Azure Blob Storage など) で追跡されるリソースです。
ストレージ アカウントは、名前空間 Microsoft.Storage
を持つストレージ リソース プロバイダーによって管理されます。 ストレージ リソース プロバイダーは、ストレージ アカウントにバンドルされているストレージ サービスの管理を可能にする子 リソース (プロキシ リソース) の管理も公開します。 Azure Filesには、次の 2 つの関連するプロキシ リソースがあります。
FileService
リソース。 ストレージ アカウント内のすべてのファイル共有に適用されるAzure Filesに固有の設定が提供されます。 リソースはFileService
ストレージ アカウントの子です。 ストレージ アカウントには、常に リソースが 1 つだけ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 をプログラムで呼び出す権限を与えることができます。
AZURE Resource Manager API は、REST API を介して直接、または SDK を介して強制的に呼び出すことができます。 または、Azure テンプレートを使用してデプロイする必要があるリソースを宣言することで、宣言的に呼び出すことができます。 (サービス デプロイなど) 一緒に繰り返し作成する必要があるリソースの場合、テンプレートを使用すると、必要な作業を大幅に簡略化できます。
ストレージ リソース プロバイダーを使用してストレージ リソースを管理することをお勧めしますが、FileREST データ プレーン管理 API を使用すると、高スケールが必要な場合のパフォーマンスが向上します。 このような場合の例として、同じストレージ アカウント内で何千ものファイル共有を作成または変更するワークロードがあります。
-
Microsoft.Storage storageAccounts/fileServices/shares
は、ストレージ リソース プロバイダーを介してコントロール プレーン操作をトリガーします。 -
Microsoft.Storage storageAccounts/fileServices/fileshares
はデータ プレーン操作です。 ストレージ ファイル データ SMB 共有閲覧者などの共有レベルのロールの設定は、データ プレーン操作であり、このリソースを使用する必要があります。
-
データ プレーン
Azure Filesは、非構造化データ用の階層ファイル システムを提供します。 FileREST API は、ファイル システム空間の 2 つの重要なオブジェクト (ファイルとディレクトリ) をモデル化します。 FileREST API を呼び出す方法については、次を参照してください。
- Azure Filesに対する操作 (コントロール プレーン API を優先)
- ファイル共有に対する操作 (コントロール プレーン API を優先)
- ディレクトリに対する操作
- ファイルに対する操作