启动ec2实例时用户数据是否应始终为String?不能说是一个字节数组? Java API:我使用ec2Client.runInstance(TEST_IMAGE_ID,instanceType,“USER_DATA”);使用userdata启动AmazonEC2
回答
根据Amazon:
用户数据必须的base64提交给API之前编码。 API命令行工具为您执行base64编码。数据以base64格式显示,并在提交给实例之前解码。
您需要知道您的Java API是否会为您执行此base-64编码,或者您是否必须自己做。 [请参阅以下Matt Solnit的评论。]
无论如何,请注意不要超过用户数据的16KB限制。
适用于Java的AWS开发工具包不会自动执行base64编码,因此您可以:-)。 –
我假设大多数AWS SDK for Java用户都不对他们传入的简单用户数据文本进行base-64编码。如果这样,那么我猜EC2必须返回实例上的原始用户数据文本,如果它是不base64编码。这份文件和实际行为从来都没有清楚过。 –
我有同样的想法。我使用Typica,它始终是base64编码。我确实发现[此论坛帖子](https://forums.aws.amazon.com/thread.jspa?messageID=275582),它表示AWS SDK可能最近已经发生变化:“[我们]正在尝试升级到最新的v1.2.7(显然启动配置用户数据现在需要base64编码)“ –
- 1. 试图设置capifony + amazonec2
- 2. 通过cloudformation启动实例后userData未得到执行
- 3. 如何使用!FindInMap in!Sub | userdata部分
- 4. 在userdata中使用cloudformation参数
- 5. 无法使用对流层/ CloudFormation的UserData
- 6. userData的CCNode的
- 7. Lua userdata gc
- 8. array_walk params userdata modified
- 9. Lua C++ userdata
- 10. 对于AWS EC2实例,始终启用'在下次服务启动后执行UserData'
- 11. 启动时使用rails启动delayed_job
- 12. 使用UIApplicationShortcutItem启动
- 13. 启动使用VBScript
- 14. 使用Spring启动
- 15. 使用FLAG_ACTIVITY_CLEAR_TOP启动活动
- 16. Light userdata as table keys
- 17. 从Listener访问userData
- 18. 使用SSL启动Docker
- 19. 使用jQuery启动函数
- 20. 使用WatcherChangeTypes启动作业
- 21. 使用Supervisor启动Filebeat
- 22. 使用BroadcastReceiver启动AsyncTask
- 23. 的Grails - 启动使用JSON
- 24. 使用iisapp.vbs启动MyAppPool
- 25. 启动WINWORD使用的ActiveX
- 26. 使用Spring启动的BasicAuth
- 27. 使用java.awt.HeadlessException启动Android AVD
- 28. 使用C启动TeraTerm宏#
- 29. SalesForce使用openAM启动SSO
- 30. 使用Python启动VirtualBox VM
您正在使用哪个客户端库? –
包装它们提供的基本Java sdk(AWS SDK for Java)。 – Satish