我试图获取根桶中的对象列表,但它返回0个对象=(事实上,那里有三个对象。我对此很确定。)
uses
AWS.S3, AWS.Core;
...
procedure TMainForm.FormCreate(Sender: TObject);
var
opt:IAWSOptions;
begin
ReportMemoryLeaksOnShutdown:=true;
opt:=TAWSOptions.Create;
opt.AccessKeyId:='*****';
opt.SecretAccessKey:='*****';
opt.Endpoint:=TAWSEndpoint.Create('https://s3.storage.selcloud.ru');
opt.Region:='ru-1';
s3aws:=TS3Client.Create(opt);
var Response := s3aws.ListBuckets;
StatusMemo.Lines.Add('Root bucket(s):');
for var Bucket in Response.Buckets do begin
StatusMemo.Lines.Add( '- ' + Bucket.Name );
StatusMemo.Lines.Add( '- Objects: ' + IntToStr(Bucket.Objects.Count) );
for var ObjName in Bucket.Objects do
StatusMemo.Lines.Add( '- ' + ObjName.Key );
end;
end;
连接工作,根存储桶到达,但Bucket.objects.Count返回0
在python通过boho3所有工作正常,检查,但我需要在 Delphi 中的解决方案
1条答案
按热度按时间m1m5dgzv1#
ListBuckets
命令只提供发送方拥有的bucket的名称。要获取对象,需要为每个bucket发送单独的ListObjects
或ListObjectsV2命令。有关如何发送该命令,请参阅SDK文档。