Как вы можете сделать эквивалент:
s3cmd setacl --acl-grant=read:82b82d14a8d011e09d86001cc029a3688cdd635ea8d011e0b499001cc029a3689052a4f4a8d011e0bd25001cc029a368 s3://somebucket/some/path/to/file
в рубине? (желательно с использованием драгоценного камня 'aws-s3')
=== Редактировать ===
Как Сорен предлагает ниже, что-то похожее на это должно работать:
grant = AWS::S3::ACL::Grant.new
grant.permission = 'READ'
grantee = AWS::S3::ACL::Grantee.new
grantee.id = '82b82d14a8d011e09d86001cc029a3688cdd635ea8d011e0b499001cc029a3689052a4f4a8d011e0bd25001cc029a368'
grant.grantee = grantee
acl = AWS::S3::S3Object.acl('some/path/to/file', 'somebucket')
acl.grants << grant
AWS::S3::S3Object.acl 'some/path/to/file', 'somebucket', acl
Однако, это не работает, я получаю следующую ошибку:
Предоставленный вами XML не был
правильно сформирован или не подтвержден
против нашей опубликованной схемы
(AWS :: S3 :: MalformedACLError)
Есть идеи, как заставить это работать?