以下是YAML格式的示例云形成文件。想法是使Route53记录依赖于RDS数据库的创建,然后在其创建后从RDS数据库的端点获取值。
我在这些参考文档中进行了大量研究,但始终无法正确获取语法。
您可以看到它应该有一个返回值,但是我不确定如何获取它并将其用于route53 cName记录名称。
resources:
Resources:
uploadBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: ${self:custom.uploadBucket}
RDSDatabase:
Type: AWS::RDS::DBInstance
Properties:
Engine : mysql
MasterUsername: ${env:RDS_USERNAME}
MasterUserPassword: ${env:RDS_PASSWORD}
DBInstanceClass : db.t2.micro
AllocatedStorage: '5'
PubliclyAccessible: true
#TODO: The Value of Stage is also available as a TAG automatically which I may use to replace this manually being put here..
Tags:
-
Key: "Name"
Value: ${self:custom.databaseName}
DeletionPolicy: Snapshot
DNSRecordSet:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneName: mydomain.com.
Name: database-${self:custom.stage}.mydomain.com
Type: CNAME
TTL: '300'
ResourceRecords:
- [[Put End Point Here]] …Run Code Online (Sandbox Code Playgroud) amazon-rds aws-cloudformation amazon-route53 serverless-framework serverless
当我尝试部署到aws时,由于缺少“ path”属性或该属性无效,导致出现错误。
无服务器部署-v #要么 无服务器运行--watch
# serveless file
service:
name: aws-nodejs-ecma-script
# Add the serverless-webpack plugin
plugins:
- serverless-webpack
provider:
name: aws
runtime: nodejs6.10
functions:
events_get:
handler: get.handler
events:
- http:
method: get
path: test
Run Code Online (Sandbox Code Playgroud) amazon-web-services aws-lambda serverless-framework serverless
所以我们目前在最近的项目中使用无服务器,我们的客户端为我们提供了aws iam用户,因为我们将部署到他们的aws资源中.问题是他们不会向用户提供create s3策略.s3存储桶的创建将由他们手动完成.那么在serverless.yml中我可以添加他们创建的s3存储桶并且无服务器将其用作部署存储桶而不是创建新存储桶?
当我使用此函数中func new --name MyHttpTrigger --template "HttpTrigger"没有function.json创建的方法添加新函数时,当我尝试将其添加到当前目录并运行时func start --build,出现此错误:
你可以在这里找到我的function.json内容:
{
"disabled": false,
"bindings": [
{
"authLevel": "anonymous",
"name": "req",
"type": "httpTrigger",
"direction": "in"
},
{
"name": "res",
"type": "http",
"direction": "out"
}
]
}
Run Code Online (Sandbox Code Playgroud)
namespace final
{
public static class httpTrigger
{
[FunctionName("httpTrigger")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger …Run Code Online (Sandbox Code Playgroud) 在 AWS Lambda 中,我的函数会将 S3 中的文件保存到/tmp目录中,如下所示:
local_filepath = '/tmp/file.txt'
s3.download_file(
Bucket=bucket,
Key=key,
Filename=local_filepath
)
Run Code Online (Sandbox Code Playgroud)
生活很好。
然而,使用 Serverless 是另一回事。
相同的设置会导致以下错误:
[Errno 2] No such file or directory: '/tmp/processed.txt.7E4850BD'
所以我猜想/tmp在无服务器执行环境中没有目录。
我试图将文件保存到当前目录,使用local_filepath = 'file.txt',但出现OSError(30, 'Read-only file system')错误。
python amazon-web-services aws-lambda serverless aws-serverless
无服务器不会创建 CloudWatch Events 作为 lambda 的触发器。没有警告或错误。
functions:
aggregate:
handler: statistics.handler
events:
- schedule:
rate: rate(10 minutes)
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 AWS 基础设施上使用无服务器部署现有的 Node js 应用程序。
我的 yaml 是这样的:
service: todo-app-api
provider:
name: aws
runtime: nodejs10.x
functions:
app:
handler: server.run
events:
- http:
path: /
method: ANY
cors: false
- http:
path: /{proxy+}
method: ANY
cors: false
plugins:
- serverless-offline
Run Code Online (Sandbox Code Playgroud)
SLS 部署工作正常,并且可以很好地创建 lambda 和其他资源。但是当调用获取内部服务器错误时,当我看到 aws 日志时,它给出的错误详细信息为
"errorType": "Error",
"errorMessage": "Unsupported framework",
"stack": [
"Error: Unsupported framework",
" at getFramework (/var/task/node_modules/serverless-http/lib/framework/get-framework.js:69:9)",
" at module.exports (/var/task/node_modules/serverless-http/serverless-http.js:14:21)",
" at Object.<anonymous> (/var/task/server.js:31:22)",
" at Module._compile (internal/modules/cjs/loader.js:778:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)",
" at Module.load (internal/modules/cjs/loader.js:653:32)", …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS 并使用无服务器框架。我的无服务器 lambda 函数被事件触发。然后我与数据库交谈,我可以用数据库打开的连接数量有限制。
所以我只想一次运行 5 个 lambda 函数并将其他事件排入队列。我知道有:
provisionedConcurrency: 3 # optional, Count of provisioned lambda instances
reservedConcurrency: 5 # optional, reserved concurrency limit for this function. By default, AWS uses account concurrency limit
Run Code Online (Sandbox Code Playgroud)
因此,在这种情况下,指定数量的长时间运行的作业将在那里,它们将为事件提供服务。
但我想要的不是事件排队,而是触发函数,以便一次最多运行 5 个函数。
我想知道 AWS 是否支持这种事件排队的概念?
aws-lambda serverless-framework serverless-architecture serverless aws-serverless
我想将我的 Cloud Run 应用程序连接到 Postgres Cloud SQL 实例而不为该实例分配公共 IP。似乎唯一的方法是使用无服务器 VPC 访问连接器。
文档表明无服务器 VPC 访问连接器按每 100Mbps 1 个 e2-micro 实例计费。这是否表明连接器只是一个单一的 e2-micro VM?是否在幕后配置了任何冗余/自动故障转移?
我找不到无服务器 VPC 访问的任何 SLA,我担心这可能是我的应用程序的单点故障,导致所有数据库连接中断。
google-cloud-sql google-cloud-platform serverless google-cloud-run
serverless ×10
aws-lambda ×4
amazon-rds ×1
azure ×1
c# ×1
deployment ×1
django ×1
live ×1
python ×1
zappa ×1