小编mre*_*rre的帖子

如何(正确)在AWS Lambda函数中使用外部凭据?

我有一个(非常基本但完美的)AWS lambda函数,用Python编写,但是有嵌入的凭据连接到:1)外部Web服务2)DynamoDB表.

该函数的作用非常基本:它针对服务POST(登录凭证#1),然后将部分响应状态保存到DynamoDB表中(使用AWS凭证#2).

这些是该功能的相关部分:

h = httplib2.Http()
auth = base64.encodestring('myuser' + ':' + 'mysecretpassword')
(response, content) = h.request('https://vca.vmware.com/api/iam/login', 'POST', headers = {'Authorization':'Basic ' + auth,'Accept':'application/xml;version=5.7'})
Run Code Online (Sandbox Code Playgroud)

然后

conn = boto.connect_dynamodb(aws_access_key_id='FAKEhhahahah',aws_secret_access_key='FAKEdhdhdudjjdjdjhdjjhdjdjjd')
Run Code Online (Sandbox Code Playgroud)

如何通过在函数内部不使用这些凭据来清理代码?

仅供参考此功能计划每5分钟运行一次(没有其他外部事件触发它).

python boto amazon-web-services amazon-iam aws-lambda

7
推荐指数
1
解决办法
1867
查看次数

密钥中有空格时的语法

这让我疯了.

我有一个看起来像这样的JSON:

{
"gateways": [
    {
        "DHCP": "On",
        "External IPs": "46.244.46.66",
        "Firewall": "On",
        "NAT": "Off",
        "Name": "gateway",
        "Routed Networks": "photon, default-routed-network",
        "Selected": "*",
        "Syslog": "",
        "Uplinks": "d5p6v51-ext",
        "VPN": "Off"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

我可以轻松地提取大多数键的值.

例如

jq --raw-output .gateways[0].Name
gateway
Run Code Online (Sandbox Code Playgroud)

然而,我真正需要得到的是"External IPs"价值,我无法弄清楚如何管理空间.

我试过了

jq --raw-output .gateways[0].'External IPs'

jq --raw-output .gateways[0].`External IPs`

jq --raw-output .gateways[0]."External IPs"
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用.

任何提示?

jq

6
推荐指数
1
解决办法
6300
查看次数

如何从 JavaScript 运行 WASM 模块

我正在使用 wasmer 及其包管理器 wapm 来玩 WASM。我可以轻松安装Figlet WASM 包(如此处所述并在本地运行它:

\n
ubuntu@ip-172-31-1-78:~$ wapm execute figlet it works\n _ _                        _        \n(_) |_  __      _____  _ __| | _____ \n| | __| \\ \\ /\\ / / _ \\| \'__| |/ / __|\n| | |_   \\ V  V / (_) | |  |   <\\__ \\\n|_|\\__|   \\_/\\_/ \\___/|_|  |_|\\_\\___/\n                                     \nubuntu@ip-172-31-1-78:~$ \n
Run Code Online (Sandbox Code Playgroud)\n

作为试验 WASM 的一种方法,我想获取figlet.wasm系统上安装的文件并在浏览器中运行它。

\n

我已经启动了本地 nginx 服务,并将figlet.wasm根文件夹中

\n
    \n
  1. 索引.html
  2. \n
\n
<!doctype html>\n\n<html lang="en">\n<head>\n  <meta …
Run Code Online (Sandbox Code Playgroud)

javascript webassembly

6
推荐指数
0
解决办法
985
查看次数

解析文本文件以匹配字符串和提取值(在Golang中)

我正在摸索似乎有可能常见的需求,但我无法在网络上找到任何示例.

我有这样一个文件:

  answer VNET_1_DHCP yes
  answer VNET_1_DHCP_CFG_HASH 4CF2C196E368CE83B9D1895C5E05301CDFDEBCA0  
  answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
  answer VNET_1_HOSTONLY_SUBNET 192.168.224.0
  answer VNET_1_VIRTUAL_ADAPTER yes
  answer VNET_8_DHCP yes
  answer VNET_8_DHCP_CFG_HASH D326C0BC7FF6C38C57AF341F9075E576C175B250
  answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
  answer VNET_8_HOSTONLY_SUBNET 172.16.102.0
  answer VNET_8_NAT yes
  answer VNET_8_VIRTUAL_ADAPTER yes
Run Code Online (Sandbox Code Playgroud)

我需要提取特定子网的VNET号(192.168.224.0).VNET数量可能会有所不同(从理论上讲,子网甚至不存在).所以我需要匹配子网是否存在,如果存在则提取网络号(1在本例中).

我发现在BASH中实现它非常容易:

 if grep -q 192.168.224.0 ./networking; then
      echo "The ${VMNET_SUBNET} network already exists"
      NETWORK_NUMBER=$(grep ${VMNET_SUBNET} ./networking | cut -d'_' -f 2)
      echo NETWORK_NUMBER  
 else <do something to create it.....> 
Run Code Online (Sandbox Code Playgroud)

我试图找到使用Go实现这个的最简单方法.

谢谢.

go

3
推荐指数
2
解决办法
5092
查看次数

创建一个在Go中运行任意shell命令的函数

我试图在go中创建一个泛型函数,它接受输入shell命令(带参数)并执行它.

请注意,shell命令可能具有不同数量的参数.

我知道exec.Command()Go中输入("ls", "-la", "/var")命令+参数的格式.

以下剪辑的代码不起作用:

func exe_cmd(commandarray []string) {
var shell_command string = ""
for i := 0; i < len(commandarray); i++ {
                  shell_command = shell_command + " " + commandarray[i]
                  }
cmd := exec.Command(shell_command)
fmt.Println("Command is: ", shell_command)
fmt.Printf("==> Executing: %s\n", strings.Join(cmd.Args, " "))
out, err := cmd.Output()
fmt.Printf("OutVar: %s\n", out)
fmt.Printf("ErrVar: %s\n", err)
}

func dummy() {
dummycmd := []string{"ls", "-la", "/var"}
exe_cmd(dummycmd)
}
Run Code Online (Sandbox Code Playgroud)

在的结束forshell_command变量将包含"ls -la /var",我有一个很难弄清楚如何形成它的方式,就是输入格式要求,即 …

bash shell go

2
推荐指数
1
解决办法
134
查看次数