啓動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