我正在尝试将一个大的tar.gz文件上传到Azure存储中,由于azure的限制,我必须将gzip文件切成小部分,并上传每个文件。
对于它们中的每一个,我需要生成一个blockid(由base64编码),问题是在将blockid推送到" staging area(未提交状态)"之后,blockid会稍微改变一下。
以下是我生成块id的方法(使用base64编码随机7位字符): blockid = $(cat / dev / urandom | tr -dc' a-zA-Z' | fold -w 7 | head -n 1 | base64)
生成的示例如下:
VHRkS29qZgo=
ZUxXS0trVwo=
Q2JHVnlnaQo=
Z3FncFZ5Wgo=
SkZhTVhJcgo=
Rk9QaWxkTgo=
以下是将blob推送到服务器的方式:
curl -X PUT -T $file -H "x-ms-date: $(date -u)" "https://hello.blob.core.windows.net/jenkins/myblob.tar.gz?comp=block&blockid=${blockid}=&sv=token"
将块推入服务器后,我可以看到块ID改变如下:
VHRkS29qgg==
ZUxXS0trwg==
Q2JHVnlnQg==
......
azure有没有改变我的块ID的原因?
BR,
添