我之前使用过 Lambda 函数,如果我没记错的话,我应该在/tmp.
然而,我的 Go lambda 函数似乎没有与 fs 正确交互:
exec.Command("ls -la /").Output()返回空
exec.Command("rm -rf /tmp/xxx").Run()回报fork/exec : no such file or directory
exec.Command("mkdir -p /tmp/xxx").Run()回报fork/exec : no such file or directory
真的很奇怪。它使用 go1.x 环境(因此,我猜 amazonlinux:2)
更新
我可以使用 Go os 函数访问 fs:
os.RemoveAll("/tmp/xxx")
if _, err := os.Stat("/tmp/xxx"); os.IsNotExist(err) {
if err := os.Mkdir("/tmp/xxx", os.ModePerm); err != nil {
return err
}
}
Run Code Online (Sandbox Code Playgroud)
但我确实需要 exec 之后运行(二进制命令),并在该 tmp 文件夹中写入一个文件。这种情况下的错误是相同的(没有这样的文件或目录)。即使我刚刚使用上述命令创建了该文件夹。
在将输入包含到我的事件目标时,我在使用 AWS CLI 时遇到一些问题。如果没有输入,此命令和 json 文件可以正常工作。通过控制台创建输入时,我没有任何问题。
bash命令:
aws events put-targets --cli-input-json file://target.json
JSON 文件:
{
"Rule": "site.la-01-rule",
"Targets": [
{
"Id": "site.la-01",
"Arn": "arn:aws:lambda:us-west-1:<account-number>:function:annual-rotation-schedules",
"Input": "This is an input"
}
]
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
调用 PutTargets 操作时发生错误 (ValidationException):目标 site.la-01 输入中的 JSON 语法错误:[源:(String)“这是一个输入”;行:1,列:5
其他信息:
感谢您的帮助!
如果我写会有什么不同
@Model(adaptables=SlingHttpServlet.class)?
我有以下 golang 代码,它试图访问数组上的元素,我期望打印 bxar ,但它会抛出错误,有什么想法吗?
package main
import (
"encoding/json"
"fmt"
)
type Data struct {
Args struct {
Foo string
}
}
func main() {
in := `[{"args": {"foo": "bar"}},{"args": {"foo": "bxar"}}]}`
var d []Data
json.Unmarshal([]byte(in), &d)
fmt.Println("Foo:", d[1].Args.Foo)
//fmt.Printf("Result: %+v", d)
}
Run Code Online (Sandbox Code Playgroud) 我一直在这个文件上得到一个OutOfMemory错误,我不知道为什么.
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class Sgrep {
private String name;
public String field2;
public String go;
File File;
public String end;
Sgrep(String File0, String first) {
go = File0;
File = new File(File0);
name = first;
}
public String getFilename() {
return go;
}
public String search() {
try {
if (name == null) {
System.out.println("You cannot give a null string.");
}
BufferedReader yo = new BufferedReader(new FileReader(File));
StringBuffer bruh = new StringBuffer();
String …Run Code Online (Sandbox Code Playgroud)