Sample code for 30+ languages & platforms
React Native

Amazon Voice ID - Describe Domain

See more Amazon Voice ID Examples

Describes the specified domain.

Chilkat React Native Downloads

React Native
import { AuthAws, JsonObject, Rest, StringBuilder } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const rest = new Rest();

  const authAws = new AuthAws();
  authAws.accessKey = 'AWS_ACCESS_KEY';
  authAws.secretKey = 'AWS_SECRET_KEY';

  // Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
  authAws.region = 'us-west-2';
  authAws.serviceName = 'voiceid';
  // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
  rest.setAuthAws(authAws);

  // URL: https://voiceid.us-west-2.amazonaws.com/
  const bTls = true;
  const port = 443;
  const bAutoReconnect = true;
  // Use the same region as specified above.
  try {
    await rest.connectAsync('voiceid.us-west-2.amazonaws.com', port, bTls, bAutoReconnect);
  } catch {
    console.log(`ConnectFailReason: ${rest.connectFailReason}`);
    console.log(rest.lastErrorText);
    return;
  }

  // Use this online tool to generate code from sample JSON:
  // Generate Code to Create JSON

  // The following JSON is sent in the request body.

  // {
  //     "DomainId": "<domainId>"
  // }
  // 

  const json = new JsonObject();
  json.updateString('DomainId', '<domainId>');

  rest.addHeader('Content-Type', 'application/x-amz-json-1.0');
  rest.addHeader('X-Amz-Target', 'VoiceID.DescribeDomain');
  rest.addHeader('Accept-Encoding', 'identity');

  const sbRequestBody = new StringBuilder();
  json.emitSb(sbRequestBody);
  const sbResponseBody = new StringBuilder();
  try {
    await rest.fullRequestSbAsync('POST', '/', sbRequestBody, sbResponseBody);
  } catch {
    console.log(rest.lastErrorText);
    return;
  }

  const respStatusCode = rest.responseStatusCode;
  console.log(`response status code = ${respStatusCode}`);
  if (respStatusCode !== 200) {
    console.log(`Response Status Code = ${respStatusCode}`);
    console.log('Response Header:');
    console.log(rest.responseHeader);
    console.log('Response Body:');
    console.log(sbResponseBody.getAsString());
    return;
  }

  const jsonResponse = new JsonObject();
  jsonResponse.loadSb(sbResponseBody);

  jsonResponse.emitCompact = false;
  console.log(jsonResponse.emit());

  // If successful, the response status code is 200, and the response syntax:

  // {
  //    "Domain": { 
  //       "Arn": "string",
  //       "CreatedAt": number,
  //       "Description": "string",
  //       "DomainId": "string",
  //       "DomainStatus": "string",
  //       "Name": "string",
  //       "ServerSideEncryptionConfiguration": { 
  //          "KmsKeyId": "string"
  //       },
  //       "UpdatedAt": number
  //    }
  // }

  const domainArn = jsonResponse.stringOf('Domain.Arn');
  const domainCreatedAt = jsonResponse.intOf('Domain.CreatedAt');
  const domainDescription = jsonResponse.stringOf('Domain.Description');
  const domainDomainId = jsonResponse.stringOf('Domain.DomainId');
  const domainDomainStatus = jsonResponse.stringOf('Domain.DomainStatus');
  const domainName = jsonResponse.stringOf('Domain.Name');
  const domainServerSideEncryptionConfigurationKmsKeyId = jsonResponse.stringOf('Domain.ServerSideEncryptionConfiguration.KmsKeyId');
  const domainUpdatedAt = jsonResponse.intOf('Domain.UpdatedAt');
}