Using AWS Cloud9 with the AWS SDK for Go V2
You can use AWS Cloud9 with the AWS SDK for Go V2 to write and run your Go code using just a browser. AWS Cloud9 includes tools such as a code editor and terminal. The AWS Cloud9 IDE is cloud based, so you can work on your projects from your office, home, or anywhere using an internet-connected machine. For general information about AWS Cloud9, see the AWS Cloud9 User Guide.
Follow the instructions below to set up AWS Cloud9 with the AWS SDK for Go V2:
Set up Your AWS Account to Use AWS Cloud9
To start using AWS Cloud9, sign in to the AWS Cloud9 console as an AWS Identity and Access Management (IAM) entity (for example, an IAM user) in your AWS account which has access permissions for AWS Cloud9.
Review Team Setup for AWS Cloud9 in the AWS Cloud9 User Guide, for help with setting up an IAM entity in your AWS account to access AWS Cloud9, and to sign in to the AWS Cloud9 console.
Set up Your AWS Cloud9 Development Environment
After you sign in to the AWS Cloud9 console, use the console to create an AWS Cloud9 development environment. After you create the environment, AWS Cloud9 opens the IDE for that environment.
See Creating an Environment in AWS Cloud9 in the AWS Cloud9 User Guide for details.
As you create your environment in the console for the first time, we recommend that you choose the option to Create a new instance for environment (EC2). This option tells AWS Cloud9 to create an environment, launch an Amazon EC2 instance, and then connect the new instance to the new environment. This is the fastest way to begin using AWS Cloud9.
Set up the AWS SDK for Go V2
After AWS Cloud9 opens the IDE for your development environment, use the IDE to set up the AWS SDK for Go V2 in your environment, as follows.
If the terminal isn’t already open in the IDE, open it. On the menu bar in the IDE, choose Window, New Terminal.
Validate the AWS Cloud9 available Go version.
If the Go version reports a version less than
1.15, or the IDE can’t find the Go binary follow the guide to Install/Upgrade Go.
Download Example Code
Use the terminal you opened in the previous step to download example code for the AWS SDK for Go V2 into the AWS Cloud9 development environment.
To do this, run the following command. This command downloads a copy of all the code examples used in the official AWS SDK documentation into your environment’s root directory.
git clone https://github.com/awsdocs/aws-doc-sdk-examples.git
To find code examples for the AWS SDK for Go V2, use the Environment window to open the
ENVIRONMENT_NAME/aws-doc-sdk-examples/gov2 directory, where
ENVIRONMENT_NAME is the name of your
Run Example Code
To run code in your AWS Cloud9 development environment, see Run Your Code in the AWS Cloud9 User Guide.
Installing/Upgrading AWS Cloud9 Go Version
If the IDE can’t find Go or version of Go doesn’t meet the minimum require version, run the following commands, one at a time in this order, to install it. (These commands assume you chose the option to Create a new instance for environment (EC2), earlier in this topic. Also, these commands assume the latest stable version of Go at the time this topic was written; for more information, see Downloads on The Go Programming Language website.)
wget https://golang.org/dl/go1.15.5.linux-amd64.tar.gz # Download the Go installer. sudo tar -C /usr/local -xzf ./go1.15.5.linux-amd64.tar.gz # Install Go. rm ./go1.15.5.linux-amd64.tar.gz # Delete the Go installer, as you no longer need it.
After you install Go, add the path to the Go binary to your
PATH environment variable. To do this, add the
following code to the end of your shell profile file (for example,
~/.bashrc in Amazon Linux, assuming you chose the
option to Create a new instance for environment (EC2), earlier in this topic), and then save the file.
After you save the file, source the
~/.bashrc file so that the terminal can now find the Go binary you just
referenced. To do this, run the following command. (This command assumes you chose the option to Create a new instance
for environment (EC2), earlier in this topic.)