Я использую библиотеку azure-storage-php для копирования файлов на файловый ресурс хранилища Azure.
Перемещение файлов на файловый ресурс в целом работает, но при использовании потокового содержимого файла появляется ошибка аутентификации:
Fail:
Code: 403
Value: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
details (if any): <?xml version="1.0" encoding="utf-8"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:070c24e7-ABCD-EFGH-7f8e6d000000
Time:2019-10-10T11:45:35.8832342Z</Message><AuthenticationErrorDetail>The MAC signature found in the HTTP request 'X+WJOUaKHhOABCDEFGHIJKLMNOPQRSTUVWXYZe5Iu2k=' is not the same as any computed signature. Server used following string to sign: 'PUT
568340
text/csv
Thu, 10 Oct 2019 11:45:35 GMT
x-ms-range:bytes=0-568339
x-ms-request-id:5d9f19dfd2dae
x-ms-version:2016-05-31
x-ms-write:Update
/username/file-share-name/myFile.csv
comp:range'.</AuthenticationErrorDetail></Error>
Я уже убедился, что системное время синхронизировано,как у некоторых людей были проблемы с этим.
Файл даже создан в хранилище и заполнен большим количеством строк
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
Я использую https://github.com/thephpleague/flysystem какслой абстракции. Чтобы открыть поток, я попытался использовать $stream = fopen('filePath.csv', 'rb')
и $flysystem->readStream('localFilesystem', 'filePath.csv');