Summary

The updateAzureEventHubIngestFeedCredentials() mutation updates authentication credentials for an existing Azure Event Hubs ingest feed. Use this mutation after rotating or replacing Azure credentials to keep the feed operational. To create a new Azure Event Hubs ingest feed, use createAzureEventHubIngestFeed() instead.

Syntax

graphql
updateAzureEventHubIngestFeedCredentials(
      input: UpdateAzureEventHubIngestFeedCredentials!
   ): IngestFeed!

The mutation accepts a single required input argument of type UpdateAzureEventHubIngestFeedCredentials. This input requires the ingest feed ID, the repository name, and the updated Azure authentication details. The mutation returns an IngestFeed object representing the updated feed.

Example

Raw
graphql
mutation {
    updateAzureEventHubIngestFeedCredentials(input: {
      "authentication": {
        "clientSecretCredentials": {
          "clientId": "my-new-access-key",
          "clientSecret": "my-new-password",
          "secretId": "new-secret-id",
          "tenantId": "my-new-tenant-id"
        },
        "kind": "ClientSecretCredentials"
      },
      "id": "abc123",
      "repositoryName": "developer"
    }) {
        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 {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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 {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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 { ^
    updateAzureEventHubIngestFeedCredentials(input: { ^
      \"authentication\": { ^
        \"clientSecretCredentials\": { ^
          \"clientId\": \"my-new-access-key\", ^
          \"clientSecret\": \"my-new-password\", ^
          \"secretId\": \"new-secret-id\", ^
          \"tenantId\": \"my-new-tenant-id\" ^
        }, ^
        \"kind\": \"ClientSecretCredentials\" ^
      }, ^
      \"id\": \"abc123\", ^
      \"repositoryName\": \"developer\" ^
    }) { ^
        id ^
    } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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 {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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 {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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 {
    updateAzureEventHubIngestFeedCredentials(input: {
      \"authentication\": {
        \"clientSecretCredentials\": {
          \"clientId\": \"my-new-access-key\",
          \"clientSecret\": \"my-new-password\",
          \"secretId\": \"new-secret-id\",
          \"tenantId\": \"my-new-tenant-id\"
        },
        \"kind\": \"ClientSecretCredentials\"
      },
      \"id\": \"abc123\",
      \"repositoryName\": \"developer\"
    }) {
        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
{
  "data": {
    "updateAzureEventHubIngestFeedCredentials": {
      "id": "def456"
    }
  }
}

Input Parameters

Provide the unique identifier of the ingest feed, the name of the repository that owns it, and the updated Azure authentication credentials. All three fields are required. The following table describes each field in the UpdateAzureEventHubIngestFeedCredentials input type:

Table: UpdateAzureEventHubIngestFeedCredentials Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
authenticationAzureEventHubsAuthenticationUpdateyes Preview Authentication method for Azure Event Hub. See AzureEventHubsAuthenticationInput.
idStringyes Preview The unique identifier of the ingest feed.
repositoryNameRepoOrViewNameyes Preview The name of the repository of the ingest feed. RepoOrViewName is a scalar.

Returned Values

The mutation returns an IngestFeed object reflecting the updated feed configuration, including its ID, name, enabled state, and source authentication details. Use the returned object to confirm that the credentials updated correctly.

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.