试图谷歌戈兰 d vs戈兰 g 的东西被证明是相当困难的。我搜索的一切似乎都是为了代码或切换配置文件。这一切都已经处理好了。
我有一个项目正在接受JSON并处理数据,我能够使用运行和调试按钮来构建和调试我的默认配置的go代码。
这改变了我从S3中提取数据文件,这需要对我们使用aws-vault
的aws进行身份验证。
我遇到的问题是在此配置中没有其他设置。有一个Run after build
的复选框,但我没有办法说运行aws-vault
现在,我必须取消选中Run after build
并添加标志-gcflags="-N -l" -o app
然后使用Shift + Option + fn + F5附加到该进程。
我正在寻找的是能够在IDE中运行aws-vault exec user -- go ...
,这样我就没有一个构建步骤,一个运行步骤,然后手动附加到进程。
1条答案
按热度按时间smdnsysy1#
至少我认为这是一个更好的解决方案,允许您运行任何使用AWS SDK的代码(包括cli)。
我用的是Mac电脑,所以
osascript
对我很有效,但是提示符可以是你的操作系统支持的任何东西。或者如果你有Yubikey,你可以使用prompt=ykman
。在
~/.aws
中,有2个文件config
和credentials
,它们告诉SDK如何进行身份验证。要在
~/.aws/config
中开始,需要为每个角色提供一个配置文件。默认角色是您假定所有其他角色都是代码将升级到的角色。注意:一个奇怪的地方是,我必须把角色和地区放在这个文件中,这样角色才会存在。
如果你没有使用java,这可能是不需要的。你可以把完整的角色放在
~/.aws/credentials
的前一个文件中(但是我也使用java,所以这是我的设置)注意:这里的一个奇怪之处是指定了
ca_bundle
。golang中的一些东西对使用AWS_CA_BUNDLE
不满意,但这似乎有效。现在,当运行代码时,将显示一个弹出窗口,要求提供MFA令牌。
此外,在运行任何aws cli命令时,您可以使用要使用的
--profile
ieaws s3 ls --profile dev
,此时将出现弹出窗口。当使用
aws-vault
时,手动编辑这些文件可能不是最好的方法,但目前这是我们管理它们的方式,这似乎给予最好的工作流程。