require_once __DIR__ . '/vendor/autoload.php';
use Tos\Exception\TosClientException;
use Tos\Exception\TosServerException;
use Tos\Model\DeleteObjectInput;
use Tos\Model\DeleteMultiObjectsInput;
use Tos\Model\ObjectTobeDeleted;
$client = new TosClient([
'region' => 'your region',
'endpoint' => 'your endpoint',
'ak' => getenv('TOS_ACCESS_KEY'),
'sk' => getenv('TOS_SECRET_KEY'),
$input = new DeleteObjectInput('bucket-test', 'key-test');
$output = $client->deleteObject($input);
echo $output->getRequestId() . PHP_EOL;
$objects[] = new ObjectTobeDeleted('key-test1');
$objects[] = new ObjectTobeDeleted('key-test2');
$input = new DeleteMultiObjectsInput('bucket-test');
$input->setObjects($objects);
$output = $client->deleteMultiObjects($input);
echo $output->getRequestId() . PHP_EOL;
echo 'delete succeed:' . PHP_EOL;
foreach ($output->getDeleted() as $deleted) {
echo $deleted->getKey() . PHP_EOL;
echo 'delete error:' . PHP_EOL;
foreach ($output->getError() as $error) {
echo $error->getKey() . PHP_EOL;
echo $error->getCode() . 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;