小编joh*_*nny的帖子

AWS Cloudwatch事件putTargets未添加Lambda事件源

我正在通过aws sdk调用aws cloudWatchEvent putRule和PutTarget api来创建cloudWatch规则并将目标附加到它.我的目标是一个lambda函数,规则被创建,目标附加到规则但当规则根据其计划触发时,目标lambda函数不会触发.所以我进一步看了一下,发现没有添加lambda函数下的事件源,这使得它不会触发.如果我通过AWS控制台创建规则和目标,则会创建事件源并且一切正常但不是API.

amazon-web-services amazon-cloudwatch aws-sdk aws-lambda

9
推荐指数
2
解决办法
2002
查看次数

Postgres查询运行速度很慢

SELECT st.id
FROM
       station st, strike s
WHERE s.srikedatetime > (current_timestamp - interval '20 seconds')  and srikedatetime < current_timestamp
    AND ST_Distance_Sphere(st.Geometry, s.strikepoint)/1000 <= st.radius
Run Code Online (Sandbox Code Playgroud)

这个想法是当一次打击命中时,它可能是基于站点监视半径的多个站点的边界.我需要选择在过去20秒内受到任何罢工影响的所有电台.在20秒内我可以进行数千次攻击,并且每20秒执行一次查询时,CPU会变高,查询需要几分钟才能完成.当CPU不高时,它以毫秒运行.

查询计划:

"Nested Loop  (cost=0.42..505110.20 rows=21 width=7)"
"  Join Filter: ((_st_distance(geography(a.Geometry), geography(s.strikepoint), 0::double precision, false) / 1000::double precision) <= (a.radius)::double precision)"
"  ->  Index Only Scan using dup_strike_constraint on strike s  (cost=0.42..8.45 rows=1 width=36)"
"        Index Cond: ((srikedatetime > (now() - '00:00:20'::interval)) AND (srikedatetime < now()))"
"  ->  Seq Scan on station  st  (cost=0.00..505084.86 rows=62 width=549)" …
Run Code Online (Sandbox Code Playgroud)

sql gis postgresql postgis postgresql-9.4

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

ag-grid webpack CSS无法访问网站

我在我的react应用程序中使用ag-grid,无法使CSS与Webpack一起使用。

网格看起来像这样

图片: 在此处输入图片说明

const path = require("path");
var webpack = require("webpack");
let HtmlWebpackPlugin = require("html-webpack-plugin");
let CopyWebpackPlugin = require("copy-webpack-plugin");
var BundleAnalyzerPlugin = require("webpack-bundle-analyzer")
  .BundleAnalyzerPlugin;
