小编Man*_*ngh的帖子

针对100,000个主题限制的AWS SNS解决方法

我正在使用带有APNS和GCM的AWS SNS开发推送通知的架构.我关注的模型是

  • 每个用户(非设备)将具有与其对应的SNS主题
  • 每个用户可以拥有多个设备
  • 为每个设备创建平台应用程序端点
  • 将平台应用程序端点订阅到属于设备用户的主题

这样,当我们必须向用户的所有设备发送通知时,我们需要publish使用用户调用该方法,topicArn并且其所有设备都应该获取消息.

但是,默认情况下,AWS的主题限制为100,000个.如果我们预计会有更多的用户(如100万或1000万)保持乐观,那么这种方法是否有任何解决方法?

我应该要求AWS提前提高限额吗?他们容易将限制增加到1亿这样的数字吗?是否有任何成本含义大部分都没有在开始的几个月内使用?

amazon-web-services amazon-sns

12
推荐指数
2
解决办法
3560
查看次数

Docker Desktop for Windows:无法在Windows容器模式下访问公开端口上的服务

我正在使用以下Dockerfiles在运行Docker Desktop for Windows 17.03版的Windows 10桌面上的Windows容器中创建运行Jenkins的容器

FROM microsoft/windowsservercore

RUN powershell -Command wget 'http://javadl.oracle.com/webapps/download/AutoDL?BundleId=210185' -Outfile 'C:\jreinstaller.exe' ; Start-Process -filepath C:\jreinstaller.exe -passthru -wait -argumentlist "/s,INSTALLDIR=c:\Java\jre1.8.0_91" ; del C:\jreinstaller.exe

ENV JAVA_HOME c:\\Java\\jre1.8.0_91  
RUN setx PATH %PATH%;%JAVA_HOME%\bin

CMD [ "java.exe" ]
Run Code Online (Sandbox Code Playgroud)

我从这个docker文件创建图像:

docker build -t windows-java:jre1.8.0_91 .
Run Code Online (Sandbox Code Playgroud)

我用来安装Jenkins的第二个Dockerfile:

FROM windows-java:jre1.8.0_91

ENV HOME /jenkins  
ENV JENKINS_VERSION 2.58  
RUN mkdir \jenkins  
RUN powershell -Command "wget -Uri https://updates.jenkins-ci.org/latest/jenkins.war -UseBasicParsing -OutFile /jenkins/jenkins.war"

EXPOSE 8080  
EXPOSE 50000  

CMD java -jar C:\\jenkins\\jenkins.war


docker build -t jenkins-windows:2.0 . …
Run Code Online (Sandbox Code Playgroud)

docker docker-for-windows docker-desktop

12
推荐指数
3
解决办法
6989
查看次数

Postgres:将数据从一个数据库的公共模式移动到另一个数据库的新模式的最佳方法

我是Postgres的新手,刚刚发现我无法在一个SQL查询中访问不同数据库的数据.并且还学习了Postgres中的模式概念.

现在,我有两个数据库

db1和db2

两者都在其公共模式中具有相同名称的表.

现在,我想在db1中使用名称:new_schema创建一个新模式

并将数据从db2.public移动到db1.new_schema

最简单的方法是什么?

database postgresql pg-dump postgresql-9.3

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

AWS API 网关:状态代码 413,请求实体太大

我有一个带有 AWS API Gateway 和 Lambda 函数的无服务器 API。我正在使用自定义授权功能进行授权。标题太大,因此我收到此错误。通常,对于 nginx 服务器,我会更改 nging 配置,这将得到修复。我不知道如何在 AWS API Gateway 中处理这个问题。

aws-lambda aws-api-gateway

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

Sails.JS使用skipper上传文件,访问原始文件名和动态上传路径

我想使用skipper上传一个简单的文件.早些时候,可以使用req.files访问通过表单上传的文件,但是在Sails 0.10.x中,默认情况下安装了skipper,req.files是未定义的.而不是使用req.file('filename')来访问该文件.

我可以通过简单的文件上传来查看文档.但是,我希望能够在上传之前访问文件名,并且还需要

  • 根据上传的用户将文件上传到动态创建的目录
  • 新创建的文件的名称应为oldFileName + _ +整数时间戳

我如何使用skipper模块执行此操作,或者更有效的方法是什么?

