Skip to content

Retriever

The Retriever resource lets you manage AWS QBusiness Retrievers which enable you to retrieve data from various sources and integrate it into your applications.

Minimal Example

Create a basic QBusiness Retriever with required properties and one optional role ARN.

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

const basicRetriever = await AWS.QBusiness.Retriever("basicRetriever", {
  Type: "DataSource",
  Configuration: {
    // Configuration details go here
  },
  DisplayName: "Basic Data Retriever",
  ApplicationId: "myAppId",
  RoleArn: "arn:aws:iam::123456789012:role/MyRetrieverRole"
});

Advanced Configuration

Configure a QBusiness Retriever with detailed configuration settings.

ts
const advancedRetriever = await AWS.QBusiness.Retriever("advancedRetriever", {
  Type: "DataSource",
  Configuration: {
    Source: "S3",
    BucketName: "my-data-bucket",
    Format: "json",
    Schema: {
      fields: [
        { name: "id", type: "string" },
        { name: "value", type: "number" }
      ]
    }
  },
  DisplayName: "Advanced Data Retriever",
  ApplicationId: "myAppId",
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Team", Value: "DataScience" }
  ]
});

Adoption of Existing Resources

Create a QBusiness Retriever and adopt an existing resource if it already exists.

ts
const adoptedRetriever = await AWS.QBusiness.Retriever("adoptedRetriever", {
  Type: "DataSource",
  Configuration: {
    Source: "API",
    Endpoint: "https://api.example.com/data",
    Auth: {
      Type: "Bearer",
      Token: alchemy.secret(process.env.API_TOKEN!)
    }
  },
  DisplayName: "Adopted Data Retriever",
  ApplicationId: "myAppId",
  adopt: true
});

Using Tags for Resource Organization

Create a QBusiness Retriever with multiple tags for better organization and tracking.

ts
const taggedRetriever = await AWS.QBusiness.Retriever("taggedRetriever", {
  Type: "DataSource",
  Configuration: {
    Source: "Database",
    DatabaseId: "myDatabase",
    Query: "SELECT * FROM my_table"
  },
  DisplayName: "Tagged Data Retriever",
  ApplicationId: "myAppId",
  Tags: [
    { Key: "Project", Value: "QBusiness" },
    { Key: "Owner", Value: "DataTeam" }
  ]
});