Skip to content
GitHubXDiscord

DataAccessor

The DataAccessor resource allows you to create and manage AWS QBusiness DataAccessors, which are used to define how your application interacts with data. For more information, visit the AWS QBusiness DataAccessors documentation.

This example demonstrates how to create a basic DataAccessor with required properties and a couple of optional tags.

import AWS from "alchemy/aws/control";
const basicDataAccessor = await AWS.QBusiness.DataAccessor("basicDataAccessor", {
DisplayName: "Basic Data Accessor",
ActionConfigurations: [
{
Action: "Read",
Resource: "arn:aws:qbusiness:us-west-2:123456789012:resource-id"
}
],
ApplicationId: "myAppId",
Principal: "user@mydomain.com",
Tags: [
{ Key: "Environment", Value: "Development" },
{ Key: "Project", Value: "DataIntegration" }
]
});

In this example, we configure a DataAccessor with multiple action configurations and a custom principal.

const advancedDataAccessor = await AWS.QBusiness.DataAccessor("advancedDataAccessor", {
DisplayName: "Advanced Data Accessor",
ActionConfigurations: [
{
Action: "Read",
Resource: "arn:aws:qbusiness:us-west-2:123456789012:resource-id-read"
},
{
Action: "Write",
Resource: "arn:aws:qbusiness:us-west-2:123456789012:resource-id-write"
}
],
ApplicationId: "myAppId",
Principal: "admin@mydomain.com",
Tags: [
{ Key: "Environment", Value: "Production" }
]
});

This example shows how to create a DataAccessor while adopting an existing resource if it already exists.

const adoptDataAccessor = await AWS.QBusiness.DataAccessor("adoptDataAccessor", {
DisplayName: "Adopt Existing Data Accessor",
ActionConfigurations: [
{
Action: "Read",
Resource: "arn:aws:qbusiness:us-west-2:123456789012:resource-id-adopt"
}
],
ApplicationId: "myAppId",
Principal: "user@mydomain.com",
adopt: true
});

In this example, we create a DataAccessor with additional tags for better resource management.

const taggedDataAccessor = await AWS.QBusiness.DataAccessor("taggedDataAccessor", {
DisplayName: "Tagged Data Accessor",
ActionConfigurations: [
{
Action: "Read",
Resource: "arn:aws:qbusiness:us-west-2:123456789012:resource-id-tagged"
}
],
ApplicationId: "myAppId",
Principal: "user@mydomain.com",
Tags: [
{ Key: "Owner", Value: "TeamA" },
{ Key: "Service", Value: "DataService" },
{ Key: "CostCenter", Value: "12345" }
]
});