Я расскажу вам немного о создании объектов в S3, поскольку я не совсем уверен, о чем вы спрашиваете, поэтому, возможно, общий обзор поможет.
put_object
и *Методы 1004 * определены в классе S3 :: Client, а не в сегменте объектов.Вот почему вы получаете сообщение об ошибке - они не являются методами класса S3Object.
Имея это в виду, вам сначала нужно создать экземпляр клиента S3:
profile_name = 'Rinkal'
region = 'us-east-1'
s3 = Aws::S3::Client.new(profile: profile_name, region: region)
Вытеперь может взаимодействовать с S3 через только что созданного клиента.Это, конечно, при условии, что вы правильно настроили аутентификацию S3 - подробнее об этом здесь.
Предполагая, что у вас есть имя корзины (похоже, в вашем коде это folder_key), вы можете создать объект внутри этого сегмента:
s3.put_object(bucket: folder_key, key: "file", body: "Rinkal's s3 object")
Если вы хотите создать блок, а не объект, вы можете сделать это с помощью следующего кода:
s3.create_bucket(bucket: 'my-bucket')
Надеюсь, что поможет.