При записи архива в хранилище Glacier с помощью команды модуля AWSPowershell «Write-GLCArchive» ни одна строка, которую я передаю в параметр -Description, не сохраняется успешно с записанным архивом. Я знаю, что проблема не связана с используемыми учетными данными API, потому что я могу успешно загружать и скачивать архивы, а также выполнять другие административные задачи в Glacier.
Я намеревался передать в XML кодированную метаданные -данные для записываемого файла архива (исходный путь к файлу и время последней записи), но даже при попытке чего-то простого, такого как «проверка» в качестве описания и последующего просмотра записанного архива в файле инвентаризации хранилища, «ArchiveDescription» JSON поле всегда возвращается как пустая строка "".
Я временно обошел эту проблему, создав локальный индекс архивных метаданных, но это не облегчает просмотр и понимание инвентаризации хранилища без доступа к этому индексу.
Мне любопытно, сталкивался ли кто-либо с подобными проблемами или кто-то знает о чем-то, что я делаю неправильно с передачей строкового аргумента?
Информация о версии -
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14409.1018
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14409.1018
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
> Get-Module -ListAvailable -Name AWSPowerShell
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 4.0.2.0 AWSPowerShell {Clear-AWSHistory, Set-AWSHistoryConfiguration, Initialize-AWSDefaultConfiguration, Clear-AWSDefaultConfiguration...
Пример команды для загрузки файла с описанием -
Write-GLCArchive -VaultName "<vault name>" -FilePath "c:\test\hw.aws.txt" -Description "HelloWorldDescription"
Это успешно возвращает результаты FilePath, Checksum и ArchiveId без каких-либо признаков ошибок или предупреждений -
FilePath ArchiveId Checksum
-------- --------- --------
c:\test\hw.aws.txt _HvCLiH6mx3f_llXfPS2xSwHSLkp9ZJ39yPT7v3MrdHhOTrBD0PTMjTuZU7TOliPuRCTTRkr2XuZOI25eTgcd3Uhaycfcqk9tUgraj5Yxe3-vU7ZX-IWF2QI9cfMLM9MYCbdk_VAZQ 442d14932dd27ddbb2b2d7e57130f7ea050147c775c...
При последующем просмотре этого архива в файле инвентаризации я получаю следующее:
{"ArchiveId":"_HvCLiH6mx3f_llXfPS2xSwHSLkp9ZJ39yPT7v3MrdHhOTrBD0PTMjTuZU7TOliPuRCTTRkr2XuZOI25eTgcd3Uhaycfcqk9tUgraj5Yxe3-vU7ZX-IWF2QI9cfMLM9MYCbdk_VAZQ",
"ArchiveDescription":"",
"CreationDate":"2020-02-10T19:16:17Z",
"Size":58,
"SHA256TreeHash":"442d14932dd27ddbb2b2d7e57130f7ea050147c775c..."}
Любая помощь или руководство будет высоко ценится, это сводит меня с ума! Я перепробовал все, в том числе используя JetBrains 'dotPeek, чтобы найти в пакете AWSSDK.Glacier .dll любые подсказки. Я не пытался напрямую вызывать код. NET в PS для выполнения загрузки, но я подтвердил, что могу дать такое же описание через библиотеку python и curl (оба из которых работают как положено).
Я также опубликовал это на AWS форумах PowerShell, потому что у меня такое чувство, что это может быть ошибкой: https://forums.aws.amazon.com/thread.jspa?threadID=318204