The centre point of the AWS client application is AWS Session. To create it, we need to do the following:
(1) import github.com/aws/aws-sdk-go/aws/session package
(2) call NewSession() on it
sess, err := session.NewSession()
By default, session uses environment variables for its configuration. Some of them are:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
For the full list see AWS CLI - Environment Variables.
So, if we call our AWS client app (let's name it aws-client) from command line, we can first set these environment variables:
export AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID_VALUE
export AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY_VALUE
export AWS_REGION=AWS_REGION_VALUE
aws-client
If aws-client is entrypoint for Docker container, we can pass these environment variables via command line:
docker run \
-e AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID_VALUE \
-e AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY_VALUE \
-e AWS_REGION=AWS_REGION_VALUE \
--rm \
aws-client-image
We can create session configuration explicitly and pass options which are programmatically set. For this, we need to:
(1) import github.com/aws/aws-sdk-go/aws package
(2) create Config structure and pass it to session constructor
sess, err := session.NewSession(&aws.Config{})
In the example above, environment variables will still be used. If we want to pass particular options, we can set matching properties of the Config structure:
// S3Region is the name of the geo region e.g. "eu-west-2"
const S3Region = "us-east-1"
...
sess, err := session.NewSession(
&aws.Config{
Region: aws.String(S3Region)
}
)
For complete list of regions see Regions and Availability Zones - Amazon Relational Database Service.
TO BE CONTINUED...
(1) import github.com/aws/aws-sdk-go/aws/session package
(2) call NewSession() on it
sess, err := session.NewSession()
By default, session uses environment variables for its configuration. Some of them are:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_REGION
For the full list see AWS CLI - Environment Variables.
So, if we call our AWS client app (let's name it aws-client) from command line, we can first set these environment variables:
export AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID_VALUE
export AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY_VALUE
export AWS_REGION=AWS_REGION_VALUE
aws-client
If aws-client is entrypoint for Docker container, we can pass these environment variables via command line:
docker run \
-e AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID_VALUE \
-e AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY_VALUE \
-e AWS_REGION=AWS_REGION_VALUE \
--rm \
aws-client-image
We can create session configuration explicitly and pass options which are programmatically set. For this, we need to:
(1) import github.com/aws/aws-sdk-go/aws package
(2) create Config structure and pass it to session constructor
sess, err := session.NewSession(&aws.Config{})
In the example above, environment variables will still be used. If we want to pass particular options, we can set matching properties of the Config structure:
// S3Region is the name of the geo region e.g. "eu-west-2"
const S3Region = "us-east-1"
...
sess, err := session.NewSession(
&aws.Config{
Region: aws.String(S3Region)
}
)
For complete list of regions see Regions and Availability Zones - Amazon Relational Database Service.
TO BE CONTINUED...
No comments:
Post a Comment