influxdata/influxdb-client-php

How can I delete points?

skillbox-koutja opened this issue · 1 comments

Give me advice. How can I delete points? Which type of api I should use: write or query?

Hi @skillbox-koutja,

thanks for using our client.

The DefaultService.php supports deletes points from an InfluxDB bucket. You could use something like:

<?php
/**
 * Shows how to delete data from InfluxDB by client
 */
use InfluxDB2\Client;
use InfluxDB2\Model\DeletePredicateRequest;
use InfluxDB2\Service\DefaultService;

$url = 'http://localhost:8086';
$token = 'my-token';
$org = 'my-org';
$bucket = 'my-bucket';

$client = new Client([
    "url" => $url,
    "token" => $token,
    "bucket" => $bucket,
    "org" => $org,
    "precision" => InfluxDB2\Model\WritePrecision::S
]);

//
// Delete data by measurement and tag value
//
/** @var DefaultService $service */
$service = $client->createService(DefaultService::class);

$predicate = new DeletePredicateRequest();
$predicate->setStart(DateTime::createFromFormat('Y', '2020'));
$predicate->setStop(new DateTime());
$predicate->setPredicate("_measurement=\"mem\" AND host=\"host1\"");

$service->deletePost($predicate, null, $org, $bucket);

$client->close();

Regards