InvalidParameterValueException:无法访问流

2023-12-14

我正在尝试使用 Terraform 创建 dynamodb 表和 lambda 触发器。这就是我定义表、角色策略和 lambda 触发器的方式:

resource "aws_dynamodb_table" "filenames" {
  name           = local.dynamodb_table_filenames
  billing_mode   = "PROVISIONED"
  read_capacity  = 1000
  write_capacity = 1000
  hash_key       = "filename"
  stream_enabled = true
  stream_view_type = "NEW_IMAGE"

  #range_key      = ""

  attribute {
    name = "filename"
    type = "S"
  }

  tags = var.tags
}

resource "aws_iam_role_policy" "dynamodb_policy" {
  policy = jsonencode(
  {
    Version: "2012-10-17",
    Statement: [
      {
        Action: [
          "dynamodb:GetItem",
          "dynamodb:PutItem",
          "dynamodb:UpdateItem",
          "dynamodb:Query",
          "dynamodb:GetRecords",
          "dynamodb:GetShardIterator",
          "dynamodb:DescribeStream",
          "dynamodb:ListShards",
          "dynamodb:ListStreams",
        ],
        Effect: "Allow",
        Resource: aws_dynamodb_table.filenames.arn
      }
    ]
  }
  )
  role = aws_iam_role.processing_lambda_role.id
}

resource "aws_lambda_event_source_mapping" "allow_dynamodb_table_to_trigger_lambda" {
  event_source_arn  = aws_dynamodb_table.filenames.stream_arn
  function_name     = aws_lambda_function.trigger_stepfunction_lambda.arn
  starting_position = "LATEST"
}

即使我已经添加了角色中添加的相关策略,我仍然收到此错误:

error creating Lambda Event Source Mapping (arn:aws:dynamodb:eu-central-12:table/tablename/stream): InvalidParameterValueException: Cannot access stream arn:aws:dynamodb:eu-central-1:299093934558:table/4tablename/stream. Please ensure the role can perform the GetRecords, GetShardIterator, DescribeStream, ListShards, and ListStreams Actions on your stream in IAM.

我怎样才能解决这个问题?


流操作适用于流,而不适用于表。流的 ARN 有form of:

arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/stream/${StreamLabel}

因此,您应该使用(或等效的东西):

Resource: "${aws_dynamodb_table.filenames.arn}/stream/*"

或更一般:

Resource: "${aws_dynamodb_table.filenames.arn}/*"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InvalidParameterValueException:无法访问流 的相关文章

