tl;博士
中设置的环境变量zappa_settings.json不作为环境变量上传到 AWS Lambda。他们去哪里?
ts;wm
我使用 Zappa 框架配置、部署和管理了一个 Lambda 函数。在zappa_settings.json我已经设置了一些环境变量。当我的应用程序成功运行时,这些变量肯定存在,但是,当我尝试在控制台或 AWS CLI 中检查 Lambda 函数环境变量时,我发现没有环境变量上传到 Lambda 函数本身。
摘自 zappa_settings.json:
{
"stage-dev": {
"app_function": "project.app",
"project_name": "my-project",
"runtime": "python3.7",
"s3_bucket": "my-project-zappa",
"slim_handler": true,
"environment_variables": {
"SECRET": "mysecretvalue"
}
}
}
Run Code Online (Sandbox Code Playgroud)
的输出aws lambda get-function-configuration --function-name my-project-stage-dev:
{
"Configuration": {
"FunctionName": "my-project-stage-dev",
"FunctionArn": "arn:aws:lambda:eu-west-1:000000000000:function:my-project-stage-dev",
"Runtime": "python3.7",
"Role": "arn:aws:iam::000000000000:role/lambda-execution-role",
"Handler": "handler.lambda_handler",
"CodeSize": 12333025,
"Description": "Zappa Deployment",
"Timeout": 30,
"MemorySize": 512,
"LastModified": "...",
"CodeSha256": "...",
"Version": "$LATEST",
"TracingConfig": { …Run Code Online (Sandbox Code Playgroud) 解决了
以下问题只是由我的 Lambda 中构造的响应对象的 body 属性引起的。我忘记对数据进行字符串化,body: data而不是返回body: JSON.stringify(data). 这个响应问题似乎触发了 API Gateway 的错误,导致请求失败并出现一些相当混乱的错误消息。
问题
我正在使用 React、Serverless 和 Stripe API 开发电子商务网站。我的前端 React 应用程序正在使用 Axios 向我的 Lambda 函数发出 GET 请求,该函数已通过 API 网关公开。Lambda 函数依次查询 Stripe API 并将 Stripe 响应数据返回给我的 React 应用程序。但是,当我的 React 应用程序尝试调用 Lambda 时,我遇到了 CORS 问题,它收到以下错误:
Failed to load: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 502.
Run Code Online (Sandbox Code Playgroud)
在 Insomnia 中查询 Lambda 终端节点会返回 502 响应 …
aws-lambda aws-api-gateway serverless-framework axios http-status-code-502
class Foo:
bar: str
class Bat(Foo):
@property
def bar(self) -> str:
...
Run Code Online (Sandbox Code Playgroud)
鉴于上面的代码,我的类型检查器(mypy)提出了以下抱怨:
error: Signature of "bar" incompatible with supertype "Foo" [override]
Run Code Online (Sandbox Code Playgroud)
这让我感到惊讶,因为从访问属性/属性的调用者的角度来看,Foo或的实例的Bat行为是相同的bar。类型检查器通过拒绝此代码来防止什么问题?
我有一个B基于分支的分支master,我想改用B分支A。
我的问题是分支A是基于关闭较早的承诺master比B,所以当我尝试和重订B到A它把所有提交的历史master,因为A是从它分裂。
通常我会通过交互式 rebase 来解决这个问题并手动删除不需要的提交,但是在这种情况下,以这种方式处理的提交太多。我要的是一个命令,让我放弃分支所有提交B它与最后的共同祖先之间A和尖端master。
IE。从分支删除下图中的提交 2-5 的命令B
* 099b4f7 (HEAD -> master) commit_6
| * a4b6a50 (B) some other commit
|/
* 80cfbbc commit_5
* 49c40c9 commit_4
* 2923714 commit_3
* f78ee3c commit_2
| * f6d3601 (A) some commit
|/
* df753e1 commit_1
Run Code Online (Sandbox Code Playgroud) aws-lambda ×2
python ×2
axios ×1
git ×1
inheritance ×1
mypy ×1
typechecking ×1
typing ×1
zappa ×1