如何查看 Node.js Cloud Function 环境的文件系统性质?

2024-01-11

当我将 Cloud Function 部署到 GCP(用 Node.js 编写)时,如何查看我的文件系统环境以进行调试?如果我想知道我当前的目录是什么或者我的应用程序旁边有哪些文件怎么办?


当我们部署 Cloud Function 时,就会出现完整的 Node.js 环境。我们可以在其中运行任意 Node.js 逻辑。这包括随后将显示在 Stackdriver 日志中的日志信息。因此,我们可以记录当前工作目录路径以及当前目录中所有文件的列表。我们可以用它作为诊断辅助工具。这是一个例子:

const fs = require('fs');
exports.helloWorld = (req, res) => {
  console.log(`CWD: ${process.cwd()}`);
  fs.readdir('.', function (err, files) {
    if (err) {
        return console.log('Unable to scan directory: ' + err);
    } 
    files.forEach(function (file) {
        console.log(file); 
    });
    res.status(200).send('Done!');
  });
};

您可以将此逻辑合并到您自己的应用程序中进行测试。

这是一个替代版本,显示所有文件和子目录的递归列表。

const fs = require('fs');
const walk = function(dir) {
  var results = [];
  var list = fs.readdirSync(dir);
  list.forEach(function(file) {
    file = dir + '/' + file;
    var stat = fs.statSync(file);
    if (stat && stat.isDirectory()) { 
      results = results.concat(walk(file));
    } else { 
      results.push(file);
    }
 });
 return results;
}

exports.helloWorld = (req, res) => {
  let message = req.query.message || req.body.message || 'Hello World!';
  console.log(`CWD: ${process.cwd()}`);
  console.log(`Dir Listing: ${walk('.')}`);
  res.status(200).send('Done!');
};

全部归功于上述算法node.js fs.readdir 递归目录搜索 https://stackoverflow.com/questions/5827612/node-js-fs-readdir-recursive-directory-search.

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

如何查看 Node.js Cloud Function 环境的文件系统性质? 的相关文章

