0

我试图在我的 AWS Lambda 中运行一个循环遍历数组的 for 循环。该数组的长度为 11,但 for 循环在停止之前仅运行 3 次迭代(我在 try/catch 日志中找不到错误)。

此代码是 Github 机器人的一部分,基本上将文件从存储库中的一个位置移动到另一个位置。

这段代码在 Heroku 上运行良好,但是当我将它转移到 AWS lambda(使用无服务器框架)时它不起作用。

const workFlow = async (context) => {
  console.log("Getting files")
  let files = await context.octokit.repos.getContent({
    owner: context.payload.repository.owner.login,
    repo: context.payload.repository.name,
    path: ".bit/workflows"
  });

  console.log(files)
  console.log(files.data.length);
  for (i = 0; i < files.data.length; i++) {
    let body = await data.getFileContent(context, `.bit/workflows/${files.data[i].name}`)
    body = body[0].data.content

    try {
      console.log("Getting file " + i)
      console.log(files.data[i])
      await context.octokit.repos.createOrUpdateFileContents({
        owner: context.payload.repository.owner.login,
        repo: context.payload.repository.name,
        path: `.github/workflows/${files.data[i].name}`,
        message: "Start workflows",
        content: body,
        committer: {
          name: `NAME`,
          email: "EMAIL",
        },
        author: {
          name: `NAME`,
          email: "EMAIL",
        },
      })
      console.log("Got workfow files");
    } catch (e) {
      console.log("Error in getting workflow files")
      console.log(e)
    }
  }
}
4

0 回答 0