我认为问题很清楚。为了更好地说明问题,让我用一些例子来解释:
在Azure Blob存储服务中,当我想将元数据设置为blob时,我使用以下代码和元数据名称:
# working
blob_service.set_blob_metadata(container_name="mycontainer",
blob_name="myblob",
x_ms_meta_name_values={'metadata1': 'aaaa'})
它工作正常,但是当我想要创建一个名称类似“1metadata”的元数据时 不允许:
# not working
blob_service.set_blob_metadata(container_name="mycontainer",
blob_name="myblob",
x_ms_meta_name_values={'1metadata': 'aaaa'})
然后,我发现了这样的限制:
azure中的元数据名称必须遵守 C#的命名规则 标识符(变量名)因此,我不能使用“1metadata”名称作为元数据名称。
e.g:
metadata_name # OK
meta-data # NOT
metadata12345 # OK
1234metadata # NOT
我的问题是 “为什么azure有这样的限制?”