删除对象时,aws-sdk ruby​​返回nil

时间:2015-06-18 08:52:38

标签: ruby amazon-web-services amazon-s3 aws-sdk

我尝试使用ruby aws-sdk(版本2)删除S3上的对象。它工作正常,但它返回此

Type, Public :: Space

  Character (Len=65) :: nm
  Real, Allocatable :: a(:,:,:) 

  Contains
    Procedure :: mvalloc => space_mvalloc

End Type Space


Subroutine space_mvalloc (t, b)

  Class (Space), Intent (InOut) :: t
  Real, Intent (InOut) :: b(:,:,:)

  Call Move_Alloc (b, t% a)

End Subroutine space_mvalloc

哪个没有意义,因为在Go Playground中它表示响应应该是类型:

  

resp.delete_marker#=>真/假

     

resp.version_id#=>串

     

resp.request_charged#=>字符串,“请求者”之一

为什么我变成了零?我想知道对象是否被删除。我成功删除了这个对象,当我没有这个时,我得到了这个回应。

这是我用来删除对象的代码:

<struct Aws::S3::Types::DeleteObjectOutput delete_marker=nil,version_id=nil, request_charged=nil>

1 个答案:

答案 0 :(得分:0)

您的删除对象成功。 Amazon S3 API仅在特定情况下返回这些值。在这种情况下,您的对象不在版本化的存储桶中(没有版本ID或删除标记布尔值),并且没有为请求付款程序配置。

作为一般规则,如果SDK未从响应中引发错误,则表示成功。在这种情况下,API参考文档可能会引起混淆,因为它没有明确指出这些值可能是putenv(3)

aws-sdk-ruby Aws::CloudFormation::Client#delete_stack Documentation