随机推荐

  • AWS Cognito 用户池如何防御暴力攻击

    我将使用 AWS Cognito 用户池产品作为应用程序的用户目录 但有几个问题 Amazon 是否向 Cognito 用户池发出限制请求 如果是 限制调用的速率限制是多少 Cognito 如何防御登录名 密码的暴力攻击 经过几个小时的搜索
  • 生成maven项目继承/聚合图

    任何人都知道是否可以轻松生成 Maven 项目继承 聚合图 如下面的链接中所示 http sonatype com books maven book reference figs web pom real multi png http so
  • 使用 Google Analytics 进行 Vuejs 事件跟踪

    我希望跟踪按钮和链接上的谷歌分析事件 通常在 jquery 中 我会传递数据属性中的值并获取它们并调用所需的函数 我知道我不应该使用数据属性 所以我正在寻找执行此操作的最佳方法 可以有多个按钮使用不同的数据用途 属性 执行不同的跟踪 所以我
  • 加入条件查询给出错误“无法找到属性”

    我有两张表 Student 和 Courses 我必须连接两个表并获取特定字段 class Student extends Parent Long id Cache usage CacheConcurrencyStrategy READ W
  • char[] 和 char* 之间的区别? [复制]

    这个问题在这里已经有答案了 可能的重复 C char var 和 char var 之间的区别 https stackoverflow com questions 1880573 c difference between char var
  • 运行我的第一个 java 应用程序时出现 InvalidModuleDescriptorException

    我已经开始学习 Java 并在尝试运行我的第一个程序时遇到了问题 如下所示 public class HelloWorld public static void main String args TODO Auto generated me
  • Rcpp:无法打开共享对象文件

    我正在尝试开发一个 R 包 它利用阵列火 https github com arrayfire arrayfire 感谢 Rcpp 库 我已经开始编写示例代码 让我们将其命名为你好世界 cpp 看起来像这样 include
  • SQLAlchemy 按字段排序()

    我试图按字段对 SQLAlchemy ORM 对象进行排序 但使用特定的值顺序 既不是升序也不是降序 如果我在 MySQL 上执行此查询 它看起来像 SELECT letter FROM alphabet table WHERE lette
  • 在字典中存储函数 [Python]

    我目前正在构建一个应用程序 我需要迭代一系列基本执行相同操作的步骤 从而节省很少量的代码 约 15 行 步骤的数量将根据项目的配置方式而有所不同 因此对我来说为每个潜在实例创建单独的函数似乎有点愚蠢 在 JavaScript 中 我会做这样
  • 以编程方式更改 ASP.NET GridView 中列的样式(填充)

    我需要更改 ASP NET GridView 中一列的填充 而外部 CSS 文件中定义的所有其他 CSS 属性应保持不变 我该怎么做 提前致谢 更新 下面是我解决问题的代码 protected void gvwMaster RowDataB
  • Mac Kiosk 模式 API - 防止用户退出

    我正在编写一个 Mac 10 6 10 7 应用程序 该应用程序在允许用户访问计算机之前对 Active Directory 域对用户进行身份验证 我被告知不能允许用户通过传统登录服务登录 我已准备好身份验证代码 现在正在尝试使此登录窗口全
  • 在nosetests中有条件跳过TestCase装饰器

    有没有办法跳过整个TestCase基于使用鼻子测试的自定义条件 我的意思是unittest skip style I tried import unittest unittest skip No reason class TestFoo o
  • 如何在我的 fcm 消息中使用图像和 vibrate_timings

    我希望我的 FCM 通知包含自定义图像和振动模式 Firebase 提供的 AndroidNotification 类作为示例具有这两个变量 但我还没有看到任何方法让它工作 我尝试通过 C 类 AndroidNotification 将这两
  • 如何使滚动超过某个点后出现浮动菜单? [复制]

    这个问题在这里已经有答案了 我想让四个菜单选项卡在您滚动经过页面上的某个点 例如 1000px 后出现 我希望它们出现时从左向右滑入 这就是我想要的 但位于浏览器的左侧 任何意见都会受到赞赏 首先 您需要从跟踪页面的滚动开始 其次 您需要在
  • 重定向到 ASP.NET Core 的自定义“访问被拒绝”页面

    我正在编写一个使用 Windows 身份验证的 ASP NET Core 1 0 网站 我已经实现了授权并且正在按预期工作 目前 当给定用户的身份验证失败时 会显示通用的 HTTP 403 错误页面 如何配置 ASP NET Core 以便
  • 如何在 .NET 4.0 中使用代码契约而不让我的代码看起来混乱?

    我已经开始使用代码契约 并发现很难立即发现方法的 本质 以这个 非常简单 为例 public static void UserAddNew string domain string username string displayName C
  • 删除查询字符串和参数

    由于不值得在这里讨论的原因 Google 一直在为我的一个网站编制索引 其中 URL 中包含不必要的查询字符串 这些字符串是wordfence lh hid and wordfence logHuman 我想修改我的 htaccess文件以
  • Laravel 5 Seeder - 数据库中的多行

    我想知道是否可以像这样插入多行 或类似的东西
  • 我网站中所有页面的网站图标

    我了解到为网页添加网站图标的方法是在页面中添加以下几行 我应该在我网站的每个页面中添加此代码吗 我使用 Apache tomcat 集群来提供页面服务 还有其他简单的方法可以做到这一点吗 通常将一个名为 favicon ico 的文件放在网
  • 如何查看 Node.js Cloud Function 环境的文件系统性质?

    当我将 Cloud Function 部署到 GCP 用 Node js 编写 时 如何查看我的文件系统环境以进行调试 如果我想知道我当前的目录是什么或者我的应用程序旁边有哪些文件怎么办 当我们部署 Cloud Function 时 就会出