我有一个circle.yml这样的文件:
dependencies:
override:
- meteor || curl https://install.meteor.com | /bin/sh
deployment:
production:
branch: "master"
commands:
- ./deploy.sh
Run Code Online (Sandbox Code Playgroud)
当我推送到Github时,我收到错误:
/home/ubuntu/myproject/deploy.sh returned exit code 126
bash: line 1: /home/ubuntu/myproject/deploy.sh: Permission denied Action failed: /home/ubuntu/myproject/deploy.sh
Run Code Online (Sandbox Code Playgroud)
当我运行deploy.sh文件外部的命令(下commands)时,一切运行正常.
circle.yml文件中的所有内容似乎都与CircleCI文档中的示例一致.我做错了什么?
我想通过命令行向DynamoDB表添加一个项目,但是我遇到了类型错误.
我想要添加的数据非常简单:
{
"id": "1"
}
Run Code Online (Sandbox Code Playgroud)
我正在运行的命令同样简单:
aws dynamodb put-item --table-name my_table --item '{ "id": "1" }'
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Invalid type for parameter Item.id, value: 1, type: <type 'unicode'>, valid types: <type 'dict'>
Run Code Online (Sandbox Code Playgroud)
我来自JavaScript背景,所以我不熟悉dict类型.根据我从我读过的一些资料中理解,这是一个Python的东西?如何将我的数据更改为DynamoDB可以处理的内容?
以从CloudWatch计时器处理ping的方式包装函数的最佳方法是什么?例如,采用下面的lambda函数:
export const fn = (event, context, callback) => {
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
}
Run Code Online (Sandbox Code Playgroud)
如果我ping函数,它将会出错,因为CloudWatch请求中没有queryStringParameters.从技术上讲,这仍然可以保持Lambda函数的温暖(这是我的目标),但我不想有一个不必要的错误列表.
我注意到CloudWatch允许您包含(可能)传递给Lambda函数的输入:
包装上面的函数以便它可以接受ping的最聪明的方法是什么?理想情况下它看起来像这样:
export const fn = (event, context, callback) => {
if (event.ping) return ping(callback) // the ping function is an import to stay DRY
const { year, make, model, } = event.queryStringParameters
return otherFn({ year, make, model, })
.then(res => response(callback, res))
.catch(err => console.log(err))
} …Run Code Online (Sandbox Code Playgroud) lambda amazon-web-services amazon-cloudwatch aws-lambda serverless-framework
我的应用程序中有一些部分无法承受由Lambda功能在新的或未使用一段时间后经历的"冻融"循环引起的额外1-2秒延迟.
如何保持这些Lambda函数的温暖,以便AWS不必一直重新配置它们?这适用于1)不经常使用的功能和2)最近部署的功能.
理想情况下,有一个我错过的设置称为"保持温暖",这增加了Lambda函数的成本,但始终保持函数温暖并准备响应,但我很确定这不存在.
我想一个选择是使用CloudWatch计时器来经常ping这些函数......但这对我来说是错误的.此外,我不知道AWS用于将Lambda函数置于冰上的时间间隔.
是否可以使用Lerna(lernajs.io)和React Native?我正在尝试使用以下结构创建新项目:
MyApp
packages
myapp-core
myapp-mobile
myapp-web
Run Code Online (Sandbox Code Playgroud)
lerna bootstrap似乎没有任何问题同core或web,但mobile(这是一个阵营本地项目)拒绝找到myapp-core模块.
我记得npm link在React Native中存在一些问题.是什么导致了这个问题?这个功能最终会存在吗?
我想将未编译的文件保存到Github,稍后运行CircleCI webpack来编译它.我似乎无法让这个工作......
machine:
node:
version: 5.10.1
dependencies:
override:
- npm install
- npm install webpack -g
- webpack
test:
override:
- npm test
deployment:
staging:
branch: master
heroku:
appname: heroku-app-123
Run Code Online (Sandbox Code Playgroud)
Webpack似乎确实已经运行,因为我在CircleCI中得到以下输出:
哈希:db00c1
e4b7e0aa25c885
Version: webpack 1.12.14
Time: 10581ms
Asset Size Chunks Chunk Names
/images/iphone.png 79.9 kB [emitted]
/images/macbook.png 117 kB [emitted]
/images/temp.png 16.1 kB [emitted]
bundle.js 2.38 MB 0 [emitted] main
style.css 19.9 kB 0 [emitted] main
[0] multi main 52 bytes {0} [built]
...
Run Code Online (Sandbox Code Playgroud)
但不幸的是,当它被部署时,没有呈现任何内容,这告诉我webpack实际上没有运行.如果我在webpack本地运行命令并推送到Github,一切正常,但我不想依赖我记得在推送之前编译我的应用程序.
我的webpack编译步骤是在错误的地方吗?我该如何解决这个问题? …
我遇到的情况是,由于我正在处理的项目的要求/意见,我必须将package.json文件保存在嵌套目录中。见下文:
/my-app
|-- /functions
|-- /node_modules
|-- package.json
Run Code Online (Sandbox Code Playgroud)
我现在多次遇到的问题是,我npm i <package>从内部运行/my-app,并且/my-app/functions没有意识到这一点,最终我花费了不必要的时间调试我的应用程序,因为我将包安装在错误的位置。
有没有办法创建一个根级package.json文件,只告诉 NPM,“嘿,如果你要安装某些东西,请在另一个目录中进行。”?例如:
/my-app
|-- package.json <-- add this
|-- /functions
|-- /node_modules
|-- package.json
Run Code Online (Sandbox Code Playgroud)
也许package.json根目录中的文件看起来像这样?
{
"installDirectory": "/functions"
}
Run Code Online (Sandbox Code Playgroud)
此功能可能已经存在,但我无法在文档中找到它。该--prefix标志类似,但它不会自动处理我所描述的情况。
我有一个TextInput功能作为某些结果的搜索/过滤器。结果显示在一个ScrollView.
我遇到的问题是,当状态处于focus时,用户必须点击两次才能选择中的TextInput项目(这是 a ) 。TouchableOpacityScrollView
第一次点击将关闭键盘和blur,第二次点击将选择该项目。对于我的特定情况来说,这不是理想的用户体验......而且我不确定是否有解决方法。
有没有办法让 aTextInput处于某种focus状态时可以选择某个项目,以避免选择项目的两次点击过程?
我有一个包含大量资源(一堆 DynamoDB 表、lambda 函数等)的应用程序,显然我遇到了 200 个资源的硬限制。具体错误是:
Template format error: Number of resources, 204, is greater than the maximum allowed, 200
Run Code Online (Sandbox Code Playgroud)
错误消息很清楚,但我想知道我的选择是什么。最坏的情况是,我可以将应用程序分成几部分。是否有其他替代策略?
我有一些不同的服务(由无服务器框架生成)需要相互通信。数据敏感,需要身份验证。
我当前的策略是为每个服务创建一个 api 密钥,使用 json web 令牌在服务之间进行通信,如下所示的令牌。
fM61kaav8l3y_aLC/3ZZF7nlQGyYJsZVpLLiux5d84UnAoHOqLPu4dw3W7MiGwPiyN
Run Code Online (Sandbox Code Playgroud)
服务之间通信还有哪些其他选项?这种方法有什么缺点吗?重申一下,请求需要经过身份验证并适当处理敏感数据。
amazon-web-services aws-lambda aws-api-gateway serverless-framework
我正在使用Meteor 1.0.
我有一个Template.*name*.rendered功能,可以进行大量的计算.在计算结束时,我希望输出进入一个Template.*name*.helpers所以我可以在相应的html页面中使用它.
这是代码的简化版本:
Template.myTemplate.rendered = function () {
var x = Math.random();
Template.otherTemplate.helpers({
randomNum: x
});
}
Run Code Online (Sandbox Code Playgroud)
当我打电话{{randomNum}}时otherTemplate,没有任何反应.
我也试过把Template.*name*.helpers外面的Template.*name*.rendered,在这种情况下,我得到错误:
Uncaught ReferenceError: x is not defined
Run Code Online (Sandbox Code Playgroud)
思考?
aws-lambda ×3
circleci ×2
npm ×2
react-native ×2
aws-cli ×1
bash ×1
lambda ×1
lerna ×1
meteor ×1
meteor-blaze ×1
templates ×1
webpack ×1