Python 为什么Azure Blob元数据的名称必须遵守C标识符的命名规则?

Python 为什么Azure Blob元数据的名称必须遵守C标识符的命名规则?,python,azure,azure-storage,azure-storage-blobs,Python,Azure,Azure Storage,Azure Storage Blobs,我想问题很清楚。为了更好地说明这个问题,让我用一些例子来解释: 在Azure Blob存储服务中,当我要将元数据设置为Blob时,我使用以下代码和元数据名称: # working blob_service.set_blob_metadata(container_name="mycontainer", blob_name="myblob", x_ms_

我想问题很清楚。为了更好地说明这个问题,让我用一些例子来解释: 在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的命名规则 identifiersvariable名称,因此,我不能使用1metadata名称作为元数据名称

e、 g:

我的问题是
azure为什么有这样的限制?

根据文档,连字符是不允许的。这里有一个有用的链接:我知道,我们也不能从数字开始。它具有与C标识符规则相同的规则。但我在问为什么?在文档中应该有这样的限制的理由???
metadata_name  # OK
meta-data      # NOT
metadata12345  # OK
1234metadata   # NOT