No, that's not quite correct.  On the first write, you do the create.  On subsequent appends, you'll need to do an update object and use the Extent parameter to specify the range of bytes you're appending to the object.
i wrote some test code with ruby sdk for creating object for large file. so  i created 1M data each time send the checksum object. the code looks like below.    atmos = EsuApi::EsuRestApi.new(host, port, uid, secret)  File.open('test_data/1.swf') do |f|   hash = EsuApi::Checksum.new('SHA0')   size = 1024 * 1024 * 1024   while chunk = f.read(size)     atmos.create_object_on_path('//1.swf', nil, nil, chunk, nil, hash)   end end   but i will receive error: The checksum sent with the request did not match the checksum as computed by the server.  did i use the api in wrote way?
How to create an object with chunks