метаданные azcopy со значением, имеющим точку с запятой - PullRequest
1 голос
/ 19 июня 2020

Вероятно, это простой вопрос, но по какой-то причине я не могу найти ответ. Я пытаюсь загрузить файл в наше хранилище BLOB-объектов и в процессе правильно настраиваю метаданные для последующего чтения.

Итак, в настоящее время у меня есть следующая команда:
azcopy copy "<local file path>" "<blob file path>?<sas token>" --metadata "demo=2;5"
это не работает, и это из-за точки с запятой
azcopy copy "<local file path>" "<blob file path>?<sas token>" --metadata "demo=25"
это, однако, работает, но превосходит цель того, что я хочу достичь.

1 Ответ

0 голосов
/ 19 июня 2020

Я не думаю, что это возможно. Я нашел исходный код для azcopy, и он использует ; в качестве разделителя для разделения нескольких пар ключ / значение метаданных.

metadataString := string(dstData.Metadata[:dstData.MetadataLength])
jpm.metadata = common.Metadata{}
if len(metadataString) > 0 {
    for _, keyAndValue := range strings.Split(metadataString, ";") { // key/value pairs are separated by ';'
        kv := strings.Split(keyAndValue, "=") // key/value are separated by '='
        jpm.metadata[kv[0]] = kv[1]
    }
}

Возможно, вы захотите открыть проблема здесь: https://github.com/Azure/azure-storage-azcopy/issues и сообщите команде о проблеме.

...