2

我正在尝试向我的 lambda 添加权限以便能够使用 Kinesis::PutRecord 函数,但是当我尝试使用 add-permission 命令时它返回 404。

总的来说,我正在尝试使用 lambda 将 JSON 对象写入 kinesis 流,然后在另一端使用 lambda 将其读出。为此,我有一个生产者 lambda,它使用 PutRecord 将对象放入流中,但出现“请求中包含的安全令牌无效。”的错误。实际的 accessKey 或 secretAccessKey 不应该是无效的,因为 localstack 在他们的文档中说他们不检查这些字段。所以,现在我试图从命令行使用 add-permission 来让我的 lambda 访问这个 kinesis 函数,但它出错了。

这是我正在运行以授予我的 lambda 权限的命令。

awslocal lambda add-permission --function-name producer --principal lambda.amazonaws.com --action kinesis:PutRecord --statement-id KinesisPut --source-arn 'MyArnHere'

结果:

An error occurred (404) when calling the AddPermission operation: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.</p>

我应该得到确认或某种类型的 JSON 对象转储,但我收到的是 404 消息。我相信这个问题只在 localstack 上而不是在 AWS 上,因为很多人已经能够使用 aws cli 来解决这个问题,但是在 GitHub 上有一个针对同一问题的开放错误报告。

Github问题(不知道它是否真的是一个问题): https ://github.com/localstack/localstack/issues/1260

4

0 回答 0