TAzureBlobManagement

提供: RAD Studio
移動先: 案内検索

Azure と DataSnap でのクラウド コンピューティング への移動


警告: DSAzure API は廃止予定とされており、Data.Cloud.AzureAPI に置き換わります。 クラウド コンピューティング アプリケーションの開発時には、新しい API を使用することをお勧めします。 詳細については、「DataSnap でのクラウド コンピューティング」を参照してください。

メモ: TAzureBlobManagement コンポーネント、dclWindowsAzureManagement190.bpl パッケージをインストールしている場合にのみ、ツール パレットから利用可能です。このパッケージは、RAD Studio インストール フォルダの bin フォルダにあります。 TAzureBlobManagement は、VCL アプリケーションでのみ利用可能です。

TAzureBlobManagementコンポーネントは、BLOB(Binary Large Object)を操作するためのものです。 TAzureBlobManagement コンポーネントを使用するには、まずコンポーネントをフォームにドロップします。 次に、TAzureConnectionString コンポーネントをツール パレットからドロップします。TAzureConnectionString コンポーネントで接続情報を指定したら、2 つのコンポーネントを接続します。 Azure BLOB テーブルをアクティブにすることを忘れないでください。

アプリケーションを実行して BLOB コンポーネントがアクティブになると、ルート ノードを右クリックして、新規 BLOB を追加したり、BLOB のリストを更新できます。

メモ: 命名規則はテーブル コンポーネントの場合と同じです。 名前の中にハイフン(-)を使用することはできません。

アプリケーションが稼働中に TAzureBlobManagement コンポーネント内で利用できる他の操作には、コンテナの作成BLOB のコピーブロック Blob プロパティブロック BLOB の作成スナップショット BLOB の作成、および、ページ BLOB があります。

ノードの種類

BLOB ストレージでは、基本的に次の数種の扱います: コンテナ、ページ BLOB、ブロック BLOB、アクセス制御リスト、プロパティ、メタデータ。

コンテナ

コンテナは、ルート ノードの下に追加することができ、上記ノードのうち、他のコンテナを除くすべてのものを含むことができます(ただしルート コンテナは例外です。ルート コンテナについては後で説明します)。

コンテナを作成するときには、名前を付け、必要なメタデータのキーと値のペアを指定し、パブリックのアクセス設定を必要な値に設定します。 この設定では、コンテナ内に格納されたデータにパブリックにアクセスできるようにするかどうかを指定します。

コンテナを作成した後、コンテナを右クリックして、いずれかの種類の BLOB を作成する、パブリック アクセス設定を変更する、メタデータを編集する、コンテナを更新してサーバーと同期させる、コンテナを削除する、などを選択することができます。

メタデータ

メタデータは、コンテナまたは BLOB に格納することができます。 これは単に、特定の項目に関連付けるキーと値のペアを含むテーブルであり、ユーザーが決めた意味しか持ちません。 有益な情報としては、たとえば作成者名などが考えられます。 別のユーザーが(BLOB の)オブジェクトのリースを取得している間を除けば、このメタデータはいつでも変更または更新することができます。 メタデータは、メタデータ自体のノードまたはメタデータ ノードの上位ノードのコンテキスト メニューを使って更新することができます。

プロパティ

プロパティは、メタデータと同様に、コンテナと BLOB のどちらに含まれることもあります。 プロパティは Microsoft Azure クラウドから送られてきた応答によって設定されるもので、ユーザーが(直接に)変更することはできません。 コンテナには、たとえば 'Last-Modified' というプロパティがあります。 BLOB には、BlobType、Last-Modified、LeaseStatus(ロックされている/されていない)など、コンテナよりもかなり多くのプロパティがあります。 プロパティは、プロパティ自体のノードまたはプロパティ ノードの上位ノードのコンテキスト メニューを使って更新することができます。

ページ BLOB

サーバー上のページ BLOB ごとに、それに対応するページ BLOB ノードがあります。 そのノードの下には、プロパティやメタデータの他に、[ページ領域]ノードがあります。 このノードには、内容についての情報が含まれます。 コンテキスト メニューを使って、BLOB をダウンロードしたり、BLOB のルート ノードから実行できるアクションを行うことができます。

ページ BLOB は、ランダムな読み取り/書き込み操作用に最適化されています。

ブロック BLOB

サーバー上のブロック BLOB ごとに、それに対応するブロック BLOB ノードがあります。 ノードの下には、やはりプロパティおよびメタデータ ノードがあり、その他に[ブロック リスト]ノードがあります。 このノードには内容についての情報が含まれ、コンテキスト メニューを使って、ブロックの追加やブロック リストのコミットなど、親の BLOB ノードで実行できるあらゆる操作を行うことができます。

ブロック BLOB はストリーミング用に最適化されています。

ルート コンテナの作成

まだルート コンテナを作成していない場合には、ルート ノード([Azure BLOB])を右クリックして作成することができます。 これにより、ユーザーが具体的なコンテナ名を指定しなくても、BLOB ストレージ アカウントの最上位からたどって BLOB を参照できるようになります。 また、ルート コンテナのプロパティやメタデータのノードをルート ノードの直下に追加したり、BLOB を(コンテナ内にネストさせるのではなく)ルート ノードの直下に作成することもできます。

ブロック BLOB の作成

ブロック BLOB を作成するには、ルート ノード(ルート コンテナが存在する場合)または BLOB を作成したいコンテナで、コンテキスト メニューから項目を選択します。 開いたダイアログで、BLOB 名(前述のガイドラインに従ってください)、コンテンツの場所(ファイル ブラウザ ダイアログを使用します)、任意指定のいくつかの設定、および必要なメタデータを指定してください。

BLOB を作成した後は、コンテキスト メニューを使って適宜変更したり、メタデータを更新したり、ブロックを変更することができます。

ページ BLOB の作成

ページ BLOB を作成するには、ルート ノード(ルート コンテナが存在する場合)または BLOB を作成したいコンテナで、コンテキスト メニューから項目を選択します。 開いたダイアログで、BLOB 名(前述のガイドラインに従ってください)、コンテンツ長(512 バイトの倍数でなければなりません)、任意指定のいくつかの設定、および必要なメタデータを指定してください。

BLOB を作成した後は、コンテキスト メニューを使って適宜変更したり、メタデータを更新したり、ページを追加することができます。

BLOB のリース

BLOB に対するリースを取得することができます。このリースは 60 秒間有効です(それまでに解除しなかった場合)。 リースを取得している間、他のユーザーがリースを取得したり BLOB を変更することはできません(ただし、リース ID を知らせた場合は例外です。リース ID は、コンテキスト メニューの[リース ID のコピー]の項目を選択すると、クリップボードにコピーされます)。

他の誰かがリースを取得している場合には、リースの更新を停止することができます。 リースの更新が停止されると、取得中のユーザーは、現在のリースの残り時間以上にリースを更新できなくなります。 リースの更新が停止されなければ、ユーザーは 60 秒ずつ、リースを更新し続けることができます。

関連項目