Skip to content

Transformer

The Transformer resource allows you to create, update, and manage AWS B2BI Transformers for processing and transforming business documents. For more details, refer to the AWS B2BI Transformers documentation.

Minimal Example

Create a basic B2BI Transformer with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const basicTransformer = await AWS.B2BI.Transformer("myBasicTransformer", {
  Name: "BasicTransformer",
  Status: "ACTIVE",
  Mapping: {
    // Example mapping configuration
    Source: "source-schema",
    Target: "target-schema"
  }
});

Advanced Configuration

Configure a transformer with additional options including input and output conversions.

ts
const advancedTransformer = await AWS.B2BI.Transformer("myAdvancedTransformer", {
  Name: "AdvancedTransformer",
  Status: "ACTIVE",
  Mapping: {
    Source: "source-schema",
    Target: "target-schema"
  },
  InputConversion: {
    // Example input conversion settings
    Type: "JSON",
    Schema: "input-schema"
  },
  OutputConversion: {
    // Example output conversion settings
    Type: "XML",
    Schema: "output-schema"
  },
  SampleDocuments: {
    // Example sample documents
    DocumentList: [
      { DocumentName: "SampleDoc1", Content: "<xml>sample content</xml>" },
      { DocumentName: "SampleDoc2", Content: "<xml>another sample</xml>" }
    ]
  },
  Tags: [
    { Key: "Environment", Value: "Production" }
  ]
});

Using Existing Resources

Create a transformer that adopts an existing resource instead of failing.

ts
const existingTransformer = await AWS.B2BI.Transformer("myExistingTransformer", {
  Name: "ExistingTransformer",
  Status: "ACTIVE",
  Mapping: {
    Source: "existing-source-schema",
    Target: "existing-target-schema"
  },
  adopt: true // Adopt existing resource if it already exists
});

Complete Configuration Example

Define a transformer with all properties for a comprehensive setup.

ts
const completeTransformer = await AWS.B2BI.Transformer("myCompleteTransformer", {
  Name: "CompleteTransformer",
  Status: "ACTIVE",
  Mapping: {
    Source: "complete-source-schema",
    Target: "complete-target-schema"
  },
  InputConversion: {
    Type: "CSV",
    Schema: "complete-input-schema"
  },
  OutputConversion: {
    Type: "JSON",
    Schema: "complete-output-schema"
  },
  SampleDocuments: {
    DocumentList: [
      { DocumentName: "CompleteSample1", Content: "sample,content" },
      { DocumentName: "CompleteSample2", Content: "another,sample" }
    ]
  },
  Tags: [
    { Key: "Department", Value: "Finance" },
    { Key: "Project", Value: "B2BIntegration" }
  ]
});