标签: serverless

无服务器Web套接字服务器?

是否有任何无服务器技术允许构建无服务器的websocket服务器?

我知道长时间运行连接的本质是它们是有状态的,但如果唯一的状态是传输层的连接本身那么似乎可能有一个无服务器的产品将其抽象出来,所以你只处理应用层.是否有云提供商(AWS,Azure等)允许这样做?我无法看到AWS Lambda或Azure Functions实现此目的的方法.

有人有任何想法吗?只是检查.

谢谢

azure amazon-web-services websocket serverless

11
推荐指数
2
解决办法
3593
查看次数

如何在CloudFormation模板中描述AWS Lambda函数测试事件?

我将在CloudFormation模板中描述现有的AWS Lambda函数,然后面对下一个问题。在Lambda中,我们配置了一些测试事件,这些事件可以帮助我们验证一些用例(我的意思是下面的屏幕截图中的功能)。

在此处输入图片说明

但是我看不到将这些测试事件添加到CloudFormation模板的任何功能。AWS文档对此无济于事。这完全有可能吗,或者有任何变通办法如何导出和导入Lambda函数测试事件?

amazon-web-services aws-cloudformation aws-lambda serverless

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

从云功能(python)写入Google云端存储

我正在尝试从云功能中将文件上传到谷歌云存储.但是,我无法将云存储库导入到我的函数中.

可以通过这种方式从云功能中使用云存储吗?

云功能

from google.cloud import storage

def upload_blob(bucket_name, blob_text, destination_blob_name):
    """Uploads a file to the bucket."""
    storage_client = storage.Client()
    bucket = storage_client.get_bucket(bucket_name)
    blob = bucket.blob(destination_blob_name)

    blob.upload_from_string(blob_text)

    print('File {} uploaded to {}.'.format(
        source_file_name,
        destination_blob_name))

def log_data(request):
    request_json = request.get_json()
    BUCKET_NAME = 'my-bucket'
    BLOB_NAME = 'test-blob'
    BLOB_STR = '{"blob": "some json"}'

    upload_blob(BUCKET_NAME, BLOB_STR, BLOB_NAME)
    return f'Success!'
Run Code Online (Sandbox Code Playgroud)

错误

Deployment failure:
Function load error: Code in file main.py can't be loaded.
  File "/user_code/main.py", line 1, in <module>
    from google.cloud import storage
ImportError: cannot …
Run Code Online (Sandbox Code Playgroud)

python google-cloud-storage google-cloud-platform google-cloud-functions serverless

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

在 CDK 中配置 lambda 并发

我正在尝试通过 CDK 提供 lambda 并发性。我有几个 CfnFunctions,我需要配置它们。

只能在别名上进行配置。因此,当我将 autoPublishAlias 添加到 CfnFunction 时,APIG 触发器不起作用。

如何通过 CDK 实现(配置)供应?

谢谢,维诺德。

amazon-web-services aws-lambda serverless aws-cdk

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

FUNCTION_ERROR_INIT_FAILURE AWS 拉姆达

我最近添加了很酷的 lambda 功能配置并发

经过几次成功部署后,我现在面临这个问题

无服务器错误 -------------------------------

ServerlessError:发生错误:GraphqlPrivateProvConcLambdaAlias - 无法应用预置并发配置。原因:FUNCTION_ERROR_INIT_FAILURE。在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:125:33 来自上一个事件:在 AwsDeploy.monitorStack (C:\Users\theod\AppData \Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:28:12) 在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib \updateStack.js:107:28 来自之前的活动:在 AwsDeploy.update

这是我的示例 serverless.yml 文件

service: backend-api

parameters:
  region: ap-southeast-2
  path: &path /

provider:
  name: aws
  runtime: nodejs12.x
  stage: ${env:STAGE, 'staging'}
  region: ap-southeast-2
  versionFunctions: true

plugins:
  - serverless-webpack
  - serverless-pseudo-parameters
  - serverless-prune-plugin
  # - serverless-offline-scheduler
  - serverless-offline

functions:
  # GRAPHQL APIs
  graphqlPrivate:
    handler: src/graphql/private/index.handler
    memorySize: 256
    timeout: 30
    name: ${self:service}-gqlPrivate-${self:provider.stage}
    vpc: ${file(./serverless/vpc.yml)}
    events:
        - http:
            path: /graphql/private
            method: ANY
            cors: true …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js aws-lambda serverless-framework serverless

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

