Summary

The configureAzureArchiving() mutation configures Azure Blob Storage archiving for a LogScale repository. Use it to set the target bucket, archiving format, tag-based path structure, and optional time boundaries for archived data. To enable or disable archiving after configuration, use enableArchiving() or disableArchiving().

Syntax

graphql
configureAzureArchiving(
      repositoryName: String!,
      bucket: String!,
      format: ArchivingFormat!,
      tagOrderInName: [String!],
      startFromDateTime: DateTime,
      endAtDateTime: DateTime
   ): BooleanResultType!

The three required arguments are repositoryName, bucket, and format. The remaining arguments are optional and control tag-based path structure and time boundaries for archiving.

The mutation returns a BooleanResultType! indicating whether the configuration succeeded.

Example

Raw
graphql
mutation {
  configureAzureArchiving(
    repositoryName: "humio",
    bucket: "pale-1",
    repositoryName: "RAW"
  ) { result }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  configureAzureArchiving( ^
    repositoryName: \"humio\", ^
    bucket: \"pale-1\", ^
    repositoryName: \"RAW\" ^
  ) { result } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  configureAzureArchiving(
    repositoryName: \"humio\",
    bucket: \"pale-1\",
    repositoryName: \"RAW\"
  ) { result }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "configureAzureArchiving": {
      "result": true
    }
  }
}

Input Parameters

The required parameters are repositoryName, bucket, and format. The optional parameters control tag-based path structure and the time range of data to archive in Azure Blob Storage.

Table: Input Parameters and Datatypes

Parameter Type Required Default Description
This table includes all input parameters for this mutation. Because one parameter uses a special datatype, the following table describes its fields.
bucket String yes   The name of the Azure Blob Storage container to archive data into.
endAtDateTime DateTime     The timestamp at which archiving stops. Omit to archive data indefinitely.
format ArchivingFormat yes   The format used to store archived segments in Azure. See the ArchivingFormat table below.
repositoryName String yes   The name of the LogScale repository to configure archiving for.
startFromDateTime DateTime     The timestamp from which archiving begins. Omit to archive from the earliest available data.
tagOrderInName [String!]     An ordered list of tag field names. LogScale uses these tags, in the given order, to construct the archive object path in Azure.

The ArchivingFormat enum specifies the format used to store archived segments in Azure Blob Storage.

Returned Values

The mutation returns a BooleanResultType! confirming whether the Azure archiving configuration was applied successfully.

Table: BooleanResultType Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
resultBooleanyes Long-Term Whether the mutation was performed successfully.