Summary

The updateAwsS3SqsIngestFeed() mutation updates an existing ingest feed. The feed pulls data from AWS S3 through an SQS notification queue. This mutation performs a delta update, meaning only the fields you supply are changed. Use it after createAwsS3SqsIngestFeed() to modify settings such as authentication, parser, SQS URL, region, or enabled state.

Syntax

graphql
updateAwsS3SqsIngestFeed(
      input: UpdateAwsS3SqsIngestFeed!
   ): IngestFeed!

The required input argument takes an UpdateAwsS3SqsIngestFeed! object. The repositoryName and id fields are required; all other fields are optional. Supply only the fields you want to change. The mutation returns a non-null IngestFeed! object representing the updated feed state.

Input parameters

Provide the feed id and repositoryName to identify the target feed. All other fields are optional. Supply only the fields you want to change.

Table: UpdateAwsS3SqsIngestFeed Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
authenticationIngestFeedAwsAuthenticationInput  Long-Term How to authenticate with AWS. See IngestFeedAwsAuthenticationInput.
compressionIngestFeedCompression  Long-Term The compression scheme of the file. See IngestFeedCompression.
descriptionUpdateIngestFeedDescription  Long-Term If the description should be cleared, supply an UpdateDescription object with no value or a null value. If the description should be changed, supply an UpdateDescription object with the desired value. See UpdateIngestFeedDescription.
enabledBoolean  Long-Term Whether ingest from the ingest feed is enabled.
idStringyes Long-Term The unique identifier of the ingest feed.
nameString  Long-Term The name of the ingest feed.
parserString  Long-Term The unique identifier or name of the parser that should be used to parse the ingest feed. Parsers in packages can be referred to as packagescope/packagename:parsername.
preprocessingIngestFeedPreprocessingInput  Long-Term The preprocessing to apply to an ingest feed before parsing. See IngestFeedPreprocessingInput.
regionString  Long-Term The AWS region in which to connect.
repositoryNameRepoOrViewNameyes Long-Term Name of the repository of the ingest feed. RepoOrViewName is a scalar.
sqsUrlString  Long-Term The AWS SQS queue URL.

Example

Raw
graphql
mutation {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: "humio",
      id: "abc123",
      enabled: false
    }
  )
  { id }
}
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 {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}"
}
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 {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}"
}
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 { ^
  updateAwsS3SqsIngestFeed( input: ^
    { ^
      repositoryName: \"humio\", ^
      id: \"abc123\", ^
      enabled: false ^
    } ^
  ) ^
  { id } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}"
}'
    "$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 {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}";
$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 {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}"
}'''

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 {
  updateAwsS3SqsIngestFeed( input:
    {
      repositoryName: \"humio\",
      id: \"abc123\",
      enabled: false
    }
  )
  { id }
}"
}
);


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
{
  "updateAwsS3SqsIngestFeed": {
    "id": "abc123"
    }
  }
}

The input contains the feed ID, repository name, and any fields to update. Only supplied fields are changed; omitted fields retain their current values.

Returned values

The mutation returns a non-null IngestFeed! object reflecting the feed's state after the update. Returned fields include the feed ID, name, enabled state, and parser details. They also include the AWS authentication configuration, SQS URL, region, preprocessing settings, and compression scheme.

Table: IngestFeed Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
createdAtLongyes Long-Term Unix timestamp for when this feed was created.
descriptionString  Long-Term A description of the ingest feed.
enabledBooleanyes Long-Term Whether the ingest from the ingest feed is enabled.
executionInfoIngestFeedExecutionInfo  Long-Term Details about how the ingest feed is running. See IngestFeedExecutionInfo.
forceStoppedBooleanyes Preview Whether the ingest feed is force stopped, meaning only a cluster manager can start the ingest feed again.
idStringyes Long-Term The unique identifier of the ingest feed.
nameStringyes Long-Term The name of the ingest feed.
parserParser  Long-Term The parser used to parse the ingest feed. See Parser.
sourceIngestFeedSourceyes Long-Term The source of the ingest feed. See IngestFeedSource.