Как я могу изменить класс хранения S3 объекта / каталога, используя Ruby SDK?

Я не могу найти метод, сопоставимый с методом changeOutputStorageClass из Java SDK. Я также слышал, что есть способ сделать это через AWS CLI, но я пытаюсь использовать Ruby SDK.

1 ответ

Решение

Версия 2 имеет это в объекте S3 PutObjectRequest

object.put({
  acl: "private", # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
  body: source_file, # file/IO object, or string data
  cache_control: "CacheControl",
  content_disposition: "ContentDisposition",
  content_encoding: "ContentEncoding",
  content_language: "ContentLanguage",
  content_length: 1,
  content_md5: "ContentMD5",
  content_type: "ContentType",
  expires: Time.now,
  grant_full_control: "GrantFullControl",
  grant_read: "GrantRead",
  grant_read_acp: "GrantReadACP",
  grant_write_acp: "GrantWriteACP",
  metadata: {
    "MetadataKey" => "MetadataValue",
  },
  server_side_encryption: "AES256", # accepts AES256, aws:kms
  storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA
  website_redirect_location: "WebsiteRedirectLocation",
  sse_customer_algorithm: "SSECustomerAlgorithm",
  sse_customer_key: "SSECustomerKey",
  sse_customer_key_md5: "SSECustomerKeyMD5",
  ssekms_key_id: "SSEKMSKeyId",
  request_payer: "requester", # accepts requester
  tagging: "TaggingHeader",
  use_accelerate_endpoint: false,
})

http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Types/PutObjectRequest.html

и в CopyObjectRequest

http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Types/CopyObjectRequest.html

Другие вопросы по тегам