向Amazon Elastic Beanstalk发出HTTP API请求

时间:2014-06-12 12:13:57

标签: elastic-beanstalk

我正在尝试向

发出HTTP get请求

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 个答案:

答案 0 :(得分:1)

对于大多数AWS使用场景,强烈建议使用众多AWS SDKs中的一个来通过更高级别的抽象来简化API的使用 - 这些SDK还会处理所需的和稍微复杂的请求签名,这是一个解释对于通常的几个选项,如何提供您的AWS凭证可以在resp中找到。 SDK文档:

  

AWS软件开发工具包提供包装API并处理许多连接详细信息的功能,例如计算签名,处理请求重试和错误处理。 SDK还包含示例代码,教程和其他资源,可帮助您开始编写调用AWS的应用程序。在SDK中调用包装函数可以极大地简化编写AWS应用程序的过程。

如果确实需要通过REST直接使用AWS API,Signing AWS API Requests将指导您完成所需的步骤,例如,部分 AWS签名4请求的组件Signature Version 4 Signing Process内,适用于AWS Elastic Beanstalk