CreateIntegrationCommand

Creates a Zero-ETL integration in the caller's account between two resources with Amazon Resource Names (ARNs): the SourceArn and TargetArn.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { GlueClient, CreateIntegrationCommand } from "@aws-sdk/client-glue"; // ES Modules import
// const { GlueClient, CreateIntegrationCommand } = require("@aws-sdk/client-glue"); // CommonJS import
const client = new GlueClient(config);
const input = { // CreateIntegrationRequest
  IntegrationName: "STRING_VALUE", // required
  SourceArn: "STRING_VALUE", // required
  TargetArn: "STRING_VALUE", // required
  Description: "STRING_VALUE",
  DataFilter: "STRING_VALUE",
  KmsKeyId: "STRING_VALUE",
  AdditionalEncryptionContext: { // IntegrationAdditionalEncryptionContextMap
    "<keys>": "STRING_VALUE",
  },
  Tags: [ // IntegrationTagsList
    { // Tag
      key: "STRING_VALUE",
      value: "STRING_VALUE",
    },
  ],
};
const command = new CreateIntegrationCommand(input);
const response = await client.send(command);
// { // CreateIntegrationResponse
//   SourceArn: "STRING_VALUE", // required
//   TargetArn: "STRING_VALUE", // required
//   IntegrationName: "STRING_VALUE", // required
//   Description: "STRING_VALUE",
//   IntegrationArn: "STRING_VALUE", // required
//   KmsKeyId: "STRING_VALUE",
//   AdditionalEncryptionContext: { // IntegrationAdditionalEncryptionContextMap
//     "<keys>": "STRING_VALUE",
//   },
//   Tags: [ // IntegrationTagsList
//     { // Tag
//       key: "STRING_VALUE",
//       value: "STRING_VALUE",
//     },
//   ],
//   Status: "CREATING" || "ACTIVE" || "MODIFYING" || "FAILED" || "DELETING" || "SYNCING" || "NEEDS_ATTENTION", // required
//   CreateTime: new Date("TIMESTAMP"), // required
//   Errors: [ // IntegrationErrorList
//     { // IntegrationError
//       ErrorCode: "STRING_VALUE",
//       ErrorMessage: "STRING_VALUE",
//     },
//   ],
//   DataFilter: "STRING_VALUE",
// };

CreateIntegrationCommand Input

See CreateIntegrationCommandInput for more details

Parameter
Type
Description
IntegrationName
Required
string | undefined

A unique name for an integration in Glue.

SourceArn
Required
string | undefined

The ARN of the source resource for the integration.

TargetArn
Required
string | undefined

The ARN of the target resource for the integration.

AdditionalEncryptionContext
Record<string, string> | undefined

An optional set of non-secret key–value pairs that contains additional contextual information for encryption. This can only be provided if KMSKeyId is provided.

DataFilter
string | undefined

Selects source tables for the integration using Maxwell filter syntax.

Description
string | undefined

A description of the integration.

KmsKeyId
string | undefined

The ARN of a KMS key used for encrypting the channel.

Tags
Tag[] | undefined

Metadata assigned to the resource consisting of a list of key-value pairs.

CreateIntegrationCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
CreateTime
Required
Date | undefined

The time when the integration was created, in UTC.

IntegrationArn
Required
string | undefined

The Amazon Resource Name (ARN) for the created integration.

IntegrationName
Required
string | undefined

A unique name for an integration in Glue.

SourceArn
Required
string | undefined

The ARN of the source resource for the integration.

Status
Required
IntegrationStatus | undefined

The status of the integration being created.

The possible statuses are:

  • CREATING: The integration is being created.

  • ACTIVE: The integration creation succeeds.

  • MODIFYING: The integration is being modified.

  • FAILED: The integration creation fails.

  • DELETING: The integration is deleted.

  • SYNCING: The integration is synchronizing.

  • NEEDS_ATTENTION: The integration needs attention, such as synchronization.

TargetArn
Required
string | undefined

The ARN of the target resource for the integration.

AdditionalEncryptionContext
Record<string, string> | undefined

An optional set of non-secret key–value pairs that contains additional contextual information for encryption.

DataFilter
string | undefined

Selects source tables for the integration using Maxwell filter syntax.

Description
string | undefined

A description of the integration.

Errors
IntegrationError[] | undefined

A list of errors associated with the integration creation.

KmsKeyId
string | undefined

The ARN of a KMS key used for encrypting the channel.

Tags
Tag[] | undefined

Metadata assigned to the resource consisting of a list of key-value pairs.

Throws

Name
Fault
Details
AccessDeniedException
client

Access to a resource was denied.

ConflictException
client

The CreatePartitions API was called on a table that has indexes enabled.

EntityNotFoundException
client

A specified entity does not exist

IntegrationConflictOperationFault
client

The requested operation conflicts with another operation.

IntegrationQuotaExceededFault
client

The data processed through your integration exceeded your quota.

InternalServerException
server

An internal server error occurred.

InternalServiceException
server

An internal service error occurred.

InvalidInputException
client

The input provided was not valid.

KMSKeyNotAccessibleFault
client

The KMS key specified is not accessible.

ResourceNotFoundException
client

The resource could not be found.

ResourceNumberLimitExceededException
client

A resource numerical limit was exceeded.

ValidationException
client

A value could not be validated.

GlueServiceException
Base exception class for all service exceptions from Glue service.