エクスポート (0) 印刷
すべて展開

CloudBlockBlob.PutBlockList メソッド

ブロックの一覧を新しい BLOB または既存の BLOB にアップロードします。

名前空間: Microsoft.WindowsAzure.StorageClient
アセンブリ: Microsoft.WindowsAzure.StorageClient (Microsoft.WindowsAzure.StorageClient 内)

'使用
Dim instance As CloudBlockBlob
Dim blockList As IEnumerable(Of String)
Dim options As BlobRequestOptions

instance.PutBlockList(blockList, options)

public void PutBlockList (
	IEnumerable<string> blockList,
	BlobRequestOptions options
)
public void PutBlockList (
	IEnumerable<String> blockList, 
	BlobRequestOptions options
)
public function PutBlockList (
	blockList : IEnumerable<String>, 
	options : BlobRequestOptions
)

パラメーター

blockList

Base64 エンコード形式の文字列で表された、ブロック ID の列挙可能なコレクション。

options

要求に対する追加オプションを指定するオブジェクト。

一連のブロックをブロック BLOB に書き込んだ後、ブロックをコミットして BLOB を作成または更新するコード例を次に示します。

static void BlockBlobUploadManyBlocks(Uri blobEndpoint, string accountName, string accountKey)
{
    //Create service client for credentialed access to the Blob service.
    CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey));

    //Get a reference to a block blob.
    CloudBlockBlob blob = blobClient.GetBlockBlobReference("mycontainer/myblockblob");

    //Create a list to hold the block list.
    var blockList = new List<string>();

    byte[] data = new byte[100];
    for (int x = 0; x < 5; x++)
    {
        //Write blocks to the blob.
        using (var stream = new MemoryStream(data))
        {
            //Create a block ID.
            var id = Convert.ToBase64String(Encoding.UTF8.GetBytes(x.ToString()));

            blob.PutBlock(id, stream, null);
        }
    }

    //Commit the block list to create or update the blob.
    blob.PutBlockList(blockList);
}


PutBlockList メソッドは、BLOB を構成するブロック ID の一覧を指定することによって BLOB を書き込みます。 ブロックを BLOB の一部として書き込むには、その前に PutBlock を使用してブロックをサービスに正常に書き込んでおく必要があります。

PutBlockList を呼び出すことで、BLOB 全体を再度アップロードしなくても、個別のブロックを挿入、置換、または削除することによって既存の BLOB を変更できます。 新規 BLOB を作成する場合、または既存 BLOB のコンテンツを更新する場合、ブロック ID を現在のコミット後のブロック一覧とコミット前のブロック一覧の両方から指定できます。 この方法を利用して、BLOB を更新する際に新規ブロックの一部をコミット前のブロック一覧から指定し、残りのブロックを既存の BLOB に属するコミット後のブロック一覧から指定することができます。

コミット可能な最大ブロック数は 50,000、PutBlockList でコミットできる BLOB の最大サイズは 200 GB です。 BLOB に関連付けることができるコミット前のブロックの最大数は 100,000、コミット前のブロック一覧の最大サイズは 400 GB です。

PutBlockList を呼び出して既存の BLOB を更新すると、BLOB の既存のプロパティおよびメタデータは上書きされますが、 既存のスナップショットは BLOB 内で維持されます。 アクセスを含める条件を使用して、指定した条件を満たした場合にのみ操作を実行することもできます。

PutBlockList がブロックの欠落によって失敗した場合、欠落したブロックをアップロードする必要があります。

最後にブロックのアップロードが成功してから 1 週間以内に、ブロックのアップロードまたはブロック一覧のコミットを行う呼び出しが成功していない場合、コミット前のブロックはガベージ コレクションされます。 他のなんらかの方法で BLOB のコンテンツが変更されている場合、コミット前のすべてのブロックはガベージ コレクションされます。


この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

開発プラットフォーム

Windows XP Home Edition, Windows XP Professional, Windows Server 2003、Windows Server 2008、および Windows 2000

対象プラットフォーム

コミュニティの追加

表示:
© 2014 Microsoft