如何使用 azure-cli 在 Azure 上设置 blob 的 contentType?
How can I set the contentType of a blob on Azure using azure-cli?
我正在尝试更新已上传文件的 contentType 或至少能够重新上传具有正确 contentType 的文件。
在我的例子中,我正在上传 css,但默认情况下它的内容类型为 application/octet-stream。
据我所知,命令行参考没有说明如何管理 blob 的属性
编辑
如果你只是创建文件显然你可以使用
azure storage blob create -f {file_name} -p contentType=text/css
但是我还没有找到编辑的方法。
查看源代码here
,我认为无法使用 azure-cli 更新 blob 的属性。
如果您有兴趣,可以使用 Node SDK for Azure Storage
并更新 blob 属性。例如,查看下面的示例代码:
var AZURE = require('azure-storage');
var blobService = AZURE.createBlobService("<account name>", "<account key>");
var container = '<blob container name>';
var blob = '<blob name>';
var newContentType = '<new content type e.g. text/css>'
blobService.getBlobProperties(container, blob, function(error, result, response) {
if (!error) {
var contentType = result.contentType;
var cacheControl = result.cacheControl;
var contentEncoding = result.contentEncoding;
var contentMD5 = result.contentMD5;
var contentLanguage = result.contentLanguage;
var options = {
'contentType': newContentType,
'cacheControl': cacheControl,
'contentEncoding': contentEncoding,
'contentMD5': contentMD5,
'contentLanguage': contentLanguage,
};
blobService.setBlobProperties(container, blob, options, function(error, result, response) {
if (!error) {
console.log('Properties updated successfully!');
} else {
console.log(error);
}
});
} else {
console.log(error);
}
});
您现在可以使用 az storage blob update
from the Azure CLI (source on GitHub) 设置 blob 属性。例如,将名为 $container
的容器中名为 $blob
的 blob 的 Content-Type
设置为 text/css
:
az storage blob update -c "$container" -n "$blob" --content-type text/css
我正在尝试更新已上传文件的 contentType 或至少能够重新上传具有正确 contentType 的文件。
在我的例子中,我正在上传 css,但默认情况下它的内容类型为 application/octet-stream。
据我所知,命令行参考没有说明如何管理 blob 的属性
编辑
如果你只是创建文件显然你可以使用
azure storage blob create -f {file_name} -p contentType=text/css
但是我还没有找到编辑的方法。
查看源代码here
,我认为无法使用 azure-cli 更新 blob 的属性。
如果您有兴趣,可以使用 Node SDK for Azure Storage
并更新 blob 属性。例如,查看下面的示例代码:
var AZURE = require('azure-storage');
var blobService = AZURE.createBlobService("<account name>", "<account key>");
var container = '<blob container name>';
var blob = '<blob name>';
var newContentType = '<new content type e.g. text/css>'
blobService.getBlobProperties(container, blob, function(error, result, response) {
if (!error) {
var contentType = result.contentType;
var cacheControl = result.cacheControl;
var contentEncoding = result.contentEncoding;
var contentMD5 = result.contentMD5;
var contentLanguage = result.contentLanguage;
var options = {
'contentType': newContentType,
'cacheControl': cacheControl,
'contentEncoding': contentEncoding,
'contentMD5': contentMD5,
'contentLanguage': contentLanguage,
};
blobService.setBlobProperties(container, blob, options, function(error, result, response) {
if (!error) {
console.log('Properties updated successfully!');
} else {
console.log(error);
}
});
} else {
console.log(error);
}
});
您现在可以使用 az storage blob update
from the Azure CLI (source on GitHub) 设置 blob 属性。例如,将名为 $container
的容器中名为 $blob
的 blob 的 Content-Type
设置为 text/css
:
az storage blob update -c "$container" -n "$blob" --content-type text/css