标签: sam

今天从 GitHub 操作构建 SAM 突然失败:模块“lib”没有属性“OpenSSL_add_all_algorithms”

昨天,我的 SAM 构建正在使用以下 GitHub 操作。今天突然开始失败并出现错误:

AttributeError:模块“lib”没有属性“OpenSSL_add_all_algorithms”

经我验证,SAM 模板没有任何错误;还有其他人面临这个问题吗?

name: SAM deploy
on:
  push:
    branches:
      - main
jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v3
      - uses: aws-actions/setup-sam@v2
      - uses: aws-actions/configure-aws-credentials@v1
        with:
          aws-access-key-id: ${{ secrets.MY_AWS_ACCESS_KEY_ID }}
          aws-secret-access-key: ${{ secrets.MY_AWS_SECRET_ACCESS_KEY }}
          aws-region: us-west-2
      - name: SAM Build
        run: sam build --use-container --template-file source/deploy-template.yml
      - name: SAM Deploy
        run: sam deploy --no-confirm-changeset --no-fail-on-empty-changeset --stack-name my-stack --resolve-s3 --capabilities CAPABILITY_IAM --region us-west-2 --parameter-overrides Environment=npd
Run Code Online (Sandbox Code Playgroud)

SAM 构建的 GitHub 操作错误详细信息

        Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud)

sam amazon-web-services github-actions

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

使用本地用户帐户在Windows上进行基于PHP表单的身份验证

我正在运行PHP,Apache和Windows.我没有域设置,所以我希望我的网站基于表单的身份验证使用Windows内置的本地用户帐户数据库(我认为它称为SAM).

我知道如果设置了Active Directory,您可以使用PHP LDAP模块在脚本中进行连接和身份验证,但是如果没有AD,则没有LDAP.独立机器的等价物是什么?

php windows apache authentication sam

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

多功能SAM模板的推荐项目结构

我有一个新项目,它需要的服务数量相对较少,可能只有 10 个或更少(因此将每个项目放在单独的项目存储库中并不经济)。每项服务都将通过 SAM 模板定义为 AWS::Serverless::Function。我的问题是:组织或构建此类项目的推荐方法是什么?

目前的结构是:

|- src
    |- lambdas
        |- service-one
            |- stuff
            |- package.json
        |- service-two
            |- stuff
            |- package.json
    |- other-stuff
|- test
|- package.json
Run Code Online (Sandbox Code Playgroud)

有没有办法避免让每个 lambda 充当自己的子项目package.json,等等?

sam aws-lambda aws-sam-cli

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

AWS SAM:我们可以使用 aws sam 模板中已有的 api 吗?

我有一个需要通过 Amazon API Gateway 触发的 lambda 函数。有没有办法将现有的 API(使用 AWS 控制台创建)包含到 AWS SAM 模板中?

api templates sam amazon-web-services

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

FunctionName 的调用容器没有响应

尝试使用命令将dockerized Lambda转发到我的本地主机

$ sam local start-api --docker-network host
Run Code Online (Sandbox Code Playgroud)

每次尝试访问 Lambda 时都会出错:

FunctionName 的调用容器没有响应

还尝试使用host.docker.internalhost.docker.local网络,但没有成功。

有任何想法吗?解决方法?

lambda sam amazon-web-services aws-sam-cli

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

AWS SAM - AWS::WAFv2::WebACLAssociation - AWS WAF 无法执行该操作,因为您的资源不存在

我们正在尝试在 SAM 模板中创建 AWS::WAFv2::IPSet。

WhitelistedIPAddressesIPSet:
    Type: AWS::WAFv2::IPSet
    Properties:
        Description: 'Merchant IPs'
        Scope: REGIONAL
        IPAddressVersion: IPV4
        Addresses: [0.0.0.0/32, 0.0.10.0/32]
Run Code Online (Sandbox Code Playgroud)

IP 集的创建已成功完成。创建 AWS::WAFv2::WebACLAssociation 后。

WAFApiAssociation:
    Type: AWS::WAFv2::WebACLAssociation
    DependsOn:
        - ApiGateway
        - WAFWebAcl
    Properties:
        ResourceArn: !Sub 'arn:aws:apigateway:${AWS::Region}::/restapis/${ApiGateway}/stages/${EnvType}'
        WebACLArn: !GetAtt WAFWebAcl.Arn
Run Code Online (Sandbox Code Playgroud)

CloudFormation 失败并进行回滚。显示错误如下:

