Я пытаюсь использовать aws-sdk-go в своем приложении.Он работает на экземпляре EC2.Теперь в Configuring Credentials документа, https://docs.aws.amazon.com/sdk-for-go/api/, говорится, что он будет выглядеть как
*Environment Credentials - Set of environment variables that are useful when sub processes are created for specific roles.
* Shared Credentials file (~/.aws/credentials) - This file stores your credentials based on a profile name and is useful for local development.
*EC2 Instance Role Credentials - Use EC2 Instance Role to assign credentials to application running on an EC2 instance. This removes the need to manage credential files in production.`
Не будет ли лучший порядок обратным порядком?Но мой главный вопрос заключается в том, нужно ли мне спрашивать у экземпляра, есть ли у него роль, а затем использовать его для настройки учетных данных, если у него есть роль?Вот где я не уверен, что мне нужно делать и как.
Я попытался провести простой тест по созданию пустого конфига, по существу устанавливая только регион и выполняя его на экземпляре с ролью икажется, что это «сработало», но в этом случае я не уверен, нужно ли мне явно устанавливать роль или нет.
awsSDK.Config{
Region: awsSDK.String(a.region),
MaxRetries: awsSDK.Int(maxRetries),
HTTPClient: http.DefaultClient,
}
Я просто хочу подтвердить, является ли это правильным способом сделать это илине.Я думаю, мне нужно сделать что-то вроде следующего:
role = use sdk call to get role on machine
set awsSDK.Config { Credentials: credentials form of role,
...
}
issue service command with returned client.
Любые другие документы / указатели были бы великолепны!