Summary

In LogScale, bucket transfer moves an organization's ingested segments and associated files from local storage to the organization's configured object storage bucket (S3, Azure Blob Storage, or GCS). Once registered, the transfer runs asynchronously in the background.

The addOrganizationForBucketTransfer() mutation registers the calling organization for bucket transfer. The optional allowInPlaceMigration argument controls whether in-place segment migrations are permitted for S3 and Azure bucket storage.

Syntax

graphql
addOrganizationForBucketTransfer(
      allowInPlaceMigration: Boolean
   ): Boolean!

The optional allowInPlaceMigration argument controls whether transfers from and to the same bucket storage locations are permitted. When set to true, this bypasses upload overwrite checks for S3 and Azure, enabling in-place segment migrations. GCS does not implement those checks, so this argument has no effect for GCS buckets.

The mutation returns Boolean!, which is true when the registration succeeds.

Example

Raw
graphql
mutation {
  addOrganizationForBucketTransfer
}
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 {
  addOrganizationForBucketTransfer
}"
}
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 {
  addOrganizationForBucketTransfer
}"
}
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 { ^
  addOrganizationForBucketTransfer ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  addOrganizationForBucketTransfer
}"
}'
    "$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 {
  addOrganizationForBucketTransfer
}";
$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 {
  addOrganizationForBucketTransfer
}"
}'''

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 {
  addOrganizationForBucketTransfer
}"
}
);


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": {
    "addOrganizationForBucketTransfer": true
  }
}

Input Parameters

The allowInPlaceMigration argument is optional. Set it to true when the source and destination bucket locations are the same โ€” for example, when reorganizing data within the same S3 bucket. Without this flag, overwrite checks block in-place transfers for S3 and Azure. GCS does not perform overwrite checks, so this argument has no effect for GCS configurations.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
allowInPlaceMigration Boolean ย  ย  Allow transfers from and to the same locations in bucket storage. When true, bypasses upload overwrite checks for S3 and Azure, enabling in-place segment migrations. GCS is unaffected because it does not implement those checks. When omitted or false, overwrite checks remain active.