在 Google Cloud 中运行 Prefect flow serverless 的最佳实践

我已经开始将 Prefect 用于各种项目,现在我需要决定 GCP 上哪种部署策略最有效。最好我想无服务器工作。比较 Cloud Run、Cloud Functions 和 App Engine,我倾向于选择后者,因为它没有超时限制,而其他两个有 9 个响应。15分钟。

我有兴趣了解人们如何无服务器部署 Prefect 流,以便调度/触发流以进行批处理,而代理在不使用时会自动缩小。

或者,更经典的方法是在Compute Engine上部署 Prefect并通过 Cloud Scheduler 进行调度。但我觉得这有点过时,并没有充分体现 Prefect 的功能和未来发展的灵活性。

google-cloud-platform serverless prefect

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

S3:HeadObject - 返回 403 响应

我有一个无服务器服务,在 serverless.yml 文件中使用以下配置运行:

service: tableau-export-rest

custom:
  dev:
    tableauBookmarksBucket: tmt-${self:provider.stage}-tableau-bookmarks
  qa:
    tableauBookmarksBucket: tmt-${self:provider.stage}-tableau-bookmarks
  prod:
    tableauBookmarksBucket: tmt-${self:provider.stage}-tableau-bookmarks

provider:
  name: aws
  runtime: nodejs12.x
  region: eu-west-1
  stage:  ${opt:stage, 'dev'}
  timeout: 900
  memorySize: 3008
  environment:
    TABLEAU_BOOKMARKS_BUCKET: ${self:custom.${self:provider.stage}.tableauBookmarksBucket}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
        - s3:GetObject
        - s3:ListBucket
      Resource: "arn:aws:s3:::${self:custom.${self:provider.stage}.tableauBookmarksBucket}/*"
    - Effect: Allow
      Action:
        - lambda:InvokeFunction
      Resource: "arn:aws:lambda:*"

functions:
  saveBookmark:
    handler: index.saveBookmark
    timeout: 30
    events:
      - http:
          path: /save-bookmark
          method: post
          cors: 
            origin: '*'
Run Code Online (Sandbox Code Playgroud)

saveBookmark函数看起来像这样:

  const params = {
    Bucket: process.env.TABLEAU_BOOKMARKS_BUCKET,
    Key: 'ABC123' …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-s3 amazon-web-services serverless

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

无服务器:使用私有Python包作为依赖项

我有一个使用私有Git(在Github上)repo上的Python无服务器项目.

Requirements.txt文件如下所示:

itsdangerous==0.24
boto3>=1.7
git+ssh://git@github.com/company/repo.git#egg=my_alias
Run Code Online (Sandbox Code Playgroud)

项目的配置主要是这样的

plugins:
  - serverless-python-requirements
  - serverless-wsgi
custom:
  wsgi:
    app: app.app
    packRequirements: false
  pythonRequirements:
    dockerizePip: true
    dockerSsh: true
Run Code Online (Sandbox Code Playgroud)

当我使用此命令进行部署时:

sls deploy --aws-profile my_id --stage dev --region eu-west-1
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

  Command "git clone -q ssh://git@github.com/company/repo.git /tmp/pip-install-a0_8bh5a/my_alias" failed with error code 128 in None
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我怀疑我为Github访问配置SSH密钥的方式或无服务器包的配置.

python pip serverless-framework serverless

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

生产就绪的Google Cloud功能是什么样的?

我刚开始使用Google Cloud Functions完成整个无服务器的事情,所有的例子基本上都是"Helloworld".

package function

import (
    "net/http"
)

func F(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello, World!\n"))
}
Run Code Online (Sandbox Code Playgroud)

生产就绪功能是什么样的?

go google-cloud-platform google-cloud-functions faas serverless

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

如何在 apollo-server-lambda 中处理 cookie

使用 apollo-server-lambda 在 lambda 无服务器中设置 cookie

我正在从 apollo-server 迁移到无服务器版本。有没有办法可以访问响应对象或其他方式来设置 cookie?

context: ({ event, context }) => ({
   headers: event.headers,
   functionName: context.functionName,
   event,
   context,
 }),
Run Code Online (Sandbox Code Playgroud)

我期望在上下文中可以像在 apollo-server 中一样访问 res 对象。

lambda graphql apollo-server serverless

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