随机推荐

  • C++ 中的 Windows 服务

    我想用 C 创建一个将定期运行的应用程序 很像Windows服务 是否可以用 C 创建 Windows 服务 如果是的话怎么办 有这方面的教程吗 编辑 如何为 Windows 服务创建安装程序 正如另一个答案所示 您需要创建一个普通的 C
  • Jersey ExceptionMapper 未被调用

    我试图调用此异常映射器以返回 404 未找到响应 但它始终返回 500 内部错误 泽西岛版本是2 22 1 下面的代码片段 感谢所有帮助 Thanks 异常映射器类 package org learn rest messengerdemo
  • 引用类时出现 NHibernate 映射问题(延迟加载问题?)

    我正在使用 NHibernate Fluent 来处理我的数据库 并且在查询引用其他数据的数据时遇到问题 我的简单问题是 我是否需要在映射中定义一些 BelongsTo 等 或者在一侧定义引用是否足够 请参阅下面的映射示例 如果是这样 怎么
  • 背景图片在 IE11 中不显示

    由于某种原因 背景图像在 IE11 Windows 7 Pro 中根本不显示 home position relative height 620px background image url images bg home3 jpg back
  • 使用 XPath 从具有不必要名称空间的文档中提取 XOM 元素

    我正在尝试使用 XOM 解析外部系统返回的一些 HTML HTML 看起来像这样 div Help I am trapped in a fortune cookie factory div 实际上它更加混乱 但它有这个 DOCTYPE 声明
  • iPhone 应用程序内的捐赠功能

    我计划开发一个免费的应用程序 这对很多人来说都是有用的 因此 我计划在我的应用程序中放置一个捐赠按钮 因此 如果有人发现它有用 他们就会为开发捐款 如果我们实现应用内购买来实现这个功能好不好 我不确定这是否可能 如果这个问题有错请纠正我 我
  • 为什么 printf 隐式 float 到 int 转换不起作用?

    请帮助我理解以下 C 输出 include
  • Sqlite 不返回此类表,但在 OnePlusTwo 设备上获取时存在该表

    我已将数据库文件从资产复制到应用程序数据库 并且已成功复制 当我查询任何表时 它不会返回此类表异常 我从该手机中获取了数据库文件 它包含所需的所有表格 我知道这有点奇怪 但此错误仅出现在 OnePlusTwo 设备上 所以我的问题是这是一个
  • 原生 javascript 中的 jQuery index()

    根据 jQuery api get 的补充操作 它接受索引并返回 DOM 节点 index 可以获取 DOM 节点并返回索引 假设我们页面上有一个简单的无序列表 ul li foo li li bar li li baz li ul ind
  • 如何用假测试模块替换 Guice 模块进行单元测试?

    这是我们的使用方式Guice在新的应用程序中 public class ObjectFactory private static final ObjectFactory instance new ObjectFactory private
  • 在 Qt 中创建旋转进度条

    Create Spin Progress bar in Qt I want to show progress bar like the one which appears while loading Please Find Image 我的
  • DNS 消息是否将名称填充为偶数字节?

    初步说明 是的 我知道 DNS 库和易于使用的 DNS 服务器的存在 我这样做纯粹是为了学术目的 并了解 DNS 查询的工作原理 问题 我在看RFC 1035了解 DNS 消息的工作原理 我想我或多或少理解了该备忘录中的所有内容 然而 有一
  • pygame 与海龟崩溃

    我收到此错误代码 2017 04 13 03 04 14 958 Python 606 839244 SDLApplication setup unrecognized selector sent to instance 0x1007a0d
  • SQL Server 2005 中的临时表不会自动删除

    我正在对一个令人讨厌的存储过程进行故障排除 并注意到在运行它之后 并且我已经关闭了会话 许多临时表仍然留在 tempdb 中 他们的名字如下 000E262B 002334C4 004E1D4D 00583EEE 00783A7F 0083
  • 使用 MTKTextureLoader 加载远程图像

    我正在尝试将远程图像加载到MTLTexture用这个代码 let textureLoader MTKTextureLoader device device textureLoader newTexture withContentsOf ur
  • 从Github API获取特定的README.md数据

    最近 我开始尝试使用 GitHub API 从公共存储库获取特定数据 长话短说 我想从存储库中获取 README md 文件的特定部分 例如 来自 Facebook 的 React 存储库的 master 分支 我想抓取下面的文本文档Git
  • 最小列总和差是多少? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 想象一下 给定一个正整数矩阵 最大 25 15 数字值不超过 3000000 当您进行列求和并选择最小和最大的一项时 它们之间的差异必须尽可能小 您可以根据需要交换每行中的数字
  • 以 HTML 形式显示的 LaTeX 表格

    我有以下 LateX 表 在以下情况下按预期呈现format pdf title Test Table format pdf begin center begin tabular l l l hline Var Class Descript
  • 用户名网址,例如 twitter 和 facebook

    twitter 和 facebook 等如何制作唯一的 url 例如 twitter com billgates 如果我想做同样的事情 为我的用户提供带有用户名的唯一网址 它是一个应用程序还是您为每个用户创建一个带有索引页面的目录 顺便说一
  • InvalidParameterValueException:无法访问流

    我正在尝试使用 Terraform 创建 dynamodb 表和 lambda 触发器 这就是我定义表 角色策略和 lambda 触发器的方式 resource aws dynamodb table filenames name local