├── .gitignore ├── README.md ├── ask-cli-lwa-part1.png ├── ask-cli-lwa-part2.png ├── ask-cli-setup-install.md ├── ask-cli-setup-intro.md ├── ask-cli-setup-profile.md ├── aws-cli-setup-install-linux.md ├── aws-cli-setup-install-mac.md ├── aws-cli-setup-install-windows.md ├── aws-cli-setup-install.md ├── aws-cli-setup-intro.md ├── aws-cli-setup-profile.md ├── aws-console-iam-searchbox.png ├── clone-sample-skill.md ├── deploy-sample-skill.md ├── dev-portal-ask-console.png ├── dev-portal-intro.md ├── dev-portal-new-account-step1.png ├── iam-new-user-step1.png ├── iam-new-user-step2.png ├── iam-new-user-step3.png ├── iam-new-user-step4.png ├── iam-new-user-step5.png ├── iam-new-user-step6.png ├── iam_icon.png ├── lab1-devportal-skills-list.png ├── lab1-devportal-stw.png ├── lab1-devportal-test-switch.png ├── lab1-devportal-test-tab.png ├── lab1-qc-structure.png ├── lab1-qc-structure.psd ├── new-aws-account-landing.png ├── new-aws-account-success.png ├── new-aws-account.md └── new-dev-portal-account.md /.gitignore: -------------------------------------------------------------------------------- 1 | bak 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## Alexa Skill Building - Prerequisites 7 | 8 | Alexa provides capabilities, or **skills**, that enable customers to create a more personalized experience. There are now tens of thousands of skills from companies like Starbucks, Uber, and Capital One as well as other innovative designers and developers. 9 | 10 | Building a skill is easy, using the Alexa Skills Kit (ASK) - a collection of self-service APIs, tools, documentation, and code samples that makes it fast and easy for you to add skills to Alexa. ASK enables designers, developers, and brands to build engaging skills and reach customers through the tens of millions of Alexa-enabled devices. 11 | 12 | This guide will walk you through the process of setting up all the necessary resources to develop and publish Alexa Skills. These include: 13 | 14 | * an Amazon Web Services (AWS) account 15 | * the AWS CLI tool 16 | * an Amazon Developer Portal account 17 | * the ASK CLI tool 18 | 19 | 20 | 21 | #### Do you have an AWS Account? 22 | 23 | If you already have AWS account that you would like to use, go straight to the AWS CLI setup, otherwise follow the guide and create a new account now. 24 | 25 | 26 | ## [Create a new AWS Account](new-aws-account.md) | skip to [AWS CLI Setup](aws-cli-setup-intro.md) 27 | -------------------------------------------------------------------------------- /ask-cli-lwa-part1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/ask-cli-lwa-part1.png -------------------------------------------------------------------------------- /ask-cli-lwa-part2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/ask-cli-lwa-part2.png -------------------------------------------------------------------------------- /ask-cli-setup-install.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | **[ASK CLI](ask-cli-setup-intro.md)** | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## ASK CLI Setup - Installation 7 | 8 | 9 | 10 | The ASK CLI requires an Amazon Developer Portal account. Make sure to [create an account](new-dev-portal-account.md) first. 11 | 12 | Node.js 4.5 or greater and Node Package Manager (npm), which installs with Node.js. To check the version of node.js, open a command prompt and type the following: 13 | 14 | ``` 15 | $ node --version 16 | ``` 17 | 18 | To install or update your version of Node.js, refer to the [Node.js downloads page](https://nodejs.org/en/download/). 19 | 20 | 21 | 22 | #### To install ASK CLI 23 | 24 | Use `npm` to install ASK CLI. If you already have ASK CLI installed and want to update to the latest version, the same command can be used. 25 | 26 | ``` 27 | $ npm install -g ask-cli 28 | ``` 29 | 30 | If you are using Linux, the installation may require `sudo`: 31 | 32 | ``` 33 | $ sudo npm install -g ask-cli 34 | ``` 35 | 36 | 37 | 38 | ## Next Step: [Setup an ASK CLI Profile](ask-cli-setup-profile.md) 39 | -------------------------------------------------------------------------------- /ask-cli-setup-intro.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | **[ASK CLI](ask-cli-setup-intro.md)** | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | 7 | ## ASK Command Line Interface (CLI) 8 | 9 | The Alexa Skills Kit Command Line Interface (ASK CLI) is a tool that lets developers manage their Alexa skills and related resources such as interaction models and account linking details from the command line. It performs skill management actions by calling the Alexa Skill Management API (SMAPI) under the hood. ASK CLI can be used to create, read, update, and test Alexa skills and connected AWS Lambda functions, as well as to submit skills for certification or withdraw them. 10 | 11 | 12 | 13 | The ASK CLI requires an Amazon Developer Portal account. Make sure to [create an account](new-dev-portal-account.md) first. 14 | 15 | 16 | 17 | #### Do you have the ASK CLI Installed? 18 | 19 | To check whether you have the ASK CLI installed, open a terminal (command prompt on Windows) and type the following command: 20 | 21 | ```bash 22 | ask --version 23 | ``` 24 | 25 | If the CLI is installed correctly then you should see an output like this: 26 | 27 | ```bash 28 | ask --version 29 | 1.1.2 30 | ``` 31 | 32 | In this case, you can continue to the next step which is to [Setup an ASK CLI Profile](ask-cli-setup-profile.md). 33 | 34 | 35 | 36 | If the CLI is not installed, then you will get an error back stating that `ask` is not a recognized command. In that case you should continue to follow the guide to [Install the ASK CLI](ask-cli-setup-install.md) 37 | 38 | 39 | 40 | ## Next steps: [Install the ASK CLI](ask-cli-setup-install.md) | [Setup an ASK CLI Profile](ask-cli-setup-profile.md) 41 | -------------------------------------------------------------------------------- /ask-cli-setup-profile.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | **[ASK CLI Profile](ask-cli-setup-profile.md)** | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | # ASK CLI Setup - Profile 7 | 8 | If you are here it means that you have: 9 | 10 | ✓ **An AWS Account** (if not, follow the [guide to Create a new AWS Account](new-aws-account.md)) 11 | 12 | ✓ **The AWS CLI Installed** (if not, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 13 | 14 | ✓ **An Amazon Developer Account** (if not, follow the [guide to Create a new Amazon Developer Account](new-dev-portal-account.md)) 15 | 16 | ✓ **The ASK CLI Installed** (if not, follow the [guide to install ASK CLI](ask-cli-setup-install.md)) 17 | 18 | 19 | 20 | In this step, we will initialize a new ASK Profile and configure to be mapped to your Amazon Developer Account and the AWS CLI Profile created earlier. 21 | 22 | 23 | 24 | The first time you use ASK CLI, you must call the `init` command to initialize the tool with your Amazon developer account credentials. For more information, see [init command](https://developer.amazon.com/docs/smapi/ask-cli-command-reference.html#init-command). 25 | 26 | You will be prompted to name your profile, choose an AWS profile to use, and to log in to your Amazon developer account. Once the initialization is complete, you can use ASK CLI to manage your skill. 27 | 28 | 29 | 30 | **Note** that by default, the ASK CLI will attempt to configure a name-less `default` profile for you. In this guide we will be configuring a *named* profile. 31 | 32 | 33 | 34 | On the Terminal, execute the following command: 35 | 36 | ``` 37 | $ ask init 38 | ``` 39 | 40 | 41 | 42 | #### 1 - Select an AWS Profile 43 | 44 | ``` 45 | -------------------- Initialize CLI -------------------- 46 | Setting up ask profile: [color-changer] 47 | ? Please choose one from the following AWS profiles for skill's Lambda function 48 | deployment. 49 | (Use arrow keys) 50 | ❯ ask-user 51 | ────────────── 52 | skip AWS credential for ask-cli 53 | ────────────── 54 | ``` 55 | 56 | 57 | 58 | #### 2 - Log In With Amazon 59 | 60 | ![](ask-cli-lwa-part1.png) 61 | 62 | #### 3 - Authorize Alexa Skills Kit CLI to access your account 63 | 64 | ![](ask-cli-lwa-part2.png) 65 | 66 | #### 4 - Confirmation 67 | 68 | ``` 69 | ? Please create a new profile or overwrite the existing profile. 70 | Create new profile 71 | -------------------- Initialize CLI -------------------- 72 | Setting up ask profile: [default] 73 | ? Please choose one from the following AWS profiles for skill's Lambda function 74 | deployment. 75 | ask-user 76 | Switch to 'Login with Amazon' page... 77 | Tokens fetched and recorded in ask-cli config. 78 | Vendor ID set as M2CGMEXAMPLER0 79 | 80 | Profile [default] initialized successfully. 81 | ``` 82 | 83 | 84 | 85 | ### 🏆 **Congratulations** - You Have Completed the AWS CLI Setup! 🏆 86 | 87 | 88 | 89 | ## Next: [Deploy a Sample Skill](deploy-sample-skill.md) 90 | 91 | -------------------------------------------------------------------------------- /aws-cli-setup-install-linux.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | **[AWS CLI](aws-cli-setup-intro.md)** | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## AWS CLI Setup - Installation - Linux 7 | 8 | 9 | 10 | You can install the AWS CLI on Linux using `pip`, a package manager for Python. 11 | 12 | **Important** 13 | 14 | The `awscli` package is available in repositories for other package managers such as APT and yum, but it is not guaranteed to be the latest version unless you get it from `pip` 15 | 16 | 17 | 18 | **Note**: If you already have the CLI installed, continue to [Setup an AWS CLI Profile](aws-cli-setup-profile.md), or, if you don't have an AWS account, follow the [guide to create an AWS account](new-aws-account.md) first. 19 | 20 | 21 | 22 | #### Prerequisites 23 | 24 | In order to install the AWS CLI on your Mac you should make sure to have: 25 | 26 | * Python (v2.6+ or v3+) 27 | * pip 28 | 29 | Check whether you have Python by running this command on the Terminal: 30 | 31 | ```bash 32 | $ python --version 33 | ``` 34 | 35 | **Note** on some systems, Python may be installed as **python3** so if you don't get any results using the command above, you should also try running the command using `python3` instead of `python` 36 | 37 | 38 | 39 | Check whether you have `pip` installed by running the following command on the Terminal: 40 | 41 | ```bash 42 | $ pip --version 43 | ``` 44 | 45 | **Note** on some systems, pip may be installed as **pip3** so if you don't get any results using the command above, you should also try running the command using `pip3` instead of `pip` 46 | 47 | 48 | 49 | 1. If Python 2.7 or later is not installed, install Python with your distribution's package manager. The command and package name varies: 50 | 51 | - On Debian derivatives such as Ubuntu, use `APT`: 52 | 53 | ```bash 54 | $ sudo apt-get install python3 55 | ``` 56 | 57 | - On Red Hat and derivatives, use `yum`: 58 | 59 | ```bash 60 | $ sudo yum install python 61 | ``` 62 | 63 | - On SUSE and derivatives, use `zypper`: 64 | 65 | ```bash 66 | $ sudo zypper install python3 67 | ``` 68 | 69 | 2. If you don't have `pip`, install `pip` with the script provided by the Python Packaging Authority. 70 | 71 | - Download the installation script from [pypa.io](https://www.pypa.io/): 72 | 73 | ```bash 74 | $ curl -O https://bootstrap.pypa.io/get-pip.py 75 | ``` 76 | 77 | 78 | 79 | - Run the script with Python: 80 | 81 | ```bash 82 | $ python get-pip.py --user 83 | ``` 84 | 85 | - Make sure to add `pip` to your environment's `PATH` variable 86 | 87 | 88 | 89 | 90 | 91 | #### Install the AWS CLI on macOS using pip 92 | 93 | Use `pip` to install the AWS CLI: 94 | 95 | ```bash 96 | $ pip install awscli --upgrade --user 97 | ``` 98 | 99 | 100 | 101 | Verify that the AWS CLI is installed correctly: 102 | 103 | ```bash 104 | $ aws --version 105 | aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0-59-generic botocore/1.5.47 106 | ``` 107 | 108 | 109 | 110 | 111 | 112 | **Troubleshooting** 113 | 114 | If after installing the `aws` command doesn't work, you may need to update your OS's `PATH` environment variable. Follow the instructions [here](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-linux.html#awscli-install-linux-path). 115 | 116 | You may also need to ensure that the `aws` script has a file mode that is executable. Follow instructions [here](https://docs.aws.amazon.com/cli/latest/userguide/troubleshooting.html). 117 | 118 | 119 | 120 | ## Next step: [Setup an AWS CLI Profile](aws-cli-setup-profile.md) 121 | 122 | -------------------------------------------------------------------------------- /aws-cli-setup-install-mac.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | **[AWS CLI](aws-cli-setup-intro.md)** | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | 7 | ## AWS CLI Setup - Installation - macOS 8 | 9 | You can install the AWS CLI on macOS using `pip`, a package manager for Python. 10 | 11 | **Note**: If you already have the CLI installed, continue to [Setup an AWS CLI Profile](aws-cli-setup-profile.md), or, if you don't have an AWS account, follow the [guide to create an AWS account](new-aws-account.md) first. 12 | 13 | 14 | 15 | #### Prerequisites 16 | 17 | In order to install the AWS CLI on your Mac you should make sure to have: 18 | 19 | * Python (v2.6+ or v3+) 20 | * pip 21 | 22 | Check whether you have Python by running this command on the Terminal: 23 | 24 | ```bash 25 | $ python --version 26 | ``` 27 | 28 | **Note** on some systems, Python may be installed as **python3** so if you don't get any results using the command above, you should also try running the command using `python3` instead of `python` 29 | 30 | 31 | 32 | Check whether you have `pip` installed by running the following command on the Terminal: 33 | 34 | ```bash 35 | $ pip --version 36 | ``` 37 | 38 | **Note** on some systems, pip may be installed as **pip3** so if you don't get any results using the command above, you should also try running the command using `pip3` instead of `pip` 39 | 40 | 41 | 42 | If you don't already have Python and pip installed, the easiest way to get both is to use `Homebrew` - a package manager for Mac. 43 | 44 | To install Homebrew, open `Terminal` or your favorite OSX terminal emulator and run 45 | 46 | ```bash 47 | $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 48 | ``` 49 | 50 | The script will explain what changes it will make and prompt you before the installation begins. Once you’ve installed Homebrew, insert the Homebrew directory at the top of your `PATH` environment variable. You can do this by adding the following line at the bottom of your `~/.profile` file 51 | 52 | ```bash 53 | export PATH=/usr/local/bin:/usr/local/sbin:$PATH 54 | ``` 55 | 56 | Now, we can install Python 3: 57 | 58 | ```bash 59 | $ brew install python 60 | ``` 61 | 62 | This will take a minute or two. 63 | 64 | **Note** Homebrew installs `pip` pointing to the Homebrew’d Python 3 for you. 65 | 66 | 67 | 68 | #### Install the AWS CLI on macOS using pip 69 | 70 | Use `pip` to install the AWS CLI: 71 | 72 | ```bash 73 | $ pip install awscli --upgrade --user 74 | ``` 75 | 76 | 77 | 78 | Verify that the AWS CLI is installed correctly: 79 | 80 | ```bash 81 | $ aws --version 82 | AWS CLI 1.11.84 (Python 3.6.1) 83 | ``` 84 | 85 | 86 | 87 | 88 | 89 | **Troubleshooting** 90 | 91 | If after installing the `aws` command doesn't work, you may need to update your OS's `PATH` environment variable. Follow the instructions [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-install-macos.html#awscli-install-osx-path). 92 | 93 | 94 | 95 | ## Next step: [Setup an AWS CLI Profile](aws-cli-setup-profile.md) 96 | 97 | -------------------------------------------------------------------------------- /aws-cli-setup-install-windows.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | **[AWS CLI](aws-cli-setup-intro.md)** | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## AWS CLI Setup - Installation - Windows 7 | 8 | You can install the AWS CLI on Windows with a standalone installer or `pip`, a package manager for Python. If you already have Python and `pip`, follow the instructions for installing using pip as that makes upgrading to newer versions easier, otherwise the MSI Installer provides a streamlined experience. 9 | 10 | **Note**: If you already have the CLI installed, continue to [Setup an AWS CLI Profile](aws-cli-setup-profile.md), or, if you don't have an AWS account, follow the [guide to create an AWS account](new-aws-account.md) first. 11 | 12 | 13 | 14 | #### MSI Installer 15 | 16 | The AWS CLI is supported on Microsoft Windows XP or later. For Windows users, the MSI installation package offers a familiar and convenient way to install the AWS CLI without installing any other prerequisites. 17 | 18 | When updates are released, you must repeat the installation process to get the latest version of the AWS CLI. 19 | 20 | **To install the AWS CLI using the MSI installer** 21 | 22 | 1. [Download the AWS CLI MSI installer for Windows](https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe) 23 | 24 | **Note** *The MSI installer for the AWS CLI does not work with Windows Server 2008 (version 6.0.6002). Use [pip](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html#awscli-install-windows-pip) to install with this version of Windows.* 25 | 26 | 2. Run the downloaded MSI installer. 27 | 28 | 3. Follow the instructions that appear. 29 | 30 | The CLI installs to `C:\Program Files\Amazon\AWSCLI` (64-bit) or `C:\Program Files (x86)\Amazon\AWSCLI` (32-bit) by default. To confirm the installation, use the `aws --version` command at a command prompt (open the START menu and search for "cmd" if you're not sure where the command prompt is installed). 31 | 32 | 33 | 34 | **Troubleshooting** 35 | 36 | If after installing the `aws` command doesn't work, you may need to update your OS's `PATH` environment variable. Follow the instructions [here](https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-windows.html#awscli-install-windows-path). 37 | 38 | 39 | 40 | ## Next step: [Setup an AWS CLI Profile](aws-cli-setup-profile.md) 41 | 42 | -------------------------------------------------------------------------------- /aws-cli-setup-install.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | **[AWS CLI](aws-cli-setup-intro.md)** | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## AWS CLI Setup - Installation 7 | 8 | The primary distribution method for the AWS CLI on Linux, Windows, and macOS is `pip`, a package manager for Python that provides an easy way to install, upgrade, and remove Python packages and their dependencies. 9 | 10 | 11 | 12 | Please select one of the following: 13 | 14 | [Windows Installation](aws-cli-setup-install-windows.md) | [MacOS Installation](aws-cli-setup-install-mac.md) | [Linux Installation](aws-cli-setup-install-linux.md) 15 | 16 | 17 | 18 | **Note**: If you already have the CLI installed, continue to 19 | ## [Setup an AWS CLI Profile](aws-cli-setup-profile.md), or, if you don't have an AWS account, follow the [guide to create an AWS account](new-aws-account.md) first. 20 | -------------------------------------------------------------------------------- /aws-cli-setup-intro.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | **[AWS CLI](aws-cli-setup-intro.md)** | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## AWS Command Line Interface (CLI) 7 | 8 | The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts. 9 | 10 | When developing Alexa Skills, AWS Lambda is a great runtime choice for hosting and executing your skill code. The AWS CLI provides easy access to create and update Lambda functions. 11 | 12 | If you don't already have an AWS account, make sure to [create an account](new-aws-account.md) first. 13 | 14 | 15 | 16 | #### Do you have the AWS CLI Installed? 17 | 18 | To check whether you have the AWS CLI installed, open a terminal (command prompt on Windows) and type the following command: 19 | 20 | ```bash 21 | aws --version 22 | ``` 23 | 24 | If the CLI is installed correctly then you should see an output like this: 25 | 26 | ``` 27 | aws-cli/1.11.84 Python/3.6.2 Linux/4.4.0-59-generic botocore/1.5.47 28 | ``` 29 | 30 | In this case, you can continue to the next step which is to [Setup an AWS CLI Profile](aws-cli-setup-profile.md). 31 | 32 | 33 | 34 | If the CLI is not installed, then you will get an error back stating that `aws` is not a recognized command. In that case you should continue to follow the guide to [Install the AWS CLI](aws-cli-setup-install.md) 35 | 36 | 37 | 38 | Next steps: 39 | 40 | ## [Setup an AWS CLI Profile](aws-cli-setup-profile.md) | [Install the AWS CLI](aws-cli-setup-install.md). 41 | -------------------------------------------------------------------------------- /aws-cli-setup-profile.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | **[AWS CLI Profile](aws-cli-setup-profile.md)** | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | # AWS CLI Setup - Profiles 6 | 7 | If you are here it means that you have: 8 | 9 | ✓ **An AWS Account** (if you don't, follow the [guide to Create a new AWS Account](new-aws-account.md)) 10 | 11 | ✓ **The AWS CLI Installed** (if you don't, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 12 | 13 | 14 | 15 | In this step, we will create a **new AWS Identity and Access Management (IAM) User** in your AWS account and a **new AWS CLI Profile** mapped to this IAM user. 16 | 17 | ![](iam_icon.png) 18 | 19 | IAM enables you to manage access to AWS services and resources securely. Using IAM, you can create and manage AWS users and groups, and use permissions to allow and deny their access to AWS resources. 20 | 21 | IAM users enable programmatic access to your AWS Account so that tools such as the AWS CLI can access your account on your behalf, without requiring a username and password. Programmatic access to your account is controlled through an Access Key and an Access Secret Key. 22 | 23 | 24 | 25 | ### Create a New IAM User 26 | 27 | ##### 1 - Log on to your AWS Account 28 | 29 | Using your browser, navigate to: http://aws.amazon.com and log in to your account. 30 | 31 | **Note** If you have already created IAM users in the past, make sure to log into your account with an IAM user that has sufficient privileges to create IAM users. Otherwise, if you are following along or have just created your AWS Account, use the email address and root account password associated with your AWS account, which has Administrator privileges to the account. 32 | 33 | 34 | 35 | ##### 2 - In your AWS Account, navigate to the IAM Console 36 | 37 | After you log on to the account, on the front page, type `IAM` in the AWS services search box and select `IAM` from the drop-down that appears. 38 | 39 | ![](aws-console-iam-searchbox.png) 40 | 41 | 42 | 43 | ##### 3 - Open the Users Panel and `Add user` to create a new IAM User 44 | 45 | From the menu on the left-hand side, click `Users` and then, from the Users list view, click the `Add user` button at the top of the page to start the step-by-step wizard for creating a new IAM user. 46 | 47 | ![](iam-new-user-step2.png) 48 | 49 | 50 | 51 | ##### 4 - Name the User and Give it Programmatic Access 52 | 53 | The first step for creating a new user is to give the user a name and to decide what type of access the user will have. In our case, the user will need to have **programmatic access** so make sure to select that check box. This user will not need AWS Management Console access so leave that check box unselected. 54 | 55 | ![](iam-new-user-step3.png) 56 | 57 | 58 | 59 | ##### 5 - Configure Security Policy for the New User 60 | 61 | The next step in the processs is to determine the permissions associated with the IAM user. This controls what features of your AWS account the IAM user has access to. Select **Attach existing policies directly** and give the user **Administrator Access** 62 | 63 | ![](iam-new-user-step4.png) 64 | 65 | 66 | 67 | ##### 6 - Review User Configuration and Create 68 | 69 | The next step is just an overview of the new user you are about to create. Confirm that the user has **programmatic access** and that the correct Permissions were associated. 70 | 71 | ![](iam-new-user-step5.png) 72 | 73 | 74 | 75 | ##### 7 - Record the new User Access Key ID and Secret Access Key 76 | 77 | **IMPORTANT** This is the only opportunity you have to view the secret access key associated with the newly created IAM user. Make note of both the Access Key ID and the Secret Access Key shown on this page. 78 | 79 | For now, do not close this browser page until you have configured an AWS CLI profile using the access keys shown here. Instead, continue with **Step 8** below. 80 | 81 | 82 | 83 | ![](iam-new-user-step6.png) 84 | 85 | ### Configure a New AWS CLI Profile 86 | 87 | Now that you have created an IAM user, we will move over to the AWS CLI and create a new profile mapped to the new IAM user you've just created. 88 | 89 | The AWS CLI supports *named profiles* stored in the config and credentials files. You can configure additional profiles by using `aws configure` with the `--profile`option or by adding entries to the config and credentials files. The CLI stores credentials in a local file named `credentials` in a folder named `.aws` in your home directory. Home directory location varies but can be referred to using the environment variables `%UserProfile%` in Windows and `$HOME` or `~` (tilde) in Unix-like systems. 90 | 91 | For example, the following commands list the contents of the `.aws` folder: 92 | 93 | **Linux, macOS, or Unix** 94 | 95 | ``` 96 | $ ls ~/.aws 97 | ``` 98 | 99 | **Windows** 100 | 101 | ``` 102 | > dir "%UserProfile%\.aws" 103 | ``` 104 | 105 | In order to separate credentials from less sensitive options, region and output format are stored in a separate file named `config` in the same folder. 106 | 107 | If you have never configured the AWS CLI before, you may not have the `.aws` folder, or either of the `config` or `credentials` files. In that case you can go ahead and create the files now, otherwise, just open the existing files for editing 108 | 109 | The contents of the `~/.aws/config` file should look like this (if the file does not exist, go ahead and create it now): 110 | 111 | ``` 112 | [default] 113 | region=eu-west-1 114 | output=json 115 | ``` 116 | 117 | While the contents of the `~/.aws/credentials` file should look like this: 118 | 119 | ``` 120 | [profile1] 121 | aws_access_key_id=AKIAIOSFDAS5N56EXAMPLE 122 | aws_secret_access_key=wJanFEMIlrXUtMDENGbPxRfiCYEXAMPLEKEY 123 | 124 | [profile2] 125 | aws_access_key_id=AKIAIOSFODNN7EXAMPLE 126 | aws_secret_access_key=wJalrXUtnFEMIK7MDENGbPxRfiCYEXAMPLEKEY 127 | ``` 128 | 129 | 130 | 131 | ##### 1 - Create a New Profile 132 | 133 | In this step we will create a new AWS configuration profile named `ask-user` 134 | 135 | Open the `~/.aws/credentials` file and add the following section at the end of the file: 136 | 137 | ``` 138 | [ask-user] 139 | region=eu-west-1 140 | aws_access_key_id=AKIAIGRETCINNOOSXQNA 141 | aws_secret_access_key=examplewJalrXUtnFEMIK7MDENGbPxRfiCYKEY 142 | ``` 143 | 144 | Make sure to paste the Access Key and the Secret Key that were generated for the new IAM User that you have just created in the steps above! 145 | 146 | The `region` parameter should match the AWS region that you whish to use. 147 | 148 | Close and save the file 149 | 150 | 151 | 152 | ##### 2 - Verify that the new profile works 153 | 154 | After creating the new profile you can verify that it was setup correctly by issuing a couple of aws commands on the terminal, including the `--profile` option, like this: 155 | 156 | ``` 157 | $ aws --profile ask-user iam list-users 158 | ``` 159 | 160 | If all worked fine, you should see output similar(*) to this: 161 | 162 | ``` 163 | { 164 | "Users": [ 165 | { 166 | "UserName": "cli-user", 167 | "Path": "/", 168 | "CreateDate": "2018-06-15T10:51:30Z", 169 | "UserId": "AIDAJZDED5LZ3DF3RSF4M", 170 | "Arn": "arn:aws:iam::12345678901:user/cli-user" 171 | } 172 | ] 173 | } 174 | ``` 175 | 176 | **Note**: depending on how many users you have in your account this list may be longer. 177 | 178 | 179 | 180 | ### 🏆 **Congratulations** - You Have Completed the AWS CLI Setup! 🏆 181 | 182 | 183 | 184 | ## Next step: [Amazon Developer Portal Setup](dev-portal-intro.md) 185 | -------------------------------------------------------------------------------- /aws-console-iam-searchbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/aws-console-iam-searchbox.png -------------------------------------------------------------------------------- /clone-sample-skill.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | **[Deploy a Skill](deploy-sample-skill.md)** 3 | 4 | 5 | 6 | 7 | # Colone the Sample Skill 8 | 9 | 10 | 11 | If you are here it means that you have: 12 | 13 | ✓ **An AWS Account** (if not, follow the [guide to Create a new AWS Account](new-aws-account.md)) 14 | 15 | ✓ **The AWS CLI Installed** (if not, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 16 | 17 | ✓ **An Amazon Developer Account** (if not, follow the [guide to Create a new Amazon Developer Account](new-dev-portal-account.md)) 18 | 19 | ✓ **The ASK CLI Installed** (if not, follow the [guide to install ASK CLI](ask-cli-setup-install.md)) 20 | 21 | ✓ **An ASK CLI Profile** (if not, follow the [guide to setup a ASK CLI Profile](ask-cli-setup-profile.md)) 22 | 23 | ✓ **Deployed a sample skill** (if not, follow the [guide to download deploy a sample skill](deploy-sample-skill.md)) 24 | 25 | 26 | 27 | 28 | 29 | ## 1 – Clone the Color Changer Sample into a New Skill 30 | 31 | In this step you will start making changes to the Color Changer skill to give it a different name. 32 | 33 | Start by renaming the skill folder. In the parent folder, where you downloaded or cloned the skill, rename 34 | skill-sample-nodejs-buttons-colorchanger to quick-colors-skill. 35 | 36 | On a Linux, or Mac OS X operating system, execute this command: 37 | 38 | ```bash 39 | mv skill-sample-nodejs-buttons-colorchanger quick-colors-skill 40 | ``` 41 | 42 | On a Windows computer, the command to rename will be 43 | 44 | ```powershell 45 | ren skill-sample-nodejs-buttons-colorchanger quick-colors-skill 46 | ``` 47 | 48 | After this, the skill folder structure should look like this: 49 | 50 | 51 | 52 | structure 53 | 54 | 55 | 56 | > For more information on ASK CLI Configuration see CLI Setup. 57 | 58 | > For more information on the Skill Manifest, see the [developer documentation.](https://developer.amazon.com/docs/smapi/skill-manifest.html) 59 | 60 | 61 | 62 | 63 | 64 | ## 2 – Update Publishing Information of the New Skill 65 | 66 | Next, update the deployment parameters to use a different Lambda function and a different skill Id. 67 | 68 | Navigate into the `hello-world` folder and open the skill manifest file (skill.json) in your favorite editor. 69 | 70 | Find the publishing information section, toward the top of the file. Change the `"name": "Hello World"` and update other properties that reference “Color Changer”, such as the summary, example phrases and the description, to say “**Quick Colors**”: 71 | 72 | ```javascript 73 | "publishingInformation": { 74 | "locales": { 75 | "en-US": { 76 | "summary": "Quick Colors", 77 | "examplePhrases": [ 78 | "Alexa, open quick colors ", 79 | "Alexa, launch quick colors" 80 | ], 81 | "keywords": [ 82 | "This is an example skill to show how to …", 83 | "The skill follows a simple flow that …" 84 | ], 85 | "name": "quick colors", 86 | "description": "A simple game Echo Buttons game." 87 | } 88 | } 89 | } 90 | ``` 91 | 92 | Close and save the manifest file. 93 | 94 | 95 | 96 | ## 3 – Update the ASK CLI Configuration for the Skill 97 | 98 | 99 | Open the [ASK CLI Configuration](https://developer.amazon.com/docs/smapi/ask-cli-intro.html) file (`.ask/config`) and change it. 100 | > **Note** 101 | > 102 | > This file may be hidden on your computer, so you may have to open it by pasting in the location, or using a terminal text editor, such as vi or nano. 103 | 104 | 105 | ``` 106 | nano .ask/config 107 | ``` 108 | 109 | Update the ASK config file: 110 | 111 | 1. Set the **skill_id** to an empty string: "" 112 | > A Skill ID is globally unique to your skill, and cannot match any existing skill. Leaving it blank will cause ASK CLI to create a new skill in your account. 113 | 114 | 2. Change the endpoint **uri** to "**hello-world-skill**" 115 | > The endpoint uri will be used by the ASK CLI as the name of the lambda function to be created for the skill. 116 | 117 | 118 | 119 | "deploy_settings": { 120 | "color-changer": { 121 | **"skill_id":** **""**, 122 | "was_cloned": false, 123 | "merge": { 124 | "manifest": { 125 | "apis": { 126 | "custom": { 127 | "endpoint": { 128 | "uri": "**hello-world-skill**" 129 | } 130 | } 131 | … 132 | 133 | Save and close the `.ask/config` file. 134 | 135 | 136 | 137 | ## 4 – Update the skill Language Interaction Model 138 | 139 | Navigate into the hello-world folder and open the skill **en-US** interaction model file (models/en-US.json) in your favorite editor. 140 | 141 | Look for the **invocationName** property of the language model and change it to whatever you want. 142 | 143 | "interactionModel": { 144 | ​ "languageModel": { 145 | ​ **"invocationName"**: **"_______"**, 146 | ​ "intents": [ 147 | 148 | Save and close the `models/en-US.json` model file. 149 | 150 | 151 | 152 | ## 5 – Deploy the New “Quick Colors” Skill 153 | 154 | In the `hello-world` folder, run `ask deploy` to create your new skill and to create and upload the code for a new lambda function: 155 | 156 | ``` 157 | ask deploy 158 | ``` 159 | 160 | If all is successful, you should see output indicating that the skill was created successfully, and that the code was uploaded to a new lambda function. 161 | 162 | ```bash 163 | -------------------- Create Skill Project -------------------- 164 | Profile for the deployment: color-changer 165 | Skill Id: amzn1.ask.skill.012345678-0123-4567-89ab-cafecafecafe 166 | Skill deployment finished. 167 | Model deployment finished. 168 | Lambda deployment finished. 169 | Your skill is now deployed and enabled in the development stage. 170 | Try invoking the skill by saying “Alexa, open {your_skill_invocation_name}” or … 171 | 172 | ``` 173 | 174 | You will notice the ID of your new skill is listed in the command output. 175 | 176 | 177 | 178 | > **Tip** 179 | > 180 | > From now on, as you make changes to the skill, simply execute `ask deploy` and the ASK CLI will take care of updating your skill configuration parameters, the interaction model, and your skill’s lambda as necessary. 181 | 182 | 183 | 184 | ## 🏆 **Congratulations** - You Have Completed Lab1 🏆 185 | -------------------------------------------------------------------------------- /deploy-sample-skill.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | **[Deploy a Skill](deploy-sample-skill.md)** 3 | 4 | 5 | 6 | 7 | # Create your first skill 8 | 9 | 10 | 11 | If you are here it means that you have: 12 | 13 | ✓ **An AWS Account** (if not, follow the [guide to Create a new AWS Account](new-aws-account.md)) 14 | 15 | ✓ **The AWS CLI Installed** (if not, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 16 | 17 | ✓ **An Amazon Developer Account** (if not, follow the [guide to Create a new Amazon Developer Account](new-dev-portal-account.md)) 18 | 19 | ✓ **The ASK CLI Installed** (if not, follow the [guide to install ASK CLI](ask-cli-setup-install.md)) 20 | 21 | ✓ **An ASK CLI Profile** (if not, follow the [guide to setup a ASK CLI Profile](ask-cli-setup-profile.md)) 22 | 23 | 24 | 25 | The sample uses 26 | 27 | - The [Node.js](https://nodejs.org/en/) framework for the skill code (using **Alexa Skills Kit (ASK) SDK for Node.js**) 28 | - **AWS Lambda** to host the skill 29 | 30 | 31 | 32 | 33 | 34 | ## 1 – Create a new skill 35 | 36 | In this step, you will get a copy of the sample skill code on your local computer and prepare a deployment package (a zip file that you create out of the Hello World skill code) to upload to Lambda in the next step. 37 | 38 | 1. Initialize the ASK CLI 39 | 40 | ```bash 41 | ask new 42 | ``` 43 | 44 | It will ask you for a skill name, choose whatever (e.g. hello-world) 45 | 46 | 47 | ```bash 48 | cd hello-world 49 | ``` 50 | 51 | ​ 52 | 53 | ## 2 – Deploy The Sample Skill to Your Account 54 | 55 | Once the ASK CLI is configured, it will create the skill and associated Lambda function. 56 | 57 | Deploy the skill and associated function with the following command: 58 | 59 | ```bash 60 | ask deploy 61 | ``` 62 | 63 | 64 | 65 | ## 3 – Test the Skill 66 | 67 | The skill can be invoked and tested on an Echo device as well. 68 | 69 | 1. Login to the [Alexa Developer Console](https://developer.amazon.com/alexa/console/ask). 70 | 71 | 2. Find your new skill in the Skills list, and select **Edit**. 72 | 73 | ![skills-list](lab1-devportal-skills-list.png) 74 | 75 | 3. Click the **Test** tab. 76 | 77 | ![test-tab](lab1-devportal-test-tab.png) 78 | 79 | 4. Enable Test for the skill by clicking the **Test** switch in the top left. 80 | 81 | ![test-switch](lab1-devportal-test-switch.png) 82 | 83 | Now you can use any Echo device logged in to the same developer account to test the skill: 84 | 85 | ​ *“Alexa, open hello world.”* 86 | 87 | 88 | 89 | ## 🏆 **Congratulations** - You Have Completed The AWS/CLI Setup Guide! 🏆 90 | 91 | -------------------------------------------------------------------------------- /dev-portal-ask-console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/dev-portal-ask-console.png -------------------------------------------------------------------------------- /dev-portal-intro.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | **[Amazon Developer Account](dev-portal-intro.md)** | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## Alexa Skill Building - Prerequisites 7 | 8 | To recap, this guide will walk you through the process of setting up all the necessary resources to develop and publish Alexa Skills. 9 | 10 | By now you should have completed the following: 11 | 12 | ✓ **An AWS Account** (if not, follow the [guide to Create a new AWS Account](new-aws-account.md)) 13 | 14 | ✓ **AWS CLI Installed** (if not, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 15 | 16 | ✓ **An IAM User and a Corresponding AWS CLI Profile** (if not, follow the [guide to setup an AWS CLI Profile](aws-cli-setup-profile.md)) 17 | 18 | 19 | 20 | What is left is 21 | 22 | - you need an Amazon Developer Portal account 23 | - you need to the ASK CLI tool 24 | - you need to configure the ASK CLI with a Profile 25 | 26 | 27 | 28 | #### Do you have an Amazon Developer Portal Account? 29 | 30 | If you already have Amazon Developer Portal account that you would like to use, go straight to the ASK CLI setup, otherwise follow the guide and create a new Amazon Developer Portal account now. 31 | 32 | **Note** Amazon Developer Portal is not the same as Amazon AWS and the accounts are different. Similarly, the AWS CLI and the ASK CLI are different tools! 33 | 34 | 35 | 36 | ## [Create a new Amazon Developer Portal Account](new-dev-portal-account.md) | skip to [ASK CLI Setup](ask-cli-setup-intro.md) 37 | -------------------------------------------------------------------------------- /dev-portal-new-account-step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/dev-portal-new-account-step1.png -------------------------------------------------------------------------------- /iam-new-user-step1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step1.png -------------------------------------------------------------------------------- /iam-new-user-step2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step2.png -------------------------------------------------------------------------------- /iam-new-user-step3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step3.png -------------------------------------------------------------------------------- /iam-new-user-step4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step4.png -------------------------------------------------------------------------------- /iam-new-user-step5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step5.png -------------------------------------------------------------------------------- /iam-new-user-step6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam-new-user-step6.png -------------------------------------------------------------------------------- /iam_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/iam_icon.png -------------------------------------------------------------------------------- /lab1-devportal-skills-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-devportal-skills-list.png -------------------------------------------------------------------------------- /lab1-devportal-stw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-devportal-stw.png -------------------------------------------------------------------------------- /lab1-devportal-test-switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-devportal-test-switch.png -------------------------------------------------------------------------------- /lab1-devportal-test-tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-devportal-test-tab.png -------------------------------------------------------------------------------- /lab1-qc-structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-qc-structure.png -------------------------------------------------------------------------------- /lab1-qc-structure.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/lab1-qc-structure.psd -------------------------------------------------------------------------------- /new-aws-account-landing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/new-aws-account-landing.png -------------------------------------------------------------------------------- /new-aws-account-success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/muttoni/ask-cli-setup/1b4c458de695d98da77c10972de9a52cb465e100/new-aws-account-success.png -------------------------------------------------------------------------------- /new-aws-account.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | **[AWS Account](new-aws-account.md)** | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | [Amazon Developer Account](dev-portal-intro.md) | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## Create a New AWS Account 7 | 8 | Amazon Web Service (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. AWS makes it very easy to build and deploy Alexa Skills in the cloud without having to worry about provisioning or maintaining infrastructure. 9 | 10 | This guide will walk you through the 4 step process of setting up a new Amazon AWS account. 11 | 12 | If you already have an AWS account you can go to the next step and [Setup AWS CLI](aws-cli-setup-intro.md) 13 | 14 | 15 | 16 | #### Overview 17 | 18 | 1. 📨 Create your Account 19 | 2. 💳 Add A Payment Method 20 | 3. 📞 Verify Phone Number 21 | 4. 💁 Choose an AWS Support Plan 22 | 23 | You will need: a valid **email address** 📨, a working **phone number ** 📞, and a valid **credit card** 💳. 24 | 25 | **Note**: Amazon AWS provides sufficient functionality in the free tier for developing skills. You will not be charged anything for following the guides today and in general to develop and test skills, however you do need to have a valid credit card on file in order to activate an AWS account. 26 | 27 | 28 | 29 | 30 | #### Step 1 - Create Your Account 31 | 32 | 1. Go to the [Amazon Web Services home page](https://portal.aws.amazon.com/billing/signup). 33 | 34 | 2. Choose **Sign Up**. 35 | 36 | **Note:** If you've signed in to AWS recently, it might say **Sign In to the Console**. 37 | 38 | ![new-aws-account-landing.png](new-aws-account-landing.png) 39 | 40 | 3. Type the requested account information, and then choose **Continue**. 41 | **Note:** If **Create a new AWS account** isn't visible, first choose **Sign in to a different account**, and then choose **Create a new AWS account**. When creating a new account, be sure that you enter your account information correctly, especially your email address. If you enter your email address incorrectly, you might not be able to access your account or change your password in the future. 42 | 43 | 4. Choose **Personal** or **Professional**. 44 | **Note:** These two account types are identical in functionality. 45 | AWS Accounts are free. Feel free to create a personal account to explore the functionality. 46 | 47 | 5. Type the requested company or personal information. 48 | 49 | 6. Read the [AWS Customer Agreement](https://aws.amazon.com/agreement/), and then check the box. 50 | 51 | 7. Choose **Create Account and Continue**. 52 | 53 | **Note:** After you receive an email to confirm that your account is created, you can sign in to your new account using the email address and password you supplied. However, you must continue with the activation process before you can use AWS services. 54 | 55 | 56 | 57 | #### Step 2 - Payment Method 58 | 59 | On the **Payment Information** page, type the requested information associated with your payment method. If the address for your payment method is the same as the address you provided for your account, choose **Secure Submit**. 60 | 61 | Otherwise, choose **Use a new address**, type the billing address for your payment method, and then choose **Secure Submit**. 62 | 63 | 64 | 65 | #### Step 3 - Verify Your Phone Number 66 | 67 | 1. On the **Phone Verification** page, type a phone number that you can use to accept incoming phone calls. 68 | 69 | 2. Enter the code displayed in the captcha. 70 | 71 | 3. When you're ready to receive a call, choose **Call me now**. In a few moments, an automated system will call you. 72 | 73 | 4. Type the provided PIN on your phone's keypad. After the process is complete, choose **Continue**. 74 | 75 | 76 | 77 | #### Step 4 - Select Support Option 78 | 79 | On the **Select a Support Plan** page, choose one of the available Support plans. For a description of the available Support plans and their benefits, see [AWS Support - Features](https://aws.amazon.com/premiumsupport/features/). 80 | 81 | After you choose a Support plan, a confirmation page indicates that your account is being activated. Accounts are usually activated within a few minutes, but the process might take up to 24 hours. 82 | 83 | **Note:** You can sign in to your AWS account during this time. The AWS home page might continue to display a button that shows "Complete Sign Up" during this time, even if you've completed all the steps in the sign-up process. 84 | 85 | When your account is fully activated, you'll receive a confirmation email. After you receive this email, you have full access to all AWS services. 86 | 87 | 88 | 89 | Proceed to log in to your new account! 90 | 91 | ![new-aws-account-success.png](new-aws-account-success.png) 92 | 93 | 94 | 95 | #### Online References: 96 | 97 | https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/ 98 | 99 | 100 | 101 | 102 | 103 | ## Continue to [AWS CLI Setup](aws-cli-setup-intro.md) 104 | 105 | -------------------------------------------------------------------------------- /new-dev-portal-account.md: -------------------------------------------------------------------------------- 1 | # AWS & ASK CLI Setup Guide 2 | [AWS Account](new-aws-account.md) | [AWS CLI](aws-cli-setup-intro.md) | [AWS CLI Profile](aws-cli-setup-profile.md) | **[Amazon Developer Account](dev-portal-intro.md)** | [ASK CLI](ask-cli-setup-intro.md) | [ASK CLI Profile](ask-cli-setup-profile.md) | [Deploy a Skill](deploy-sample-skill.md) 3 | 4 | 5 | 6 | ## Create New Amazon Developer Account 7 | 8 | By now you should have the following: 9 | 10 | ✓ **An AWS Account** (if not, follow the [guide to Create a new AWS Account](new-aws-account.md)) 11 | 12 | ✓ **AWS CLI Installed** (if not, follow the [guide to install AWS CLI](aws-cli-setup-install.md)) 13 | 14 | ✓ **An IAM User and a Corresponding AWS CLI Profile** (if not, follow the [guide to setup an AWS CLI Profile](aws-cli-setup-profile.md)) 15 | 16 | 17 | 18 | Alexa Skills are managed through an **Amazon Developer Account**. 19 | 20 | **Note** This is separate from your Amazon Web Services account and from your Amazon account, although all three may share the same e-mail address! 21 | 22 | 23 | 24 | You must create an Amazon Developer account in order to create and publish skills for Alexa. 25 | 26 | If you already have an Amazon.com account but not an Amazon developer account, you can optionally sign in with your Amazon.com account. On the backend, the Developer Console will create a developer account using your Amazon.com email address, and then the two accounts will be tied together and synced. You will be prompted to complete the registration profile pages in the Developer Console. 27 | 28 | In fact, if you already have an Amazon account that your Alexa-enabled devices are registered to, it is recommended to createa an Amazon Developer Account registered to the same email address as your Amazon account. This way, skills you develop in your Developer Account automatically become available for testing on your own Alexa-enabled devices. 29 | 30 | 31 | 32 | To create a new Amazon Developer account: 33 | 34 | 1. Go to https://developer.amazon.com/alexa-skills-kit. 35 | 2. Click **Sign In** in the upper-right corner. 36 | 3. Click **Create your Amazon Developer account**. 37 | 4. Complete the requested fields for your name, email, and password, and then click **Create your Amazon Developer account**. 38 | 5. Sign in with your new account. (You can always sign in to the [Developer Console](https://developer.amazon.com/) by clicking **Sign In** in the upper-right corner.) 39 | 40 | After you sign in, you'll be prompted to complete information on 3 tabs, as shown below. (After you complete this information, you can update it at any time by logging into the Developer Console and going to **Settings**.) 41 | 42 | ![](dev-portal-new-account-step1.png) 43 | 44 | 45 | 46 | After you have completed the 3 step registration, you can navigate to the Alexa Skills Kit Console: 47 | 48 | https://developer.amazon.com/alexa/console/ask 49 | 50 | ![](dev-portal-ask-console.png) 51 | 52 | The Alexa Skills Kit developer console is where you can manage all your skills. 53 | 54 | 55 | 56 | ## Next Step: [ASK CLI Setup](ask-cli-setup-intro.md) 57 | --------------------------------------------------------------------------------