ASK
Learn how to create, update, and manage AWS Alexa ASKs using Alchemy Cloud Control.
The ASK (Alexa Skill Kit) resource lets you create and manage AWS Alexa ASKs for developing voice-driven capabilities.
Minimal Example
Section titled “Minimal Example”Create a basic Alexa skill with required properties and adopt existing resources if necessary.
import AWS from "alchemy/aws/control";
const alexaSkill = await AWS.Alexa.ASK("basic-alexa-skill", { AuthenticationConfiguration: { // Authentication settings for the skill ClientId: "your-client-id", ClientSecret: "your-client-secret", RefreshToken: "your-refresh-token" }, VendorId: "your-vendor-id", SkillPackage: { // Skill package settings for the skill S3Bucket: "your-s3-bucket", S3Key: "path/to/your/skill-package.zip" }, adopt: true // Adopt existing resource instead of failing});
Advanced Configuration
Section titled “Advanced Configuration”Configure an Alexa skill with more complex settings, such as additional authentication configurations.
const advancedAlexaSkill = await AWS.Alexa.ASK("advanced-alexa-skill", { AuthenticationConfiguration: { ClientId: "your-client-id", ClientSecret: "your-client-secret", RefreshToken: "your-refresh-token", Permissions: [ { Name: "alexa::ask:manage:skills" } ] }, VendorId: "your-vendor-id", SkillPackage: { S3Bucket: "your-s3-bucket", S3Key: "path/to/your/skill-package.zip", SkillManifest: { // Additional manifest settings SkillId: "your-skill-id", Name: "Advanced Skill", Description: "An advanced Alexa skill using Alchemy.", ExamplePhrases: ["Open advanced skill", "Start advanced skill"] } }});
Skill Update Example
Section titled “Skill Update Example”Update an existing Alexa skill’s package by referencing the Vendor ID and Skill ID.
const updateAlexaSkill = await AWS.Alexa.ASK("update-alexa-skill", { AuthenticationConfiguration: { ClientId: "your-client-id", ClientSecret: "your-client-secret", RefreshToken: "your-refresh-token" }, VendorId: "your-vendor-id", SkillPackage: { S3Bucket: "your-s3-bucket", S3Key: "path/to/your/updated-skill-package.zip" }});
Deployment and Testing
Section titled “Deployment and Testing”Deploy an Alexa skill and prepare it for testing with required configurations.
const testAlexaSkill = await AWS.Alexa.ASK("test-alexa-skill", { AuthenticationConfiguration: { ClientId: "your-client-id", ClientSecret: "your-client-secret", RefreshToken: "your-refresh-token" }, VendorId: "your-vendor-id", SkillPackage: { S3Bucket: "your-s3-bucket", S3Key: "path/to/your/test-skill-package.zip" }, adopt: true // Adopt existing resource to facilitate testing});