2016-11-28 59 views
0

我正在尝试从亚马逊网络服务收集数据。每次拨打电话,我都会收到403 Forbidden。使用Power-shell对亚马逊网络服务进行RESTful调用

这是我的代码看起来像(该链接混杂在一起):

调用-RestMethod -uri“https://hosted-data-work.s3.amazonaws.com/20161121T220310.324/dw_split/73610000000000001/assignment_fact/part00101.gzAWSAccessKeyId=ASIAJVX3JXfd5dfdfRKJNGM74Q&Expires=1479839499&Signature=J4JdyX53AwH6wExVmoVAtkweCEI%3D&resp222onse-contentdisposition=inline%3B%20filename%3D%22assignment_fact-00000-095582fd.gz%22%3B&x-amz-security-token=bluh” - 方法获取

上面的链接是一个下载文件。我只想以最简单的方式获取数据。我还需要在通话中添加哪些内容?我不知道aws!

+0

看看这个:https://aws.amazon.com/powershell –

+0

你试图完成什么具体任务?尝试以面向任务的方式提问,也许我们将能够为您提供帮助。正如@AnthonyNeace指出的那样,您可能希望从使用AWS PowerShell模块开始,而不是直接调用REST API。 –

+0

该链接是一个文件下载。我只是想以最简单的方式下载它 –

回答

0

我被误导了,在这个问题上采取了一个坏的方法。我不知道我可以简单地将文件下载到我的电脑。我虽然必须从桶转移到桶,然后转移到我的电脑。

0

你是如何生成该URL的?它看起来像一个预先登记的URL,这意味着访问对象的授权将根据预授权时使用的凭据授予。有几个可能的原因可能会给您一个未经授权的响应:

  1. 用于生成已预先注册的URL的凭据实际上没有读取对象的权限。仔细检查您的IAM策略和/或存储桶的ACL以及生成该URL的IAM用户。
  2. 签名在您生成预先设置的URL和尝试使用它的时间之间被截断/损坏。尝试在生成时记录网址,并在使用时再次登录,并进行比较以确保它们完全匹配。
  3. 预设网址在指定的有效期限后过期,该期限不得超过1周。确保您在需要时生成新的URL并适当设置到期时间。

任何这些都可能导致你看到的结果。