var BitBarWebpackProgressPlugin = require("bitbar-webpack-progress-plugin");
let plug = require("@babel/plugin-proposal-class-properties");
module.exports = {
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: "babel-loader"
        }
      },
      {
        test: /\.(png|woff|woff2|eot|ttf|svg)$/,
        loader: "url-loader?limit=100000"
      },
      {
        test: /\.css$/,
        use: "css-loader/locals"
      }
    ]
  },
  node: {
    fs: "empty"
  },
  context: path.join(__dirname, "Scripts", "src"),
  entry: {
    d1: "./entries/d1Page.js",
    h1: "./entries/h1Page.js",
    polyfills: …
Run Code Online (Sandbox Code Playgroud)

css reactjs webpack ag-grid ag-grid-react

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

CloudWatch Events规则限制

我可以在自己的AWS账户上创建的云监视最大规则数是多少。我可能有很多不同的规则,它们会按计划调用lambda函数。它是无限的吗?

amazon-web-services amazon-cloudwatch aws-lambda

5
推荐指数
3
解决办法
1864
查看次数

AWS SNS创建超时

调用Lambda函数时,它会创建SNS主题,向其添加订阅者,然后向其发布消息。发布消息后,它将删除主题。要创建的主题名称和订阅者将作为有效负载提供给lambda函数。

有时它会工作,有时会失败,Task timed out after x seconds因为我增加了Lambda超时时间,但仍然是同样的问题。

我挖了一点,发现

sns.createTopic(params, function(err, data) {
    if(err) {
        console.log('Error Creating SNS Topic:',err);
    } else {
        console.log('SNS Topic Created Successfully:',data);
    }
}
Run Code Online (Sandbox Code Playgroud)

永不返回,没有错误,没有数据,我看不到结果 console.log()

当它工作时,一切都很好,但是当它失败时,我看不到找到问题。

编辑:

因此,我做了更多的挖掘工作,我将SNS主题创建的超时时间默认为5分钟,现在为5秒。当失败发生时,我得到这个“

{ [TimeoutError: Connection timed out after 5000ms]
message: 'Connection timed out after 5000ms',
code: 'NetworkingError',
time: Thu Mar 30 2017 15:35:20 GMT+0000 (UTC),
region: 'us-east-1',
hostname: 'sns.us-east-1.amazonaws.com',
retryable: true }
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-sns aws-lambda

5
推荐指数
2
解决办法
718
查看次数

在AWS RDS上为Postgres安装pgAgent

是否可以在AWS RDS中为Postgres启用/安装pgAgent(作业调度程序)?我环顾四周,在AWS文档上找不到任何内容.

postgresql amazon-web-services pgagent aws-rds

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

使用 Lambda(节点)将图像从 SFTP 复制到 S3

我正在使用“ssh2-sftp-client”来完成这项工作。因此,如果我先将文件复制到 Lambda 的 /tmp/ 文件夹,然后将其上传到 s3,则基本上它可以正常工作。我想将读取流指向 s3 而不保存在 lambda /tmp/ 文件夹中。

所以基本上:

let sftp = new Client();
sftp.connect({
    host: Config.host,
    port: Config.port,
    username: Config.user,
    password: Config.password
}).then(() => {
    return sftp.list('/photos');
}).then((files) => {
    return get(files)
}).then((streams) => {
     return streamToString(streams)
}).then((dataArray) => {
    return uploadToS3.putBatch(Config,dataArray)
}).then(() => {
    return cleanSFTP();
}).then(() => {
    context.done();
}).catch((err) => {
    console.log('Catch Error: ', err);
    context.fail();
});
Run Code Online (Sandbox Code Playgroud)

从 sftp 获取读取流:

  function get(files) {
        return Promise.all(files.slice(0, 2).map((file) => {
            fileList.push(file.name);
            return sftp.get(BASIC_URL + '/' …
Run Code Online (Sandbox Code Playgroud)

sftp amazon-s3 node.js ssh2-sftp aws-lambda

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

将NetCDF(.nc)转换为GEOTIFF

.nc身边300MB的文件大小与一对夫妇的数据集(的TEMPDEWPOINT)的预测数据。我需要将(TEMP)数据集转换为多个GEOTIFF.tif每个时间片一个)。

这是.nc文件的外观。

在此处输入图片说明

调查了这个答案,但似乎是针对整个数据集的。

我尝试过GDAL但不确定如何在每个时间片中使用它。

有什么想法吗?netcdf4-蟒蛇?

python gis gdal netcdf geotiff

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

AWS SNS 动态订阅

我们有一个奇怪的要求,我们想根据客户正在监控的资产向他们发送短信。每个资产可以有 100 个订阅者,并且有 1000 个资产,因此显然,我们不能为每个资产创建一个 SNS 主题。我们在 AWS 上的 RDS 实例中拥有资产及其订阅者列表。

无论如何,SNS 是否可以使其订阅者列表动态化,每次我们向其发布消息时,我们还提供该消息应发送到的订阅者列表?我的其他选择或其他 AWS 服务有哪些?也许是拉姆达?请指教。谢谢

amazon-sqs amazon-web-services amazon-sns aws-lambda

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

在 react-native-map 中切换 maptype

我有与谷歌一起运行的 IOS 和 Android 的 react-native 地图。有没有办法mapType在 react-native expo 应用程序中启用像谷歌地图应用程序那样的图层切换器?以便用户可以切换地图类型(标准、卫星、....)

代码的简化版本

constructor(props) {
  super(props);
  this.state = {
    mapRegion: null,
    markers: [],
    mapType: null
  };
}

switchMapType() {
  console.log('Changing');
  this.state.mapType = 'satellite'
}

render() {
  return (
    <MapView
      provider="google"
      mapType={this.state.mapType}
    >
      <Icon
        onPress={this.switchMapType} 
      />
    </MapView>
  );
}
Run Code Online (Sandbox Code Playgroud)

state 内部时出现未定义错误switchMapType()

android ios react-native react-native-maps

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

AWS Cognito 和 API 网关身份验证

我在 API 网关(身份验证:AWS_IAM)下设置了一个 GET 方法,并且有一个带有开发人员身份的 Cognito 池。我在 get 方法后面有一个 lambda。

当我调用 Cognito 时,我会获得临时凭证并承担一个角色。我担任的角色具有在 API 网关上执行和访问所有内容的适当权限。

       ...
       {
            "Effect": "Allow",
            "Action": [
                "execute-api:Invoke"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "apigateway:GET"
            ],
            "Resource": [
                "*"
            ]
        }
        ...
Run Code Online (Sandbox Code Playgroud)

当我使用此设置调用 API 网关时,我收到 500,内部服务器错误。

如果我从策略中删除上述 API 网关权限,那么我会得到 403 error forbidden (User: arn:aws:sts::xxxxx:assumed-role/Cogn_Auth_Role/xxx is not authorized to perform: execute-api:Invoke on resource: arn:aws:execute-api:us-east-1:xxxx:xxx/xxx/GET/events

如果我去并将 附加AdminAccess到这个角色,那么一切正常。这里有什么交易?我错过了什么吗?

amazon-web-services amazon-iam amazon-cognito aws-lambda aws-api-gateway

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

延长 AWS 临时安全凭证的有效期

当调用AssumeRole时,我们可以设置从900秒(15分钟)到最大3600秒(1小时)的时间。默认值为 1 小时。这能超过1个小时吗?比如12小时?

amazon-web-services amazon-cognito aws-api-gateway aws-sts

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