- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试将 S3 部署步骤集成到我的 Grunt 工具链中,以将新构建的文件上传到 AWS。然而,该步骤总是默默地失败(声称成功但没有执行任何操作),并且在调试结果时我发现了一些被挂起的不同点。我使用 grunt-s3 作为处理 grunt 命令的包,它反过来调用包装 Amazon S3 API 的 knox 包。
这就是事情崩溃的地方:
1) 逻辑中有一个点,knox 使用 fs 包尝试通过 fs.stat(file,callback) 获取要上传的文件的大小。据我所知,该进程在 fs.stat 调用和调用回调之间的 node.js 层下的某个位置终止。我在回调逻辑中的各处设置了断点和“调试器”语句,并且在调用 fs.stat() 后, Node 检查器和 IntelliJ 调试器似乎都无法捕获该进程。
2) 如果我破解 knox 插件并将 fs.stat 调用更改为 fs.statSync(),该过程将成功向前推进。但是,在此过程的稍后部分,我可以看到 knox 使用 S3 设置了预期的 PUT URL 来上传文件,然后调用 stream.pipe() 来上传文件。 Stream.pipe() 调用似乎没有发生任何事情,并且我在 WireShark 上看不到任何表明我的计算机和 AWS 之间正在发生上传的事件。但是,如果我使用命令行工具 s3cmd 进行上传,文件上传正常。
我准备在这一步中放弃 grunt 并直接调用 s3cmd,但如果可能的话,我很乐意以 grunt 方式执行此操作。有人对这两个步骤中可能发生的事情有什么建议吗?
谢谢!
最佳答案
你坐在我的代理后面吗?如果是这样,knox 将无法工作。如果没有,你的 s3-config 是什么样的?
另一个需要注意的重要事项是您的存储桶的位置。手动设置区域(在我的示例中为“eu-west-1”)对我有帮助,因为诺克斯默认将区域设置为“us-standard”。查看可能值的列表 here ,检查您所在的存储桶属性,然后手动设置该值!
这是(对我来说)工作配置:
s3: {
options: {
key: "my-key",
secret: "my-secret",
access: "public-read",
bucket: "my-bucket",
region: "eu-west-1"
},
mysubtask: {
upload: [
{
src: "src/*.js",
dest: "/dist/",
gzip: true,
headers: {
'Content-Type': 'application/javascript; charset=utf-8'
}
}
]
}
}
关于javascript - grunt/npm 插件 grunt-s3 + knox 未上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172007/
这个问题在这里已经有了答案: Why don't Java's +=, -=, *=, /= compound assignment operators require casting? (11 个
我搜索了很多,但没有一个链接能帮助我解决这个问题。我得到了 ORA-21500: internal error code, arguments: [%s], [%s], [%s], [%s], [%s
我正在做 RegexOne 正则表达式教程,它有一个 question关于编写正则表达式以删除不必要的空格。 教程中提供的解决方案是 We can just skip all the starting
([\s\S]+|\s?) 中 |\s? 的目的或作用是什么?如果没有它,表达式会不会与 ([\s\S]+) 相同? 最佳答案 这不是完全相同的。 ([\s\S]+|\s?) 会匹配空字符串,而 ([
这个正则表达式有一组还是两组? 我正在尝试使用第二组访问 bookTitle 但出现错误: Pattern pattern = Pattern.compile("^\\s*(.*?)\\s+-\\s+
在 C 中给定一个字符串指针 s,下面的迭代会做什么?即它以什么方式遍历字符串? for (++s ; *s; ++s); 最佳答案 for (++s ; *s;++s) 表示 将指针 s 递增到字符
我正在用一个 node.js 应用程序解析一个大列表并有这段代码 sizeCode = dbfr.CN_DESC.split('\s+-\s*|\s*-\s+') 这似乎不起作用,因为它返回了 [ '
我正在编写一个简单的字符串连接程序。 该程序按照我发布的方式运行。但是,我首先使用以下代码编写它来查找字符串的结尾: while (*s++) ; 但是,这个方法并没有奏效。我传递给它的字符串
这个问题已经有答案了: What does (?和aramchand来自Mohandas Karamchand G 因此,在使用这些匹配来分割字符串后,您最终会得到 {"M", "K", "G"} 注
我正在尝试转换 Map到 List使用 lambda。 本质上,我想将键和值与 '=' 连接起来之间。这看起来微不足道,但我找不到如何去做。 例如 Map map = new HashMap<>();
我正在经历 K & R,并且在递增指针时遇到困难。练习 5.3(第 107 页)要求您使用指针编写一个 strcat 函数。 在伪代码中,该函数执行以下操作: 将 2 个字符串作为输入。 找到字符串
在下面的代码中,pS 和 s.pS 在最后一行是否保证相等?也就是说,在语句S s = S();中,是否可以确定不会构造一个临时的S? #include using namespace std; s
演示示例代码: public void ReverseString(char[] s) { for(int i = 0, j = s.Length-1; i < j; i++, j--){
我一直在寻找类似于 .NET examples 中的示例的 PowerShell 脚本.取一个 New-TimeSpan 并显示为 1 天 2 小时 3 分钟 4 秒。排除其零的地方,在需要的地方添加
def func(s): s = s + " is corrected" return s string_list = ["She", "He"] for s in string_li
我是 python 的新手。当我在互联网上搜索 lambda 时。我在 lambda_functions 中找到了这个声明. processFunc = collapse and (lambda s:
我最近开始学习正则表达式,并试图为上面的问题写一个正则表达式。如果限制只放在一个字母上(例如不超过 2 个“b”),这并不困难。 那么答案就是:a* c*(b|ε)a* c*(b|ε)a* c* 但是
当我运行 npm install 时出现以下错误,但我无法修复它。 我试过:npm install -g windows-build-tools 也没有修复这个错误 ERR! configure
有很多有趣的haskell网上可以找到片段。 This post可以在 this (awesome) Stack Overflow question 下找到. The author写道: discou
我知道以下三行代码旨在将字符串提取到$ value中并将其存储在$ header中。但是我不知道$value =~ s/^\s+//;和$value =~ s/\s+$//;之间有什么区别。 $val
我是一名优秀的程序员,十分优秀!