Мне нужно переместить файлы из одного большого двоичного объекта в другой. Не копировать. Мне нужно переехать; Это означает, что когда я перехожу из A в B, файлы переходят из A в B, а в A. ничего нет. Это так просто, но невозможно в Azure Blob. Пожалуйста, дайте мне знать, если это возможно. Я использую его из SQL Server, используя AzcopyVersion 10.3.2
Теперь из-за этого мне нужно скопировать файлы из A в B, а затем удалить файлы из A. Есть 2 проблемы.
1) Я хочу, чтобы только определенные файлы перешли от A к B.
DECLARE @Program varchar(200) = 'C:\azcopy.exe'
DECLARE @Source varchar(max) = '"https://myblob.blob.core.windows.net/test/myfolder/*?SAS"'
DECLARE @Destination varchar(max) = '"https://myblob.blob.core.windows.net/test/archive?SAS"'
DECLARE @Cmd varchar(5000)
SELECT @Cmd = @Program +' cp '+ @Source +' '+ @Destination + ' --recursive'
PRINT @cmd
EXECUTE master..xp_cmdshell @Cmd
Итак, когда я наберу myfolder/*
, он заберет все файлы. Когда я пробую myfolder/*.pdf
, появляется failed to parse user input due to error: cannot use wildcards in the path section of the URL except in trailing "/*". If you wish to use * in your URL, manually encode it to %2A
Когда я пытаюсь myfolder/%2A.pdf
ИЛИ myfolder/%2Apdf
, он все равно выдает ошибку.
ИНФОРМАЦИЯ: не удалось создать один или несколько целевых контейнеров. Ваши переводы могут быть успешными, если контейнер уже существует.
Но папка назначения уже есть. И в файле журнала написано:
ОТВЕТ Статус: 403 Этот запрос не авторизован для выполнения этой операции.
"https://myblob.blob.core.windows.net/test/myfolder/*?SAS"
вы имеете в виду файлы, имя которых заканчивается на?SAS
? или вы имеете в виду папку, которая на самом деле называется*?SAS
? - person Larnu   schedule 02.12.2019