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.
Minimal Example ​
This example demonstrates how to create a basic DataAccessor with required properties and a couple of optional tags.
ts
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" }
]
});
Advanced Configuration ​
In this example, we configure a DataAccessor with multiple action configurations and a custom principal.
ts
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" }
]
});
Using Adopt Option ​
This example shows how to create a DataAccessor while adopting an existing resource if it already exists.
ts
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
});
Custom Tags and Metadata ​
In this example, we create a DataAccessor with additional tags for better resource management.
ts
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" }
]
});