gpt4 book ai didi

Azure blob 首次写入

转载 作者:IT王子 更新时间:2023-10-29 01:57:18 25 4
gpt4 key购买 nike

这个official example写入 blob block 有一个步骤,它检查哪些 block 尚未提交:

    fmt.Println("Get uncommitted blocks list...")
list, err := b.GetBlockList(storage.BlockListTypeUncommitted, nil)
if err != nil {
return fmt.Errorf("get block list failed: %v", err)
}
uncommittedBlocksList := make([]storage.Block, len(list.UncommittedBlocks))
for i := range list.UncommittedBlocks {
uncommittedBlocksList[i].ID = list.UncommittedBlocks[i].Name
uncommittedBlocksList[i].Status = storage.BlockStatusUncommitted
}

如果我正在创建一个肯定还不存在的 blob(具有多个 block )。跳过该代码有什么问题吗?

代码类似于:

    b := cnt.GetBlobReference(blockBlobName)
err := b.CreateBlockBlob(nil)

blockID := "00000"
data := randomData(1984)
err = b.PutBlock(blockID, data, nil)

blockID2 := "00001"
data2 := randomData(6542)
err = b.PutBlock(blockID2, data2, nil)

var uncommittedBlocksList []storage.Block
uncommittedBlocksList = append(uncommittedBlocksList,
Block{
ID:"00000"
Status:BlockStatusUncommitted,
},
Block{
ID:"00001"
Status:BlockStatusUncommitted,
},
)
err = b.PutBlockList(uncommittedBlocksList, nil)

最佳答案

If I'm creating a blob (with multiple blocks) that definitely doesn't yet exist. Is there any problem with skipping that code?

绝对不是。您当然可以跳过获取未提交 block 列表的代码。当您尝试上传 blob 但在中间失败并且您希望从最后一个失败的 block 恢复上传时,这种获取未提交列表的场景非常有用。通过跳过此代码,实质上是告诉 Azure 存储丢弃任何其他未提交的 block 并使用 block 列表中指定的 block 来创建 blob。

关于Azure blob 首次写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48104400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com