编辑
到目前为止,我已经能够做到这一点,但我希望必须有一个更好的方法.

为了访问文件名,我使用了这个表达式

var inputFileName = req.file('inputFile')._files[0]["stream"]["filename"];
Run Code Online (Sandbox Code Playgroud)

我可以看到,如果目录不存在,则会根据上传参数中给出的文件路径和名称自动创建目录

file-upload sails.js skipper

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

日期格式是否存在任何grok {}模式YYYY/MM/DD HH:mm:ss?

我正在检查我们服务器上的nginx错误日志,发现它们的日期格式为:

2015/08/30 05:55:20
Run Code Online (Sandbox Code Playgroud)

YYYY/MM/DD HH:mm:ss.我试图找到一个现有的grok日期模式,这可能有助于我快速解析,但遗憾的是找不到任何这样的日期格式.最终,我不得不把模式写成:

%{YEAR}/%{MONTHNUM}/%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}? 
Run Code Online (Sandbox Code Playgroud)

我仍然希望是否有更短的模式?

logstash logstash-grok

7
推荐指数
3
解决办法
4万
查看次数

在帆升降机上出现笨拙的错误

我在帆升降机上遇到这个错误.

Sails版本:v0.10.0-rc11

error: Grunt :: module.js:340
    throw err;
          ^
Error: Cannot find module '/home/mandeep/freelance/hellos/node_modules/sails/node_modules/grunt-cli/bin/grunt'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3
info: 
Run Code Online (Sandbox Code Playgroud)

我尝试过全局卸载grunt然后重新安装,但它无法正常工作

gruntjs sails.js

6
推荐指数
2
解决办法
4290
查看次数

Elasticsearch:如何将聚合范围扩展到您的查询和过滤器?

我一直在使用elasticsearch查询和过滤一段时间但以前从未使用过聚合.我们可以使用我们的查询来定义聚合的想法对我来说似乎相当惊人,但我想要了解如何正确地做到这一点,这样我就不会犯任何错误.目前我的所有搜索查询都是这样设计的:

{
    "query": {

    },
    "filter": {

    },
    "from": 0,
    "size": 60
}
Run Code Online (Sandbox Code Playgroud)

现在,当我添加一些聚合桶时,结构变为:

{
    "aggs": {
      "all_colors": {
        "terms": {
          "field": "color.name"
        }
      },
      "all_brands": {
        "terms": {
          "field": "brand_slug"
        }
      },
      "all_sizes": {
        "terms": {
          "field": "sizes"
        }
      }
    },
    "query": {

    },
    "filter": {

    },
    "from": 0,
    "size": 60
}
Run Code Online (Sandbox Code Playgroud)

但是,无论我在过滤器中提供什么信息,聚合的结果总是相同的.

现在,当我将查询结构更改为类似的内容时,它开始显示不同的结果:

{
    "aggs": {
      "all_colors": {
        "terms": {
          "field": "color.name"
        }
      },
      "all_brands": {
        "terms": {
          "field": "brand_slug"
        }
      },
      "all_sizes": {
        "terms": {
          "field": "sizes" …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

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

FCM是否适用于AWS SNS?

我正在为我们的应用程序开发推送通知架构.我计划将AWS-SNS与APNS和GCM结合使用.Google现在建议对新应用使用FCM(Firebase云消息传递)而不是GCM.我想了解FCM是否与SNS兼容,或者可能存在一些问题?有没有解决方法?

android amazon-web-services amazon-sns google-cloud-messaging firebase-cloud-messaging

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

iOS Chrome 不会像 Safari 那样在设置应用程序中打开 .mobileconfig 文件

我正在.mobileconfig通过可下载链接与我们组织中的人员共享 Apple 配置文件(文件)。对于那些将 Safari 作为默认 Web 浏览器的用户,单击该链接将打开“设置”应用程序来安装配置文件。但是,对于许多将 Chrome 作为默认浏览器的用户来说,只需下载该文件即可。有一个“打开方式...”选项,但单击它会显示“此设备上没有应用程序可以打开此文件”。一种方法是告诉用户在 Safari 中打开链接。有没有其他方法可以自动从 Chrome 打开安装?我可以将链接放在网页上并围绕它构建一些 JavaScript 逻辑,但不确定我到底需要做什么才能在设置应用程序中打开链接。

javascript ios

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