小编mal*_*ana的帖子

通过VPC端点的AWS专用API网关

首先,我对AWS非常陌生。这是我想要实现的目标:

  • 1个VPC
    • 2个子网
      • 1个包含某些EC2实例的公共
      • 1个私有,其中包含只能由EC2实例访问的API网关

公共子网运行良好,我可以访问SSH和HTTP。专用子网给我带来了一些麻烦。为了调试,我在其中启动了一个EC2实例。从一个“公共实例”中,我可以ping通“私有实例”的私有IP(显然没有公共IP)

根据文档,我在我的专用子网中创建了一个VPC端点,该端点创建了一个网络接口,在该接口中,我附加了一个安全组,该安全组允许整个VPC CIDR中的HTTP(S)(80和443)。端点类型为接口

所以,现在我有了一个带有允许HTTP(S)流量的端点的专用子网。该终结点具有一些(私有)DNS NAME,并且(可能)还有一个私有IP(找不到)

现在,我想添加一个API网关来添加一些AWS lambda。我创建了所说的API并作为端点类型->私有

遵循以下步骤:官方文档 将API网关“链接”到VPC端点的“唯一”方法是添加资源策略。所以我输入以下内容

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Deny",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:<REGION>:<MY ID>:<API GATEWAY ID>/*/*/<MY RESOURCE>",
        "Condition": {
            "StringNotEquals": {
                "aws:sourceVpce": "<VPC ENDPOINT ID>"
            }
        }
    },
    {
        "Effect": "Allow",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:<REGION>:<MY ID>:<API GATEWAY ID>/*/*/<MY RESOURCE>"
    }
]
Run Code Online (Sandbox Code Playgroud)

}

为了完整起见,这里是我的lambda(python3.6):

from __future__ import division
def lambda_handler(event, context):
  return {
      "statusCode":200,
      "headers": {"Content-Type": "application/json" },
      "body" : "It work!"
  } …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-api-gateway

5
推荐指数
1
解决办法
1267
查看次数

在R中,如何阻止xtable自动舍入?

在这种情况下如何禁用自动舍入?

> x <- c(2.222, 3.333, 6.6666)
> df <- data.frame(x)
> df
       x
1 2.2220
2 3.3330
3 6.6666
> xtable(df)
Run Code Online (Sandbox Code Playgroud)

结果是

% latex table generated in R 2.11.1 by xtable 1.5-6 package
% Tue Oct 25 12:13:08 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{rr}
  \hline
 & x \\ 
  \hline
  1 & 2.22 \\ 
  2 & 3.33 \\ 
  3 & 6.67 \\ 
   \hline
\end{tabular}
\end{center}
\end{table}
Run Code Online (Sandbox Code Playgroud)

我在xtable文档中找不到任何选项来关闭它.

r rounding dataframe xtable

4
推荐指数
1
解决办法
4181
查看次数

PHP中的正则表达式元字符\ w和\ pL

在5.3.4版本- 5.5.0beta1,是\w\pL相同呢?

 <?php
preg_match_all('#\w#u','???',$f);
var_dump($f);

preg_match_all('#\pL#u','???',$f);
var_dump($f);

array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(2) "?"
    [1]=>
    string(2) "?"
    [2]=>
    string(2) "?"
  }
}
array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(2) "?"
    [1]=>
    string(2) "?"
    [2]=>
    string(2) "?"
  }
}
Run Code Online (Sandbox Code Playgroud)

在在线PHP shell中尝试上面的代码片段

php regex

4
推荐指数
1
解决办法
1427
查看次数

如何将参数传递给 CloudFormation YAML 中的 Glue 作业?

您可以通过参数将参数传递给 AWS Glue 作业--arguments(请参阅此处)。

CloudFormation文档说DefaultArguments是“UTF-8字符串到UTF-8字符串键值对”,他们的类型是“JSON对象”。由于 YAML 是 JSON 的超集,我希望能够在 (YAML) CloudFormation 模板中传递这样的参数:

DefaultArguments:
  "--arguments": {"--test_argument": "foo"}
Run Code Online (Sandbox Code Playgroud)

但是,它会在 CloudFormation 部署期间引发此错误:

属性验证失败:[属性值 {/DefaultArguments/--arguments=} 与类型 {String} 不匹配]

如何正确指定值?

yaml aws-cloudformation aws-glue

3
推荐指数
1
解决办法
3670
查看次数

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

为什么在java中方法外的变量可以有重复的变量名?

我正在学习 Java,我知道您不能将内部作用域中声明的变量命名为与外部作用域中声明的变量相同的名称,如下所示

public class Practice {
    public static void main(String[] args){
        int x = 10;
        if (x == 10){
            int x = 10;
        }           
    }   
}
Run Code Online (Sandbox Code Playgroud)

但是,我注意到以下内容并不违法

public class Practice {
    int x = 10;
    public static void main(String[] args){
        int x = 10;
        if (x == 10) {
        }           
    }   
}
Run Code Online (Sandbox Code Playgroud)

这不是声明了两次的变量吗?

java

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

在Python中键入转换

有没有办法根据给定的值将Python对象从一种类型转换为另一种类型?

>>> first = 1
>>> second = '2'
>>> type(first)
<type 'int'>
>>> type(second)
<type 'str'>
Run Code Online (Sandbox Code Playgroud)

所以,我想转换first为任何给定second对象的类型.我不确定该怎么做.

python types

0
推荐指数
1
解决办法
99
查看次数