У меня есть учетная запись AWS S3 и элементы SecretAccessKey, SessionToken, Expiration, AccessKeyId. Я хотел бы загрузить некоторые файлы в облако, самым простым способом.
Прочитал некоторые документы, касающиеся заголовков авторизации (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html), но все же не понимаю как их строить))
также видел другой пример с Indy, поэтому, пожалуйста, помогите создать заголовок авторизации с этими элементами, которые у меня есть: SecretAccessKey, SessionToken, Expiration, AccessKeyId. Можно использовать режим «Передача полезной нагрузки в одном фрагменте» + «Опция подписанной полезной нагрузки».
FS := TFileStream.Create('c:\myfile.txt', fmOpenRead or fmShareDenyWrite);
try
IdHTTP1.Request.CustomHeaders.Values['Authorization'] := ...; // please help
IdHTTP1.Request.BasicAuthentication := False;
IdHTTP1.Request.Date := ...; //what should I enter here?
IdHTTP1.Request.Expect := '100-continue';
IdHTTP1.Request.ProtocolVersion := pv1_1;
...
IdHTTP1.Put('http://'+BucketName+'.s3.amazonaws.com/myfile.txt', FS);
finally
FS.Free;
end;
Спасибо!
Какой Delphi вы используете? Это облачные компоненты Delphi 10, которые упрощают работу.
Делфи ХЕ8. Какие компоненты в D10 используются для реализации aws auth?
TAmazonConnectionInfo, эти облачные компоненты кажутся новыми в Delphi 10. docwiki.embarcadero.com/RADStudio/Seattle/en/…
вау, только что нашел TAmazonConnectionInfo в XE8, лол))) НО, не могу понять, как заставить TAmazonConnectionInfo работать с временными учетными данными безопасности (токен безопасности)
следует ли использовать TAmazonAWS4Authentication.BuildAuthorizationString(... SignedStrHeaders из Delphi10 Berlin?
Извините, AFAI, мы не создали AccountKey, парень из Системы, создавший учетную запись, уже дал мне его. Я напишу ответ, показывающий код, который я использую.