2011-09-20 51 views
3

啓動ec2實例時用戶數據是否應始終爲String?不能說是一個字節數組? Java API:我使用ec2Client.runInstance(TEST_IMAGE_ID,instanceType,「USER_DATA」);使用userdata啓動AmazonEC2

+0

您正在使用哪個客戶端庫? –

+0

包裝它們提供的基本Java sdk(AWS SDK for Java)。 – Satish

回答

4

根據Amazon

用戶數據必須的base64提交給API之前編碼。 API命令行工具爲您執行base64編碼。數據以base64格式顯示,並在提交給實例之前解碼。

您需要知道您的Java API是否會爲您執行此base-64編碼,或者您是否必須自己做。 [請參閱以下Matt Solnit的評論。]

無論如何,請注意不要超過用戶數據的16KB限制。

+2

適用於Java的AWS開發工具包不會自動執行base64編碼,因此您可以:-)。 –

+1

我假設大多數AWS SDK for Java用戶都不對他們傳入的簡單用戶數據文本進行base-64編碼。如果這樣,那麼我猜EC2必須返回實例上的原始用戶數據文本,如果它是不base64編碼。這份文件和實際行爲從來都沒有清楚過。 –

+0

我有同樣的想法。我使用Typica,它始終是base64編碼。我確實發現[此論壇帖子](https://forums.aws.amazon.com/thread.jspa?messageID=275582񃑾),它表示AWS SDK可能最近已經發生變化:「[我們]正在嘗試升級到最新的v1.2.7(顯然啓動配置用戶數據現在需要base64編碼)「 –