2014-06-12 65 views
2

我試圖做一個HTTP GET請求製作一個HTTP API請求Amazon彈性青苗

https://elasticbeanstalk.us-east-1.amazonaws.com/?ApplicationName=MyApplicationName&Operation=DescribeEnvironments

並獲得

<?xml version="1.0" standalone="no"?> 
<ErrorResponse xmlns="http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/> 
    <Error> 
     <Type>Sender</Type> 
     <Code>InvalidClientTokenId</Code> 
     <Message>No account found for the given parameters</Message> 
    </Error> 
    <RequestId>ca83cbc7-f22a-11e3-8380-3bbf7df037f3</RequestId> 
</ErrorResponse> 

我試過設置我的鑰匙和祕密作爲基本HTTP認證的用戶名和密碼,但顯然這不起作用。

那麼如何將我的密鑰和密鑰添加到我的遠程請求?

回答

1

對於大多數AWS使用場景,強烈建議使用衆多AWS SDKs中的一個,以便通過更高級別的抽象來輕鬆處理API - 這些SDK還處理所需且稍微複雜的請求籤名,通常的解釋如何提供您的AWS憑證的幾個選項可以在這裏找到。 SDK文檔:

AWS開發工具包提供包裝API並處理許多連接細節(如計算簽名,處理請求重試和錯誤處理)的函數。 SDK還包含示例代碼,教程和其他資源,以幫助您開始編寫調用AWS的應用程序。在SDK中調用封裝函數可以大大簡化編寫AWS應用程序的過程。

如果你真的需要使用通過REST的API的AWS直接Signing AWS API Requests將引導您完成所需步驟,例如見部分適用於AWS Elastic Beanstalk的AWS簽名4請求的Signature Version 4 Signing Process的組件。