Resource handler returned
ion message: "AWS WAF couldn?t
perform the operation
because your resource
doesn?t exist. (Service:
Wafv2, Status Code: 400,
Request ID: e337720a-e32c-
4c29-acde-1896855405c9,
Extended Request ID:
null)" (RequestToken: f24d
0488-3016-4030-3a3b-bbb246
66f130, HandlerErrorCode:
NotFound)
Run Code Online (Sandbox Code Playgroud)

我们尝试了 IP 集的 SAM 模板的不同格式,以查看是否会导致问题,但没有成功。

有人可以分享一些对此问题有用的见解吗?

sam amazon-web-services amazon-waf

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

创建具有不同集成的多个 API Gateway 阶段

我正在尝试创建一个与 API 网关关联的 lambda 函数。

每当部署新版本时,都会为该函数创建一个新的 lambda 版本,该版本将具有此 ARN arn:lambda_arn:[version]

此外,还需要创建一个新的 API 网关阶段并与该 lambda 版本集成。

当我部署 CF 堆栈时:

  • 创建新的 lambda 版本
  • 创建与该版本的 lambda 集成的 API Gateway 阶段
  • dev创建名为与 lambda 别名dev( ) 集成的API 网关阶段arn:lambda:dev,并保留此阶段,从 lambda 设置手动管理别名。

我已经尝试使用 sam cli yaml 模板以及 aws cdk 来实现此目的,但这是我面临的问题:

无法创建具有不同集成的多个 API Gateway 阶段,保留旧阶段

  • 在 cdk 中我只能创建 HttpApi 一次
http_api = apigwv2.HttpApi(self, "cdk_http_api")
Run Code Online (Sandbox Code Playgroud)

尽管我可以为该 HttpApi 创建多个阶段,但所有阶段都将具有完全相同的集成和路由。

创建部署会很有用,但即使我无法使用不同的集成(使用不同版本的 lambda)创建不同的部署

deployment = apigwv2.CfnDeployment(
    self, "first_deployment", api_id=http_api.api_id, stage_name="test"
)
Run Code Online (Sandbox Code Playgroud)

我也无法将它附加到舞台上!与下面提到的 ApiGatewayV1 不同

新创建的阶段将删除旧阶段,我无法追加新阶段 …

sam aws-api-gateway aws-sam-cli aws-sam aws-cdk

5
推荐指数
0
解决办法
554
查看次数

如何使用 localstack 部署 SAM 堆栈?

我编写了一个 SAM 堆栈,我可以在 AWS 上构建、打包和部署它。我也可以使用 start-local 或 invoke 来测试。现在我需要测试其他 AWS 资源。我已将这些资源添加到我的 SAM 模板中。它在 AWS 上运行良好,但我正在寻找一种在 localstack(例如本地 dynamodb)中部署我的 SAM 堆栈的方法。现在我必须使用 CLI 创建资源,然后我可以部署我的 SAM 堆栈(在这种情况下只有 lambda,API GW)。我怎样才能做到这一点?

sam amazon-web-services serverless localstack

4
推荐指数
1
解决办法
3697
查看次数

如何使用带有可选参数的覆盖参数将参数传递给 sam 模板

我想创建一个包含 lambda 和几个 sqs 的 SAM template.yml。我想使用参数来部署它,但不会填充所有 sqs,仅填充一些 sqs,具体取决于我需要部署它的环境。如何创建填充了部分参数的模板?

yaml sam

4
推荐指数
1
解决办法
9292
查看次数

Sam 在 intellij 中构建:错误:JavaMavenWorkflow:MavenBuild - 'utf-8' 编解码器无法解码位置 150889 中的字节 0xbb:无效的起始字节

我正在使用带有 Spring Boot 应用程序的 aws 无服务器架构。当我在 intellij 中使用 sam build 构建项目时,出现以下错误。

Building codeuri: . runtime: java11 metadata: {} functions: ['MedisproutApiFunction']
Running JavaMavenWorkflow:CopySource
Running JavaMavenWorkflow:MavenBuild

Build Failed
Error: JavaMavenWorkflow:MavenBuild - 'utf-8' codec can't decode byte 0xbb in position 150889: invalid start byte
Run Code Online (Sandbox Code Playgroud)

它没有显示任何其他错误详细信息。如果我删除新进行的代码更改(即使它没有任何编码代码),则不会出现此错误。请帮我解决这个问题。

已经检查过此链接,但没有找到答案。

通过intellij插件将Lambda更新到AWS

sam maven aws-lambda aws-sam-cli

4
推荐指数
1
解决办法
2868
查看次数