Named Query
Provides an Athena Named Query resource.
Example Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.athena.Workgroup;
import com.pulumi.aws.athena.WorkgroupArgs;
import com.pulumi.aws.athena.inputs.WorkgroupConfigurationArgs;
import com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationArgs;
import com.pulumi.aws.athena.inputs.WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs;
import com.pulumi.aws.athena.Database;
import com.pulumi.aws.athena.DatabaseArgs;
import com.pulumi.aws.athena.NamedQuery;
import com.pulumi.aws.athena.NamedQueryArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var hogeBucketV2 = new BucketV2("hogeBucketV2");
var testKey = new Key("testKey", KeyArgs.builder()
.deletionWindowInDays(7)
.description("Athena KMS Key")
.build());
var testWorkgroup = new Workgroup("testWorkgroup", WorkgroupArgs.builder()
.configuration(WorkgroupConfigurationArgs.builder()
.resultConfiguration(WorkgroupConfigurationResultConfigurationArgs.builder()
.encryptionConfiguration(WorkgroupConfigurationResultConfigurationEncryptionConfigurationArgs.builder()
.encryptionOption("SSE_KMS")
.kmsKeyArn(testKey.arn())
.build())
.build())
.build())
.build());
var hogeDatabase = new Database("hogeDatabase", DatabaseArgs.builder()
.name("users")
.bucket(hogeBucketV2.id())
.build());
var foo = new NamedQuery("foo", NamedQueryArgs.builder()
.workgroup(testWorkgroup.id())
.database(hogeDatabase.name())
.query(hogeDatabase.name().applyValue(name -> String.format("SELECT * FROM %s limit 10;", name)))
.build());
}
}
Content copied to clipboard
Import
Athena Named Query can be imported using the query ID, e.g.,
$ pulumi import aws:athena/namedQuery:NamedQuery example 0123456789
Content copied to clipboard