aws-sdk ruby returns 删除对象时为零
aws-sdk ruby returns nil when deleting object
我正在尝试使用 ruby aws-sdk(版本 2)删除 S3 上的对象。它工作正常,但是 returns 这个
<struct Aws::S3::Types::DeleteObjectOutput delete_marker=nil,version_id=nil, request_charged=nil>
这没有意义,因为在 documentation 中它表示响应应为以下类型:
resp.delete_marker #=> true/false
resp.version_id #=> String
resp.request_charged #=> String, one of "requester"
为什么我变成零了?我想知道对象是否被删除。当我成功删除对象和没有成功删除对象时,我都会收到该响应。
这是我用来删除对象的代码:
creds = Aws::Credentials.new(user_access_key,
user_secret_key,
session_token)
s3 = Aws::S3::Client.new( region: 'eu-west-1',
credentials: creds)
key = "myKey.csv"
r = s3.delete_object(bucket: "myBucket",
key: key)
您的对象删除成功。在某些情况下,Amazon S3 API 仅 returns 这些值。在这种情况下,您的对象不在版本化存储桶中(没有版本 ID 或删除标记布尔值),并且没有为请求付款人配置。
作为一般规则,如果 SDK 没有从响应中引发错误,则它是成功的。在这种情况下,API 参考文档可能会造成混淆,因为它没有明确指出这些值可能是 nil
.
aws-sdk-ruby Aws::CloudFormation::Client#delete_stack Documentation
我正在尝试使用 ruby aws-sdk(版本 2)删除 S3 上的对象。它工作正常,但是 returns 这个
<struct Aws::S3::Types::DeleteObjectOutput delete_marker=nil,version_id=nil, request_charged=nil>
这没有意义,因为在 documentation 中它表示响应应为以下类型:
resp.delete_marker #=> true/false
resp.version_id #=> String
resp.request_charged #=> String, one of "requester"
为什么我变成零了?我想知道对象是否被删除。当我成功删除对象和没有成功删除对象时,我都会收到该响应。
这是我用来删除对象的代码:
creds = Aws::Credentials.new(user_access_key,
user_secret_key,
session_token)
s3 = Aws::S3::Client.new( region: 'eu-west-1',
credentials: creds)
key = "myKey.csv"
r = s3.delete_object(bucket: "myBucket",
key: key)
您的对象删除成功。在某些情况下,Amazon S3 API 仅 returns 这些值。在这种情况下,您的对象不在版本化存储桶中(没有版本 ID 或删除标记布尔值),并且没有为请求付款人配置。
作为一般规则,如果 SDK 没有从响应中引发错误,则它是成功的。在这种情况下,API 参考文档可能会造成混淆,因为它没有明确指出这些值可能是 nil
.
aws-sdk-ruby Aws::CloudFormation::Client#delete_stack Documentation