require_once __DIR__ . '/vendor/autoload.php';
use Tos\Exception\TosClientException;
use Tos\Exception\TosServerException;
use Tos\Model\AppendObjectInput;
$client = new TosClient([
'region' => 'your region',
'endpoint' => 'your endpoint',
'ak' => getenv('TOS_ACCESS_KEY'),
'sk' => getenv('TOS_SECRET_KEY'),
$content = 'hello world'
$input = new AppendObjectInput('bucket-test', 'key-test');
$input->setACL(Enum::ACLPublicRead);
$input->setStorageClass(Enum::StorageClassStandard);
$input->setMeta(['aaa' => 'bbb', 'Chinese Key' => 'Chinese Value']);
$input->setContentType('text/plain');
for ($i = 0; $i < 20000; $i++) {
$input->setContent($content);
$output = $client->appendObject($input);
echo $output->getRequestId() . PHP_EOL;
$nextAppendOffset = $output->getNextAppendOffset();
$input->setOffset($nextAppendOffset);
for ($i = 0; $i < 20000; $i++) {
$input->setContent($content2);
$output = $client->appendObject($input);
echo $output->getRequestId() . PHP_EOL;
echo $output->getNextAppendOffset() . PHP_EOL;
} catch (TosClientException $ex) {
echo $ex->getMessage() . PHP_EOL;
} catch (TosServerException $ex) {
echo $ex->getRequestId() . PHP_EOL;
echo $ex->getStatusCode() . PHP_EOL;
echo $ex->getErrorCode() . PHP_EOL;