2014-06-12 36 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的组件。