标签: sam

Cloudformation Cognito - 如何通过SAM模板设置App Client设置,域和联合身份

我已经将我的cognito用户池cloudformation模板工作,并将其集成到我的api网关.但不知何故,我仍然需要手动配置应用客户端设置,域和联合身份,以便为用户提供有效的登录门户.我一直在寻找自动化这些的可能解决方案,但我似乎无法找到任何接近它的东西.

我想通过cloudformation sam模板自动配置应用客户端设置,域和联合身份,因此我不必手动执行这些操作.

任何建议都非常感谢.谢谢.

(附件已发布以获取更多信息)

yaml sam amazon-web-services aws-cloudformation cognito

23
推荐指数
4
解决办法
9742
查看次数

How to add environment variables in template.yaml in a secured way?

When creating Lambda function through the SAM CLI using template.yaml, I have to pass few environment variables, and they shouldn't be exposed on GitHub. Is there any way I can refer the environment variables in template.yaml through the .env file?

I didnt find any sources for the same.

Sample code snippet from template.yaml:

Properties:
  CodeUri: student /
  FunctionName: list
  Handler: index.listHandler
  Runtime: nodejs14.x
  Environment: 
    Variables:
      MONGODB_URI: mongodb://username:pwd
Run Code Online (Sandbox Code Playgroud)

sam aws-cloudformation aws-lambda aws-sam-cli

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

修复 AWS API 网关不存在的 CORS“响应预检...”标头并放大

我一直在为下面的错误而苦苦挣扎。我已经尝试了很多教程和 stackoverflow 答案,但没有一个解决方案可以解决我的问题。

从源“ http://localhost:3000 ”访问 XMLHttpRequest at ' https://xxx '已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:否 'Access-Control-Allow-Origin ' 请求的资源上存在标头。

我正在使用 SAM 无服务器来创建我的 api。

模板.yaml:

Globals:
  Function:
    Timeout: 10
  Api:
    Cors:
      AllowMethods: "'DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'"
      AllowHeaders: "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'"
      AllowOrigin: "'*'"
Run Code Online (Sandbox Code Playgroud)

我的 lambda 函数: 我的 GET 响应和 OPTIONS 响应都返回以下标头:

headers: {
  "Access-Control-Allow-Headers": "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token'",
  "Access-Control-Allow-Origin": "'*'",
  "Access-Control-Allow-Methods": "'DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT'"
}
Run Code Online (Sandbox Code Playgroud)

我的 API 使用放大进入我的 ReactJs 应用程序:

API.get(apiName, path, {
   headers: {
      "Access-Control-Allow-Origin": "*",
      // "Access-Control-Allow-Headers": "Content-Type,X-Amz-Date,Authorization,X-Api-Key,x-requested-with",
      // "Access-Control-Allow-Methods": "OPTIONS,POST,GET,PUT,DELETE",
      // 'Content-Type': 'application/json'
   }
})
Run Code Online (Sandbox Code Playgroud)

我已经在我的 template.yaml、我的 lambda 函数和我的 reactJs 项目中尝试了 Access-Control-Allow-Headers、Access-Control-Allow-Methods …

javascript sam aws-cloudformation aws-api-gateway aws-serverless

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

PythonPipBuilder:ResolveDependencies - {numpy==1.20.3(wheel)}

sam build 失败并出现以下错误:

错误:PythonPipBuilder:ResolveDependencies - {numpy==1.20.3(wheel)}

我试过sam build --use-container,但得到同样的错误。

sam amazon-web-services

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

使用无服务器框架与 aws sam 的优缺点是什么?

我想选择一个框架来构建和部署 AWS 服务,我需要有一个完整的优缺点列表来证明一个框架优于另一个。由于此论坛不希望人们只是发表意见,因此请在回复中提供参考。另外,我想听听使用任何这些框架部署生产解决方案的人的意见。

frameworks sam amazon-web-services serverless

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

如何在 SAM 模板中设置阶段名称

我想在 SAM template.yaml 中为 API 网关设置阶段名称。但无论我尝试什么,我都没有成功。无需尝试命名我的舞台,一切都按预期进行,但使用默认的舞台名称 Prod 和 Stage。

我的 sam-cli 版本是 0.47.0

我确实在 Stackoverflow 上找到了三个类似的问题,但没有一个答案对我有用。

我总是收到这样的错误:

Unresolved resource dependencies [ServerlessRestApi] in the Outputs block of the template
Run Code Online (Sandbox Code Playgroud)

那么我如何获得一个我自己选择的艺名。如果 Prod 和 Stage 与我选择的名称共存,我不太在意。

为了完整起见,我的 template.yaml 文件如下:

Unresolved resource dependencies [ServerlessRestApi] in the Outputs block of the template
Run Code Online (Sandbox Code Playgroud)

我可能不明白这背后的预期工作流程。为什么在 API 网关指向的 lambda 函数时有 2 个阶段名称,是相同的?

我将拥有 'dev' 和 'prod' 环境,但它们将使用不同的堆栈名称,因此我永远不会混淆不同的环境。

我总是使用 deploy-dev.sh 和 …

sam amazon-web-services

10
推荐指数
2
解决办法
3395
查看次数

AWS SAM Deploy,如何查找API Gateway的URL?

从命令行部署后如何找到API网关的URL地址?

我使用类似于下面的脚本来部署我的API网关和授权器,它部署得很好.

https://github.com/floodfx/aws-lambda-proxy-using-sam-local/blob/master/deploy.sh

我试图弄清楚如何从命令行获取部署后的API网关的地址

API网关被创建,我可以看到堆栈:

aws cloudformation describe-stacks
Run Code Online (Sandbox Code Playgroud)

https://github.com/floodfx/aws-lambda-proxy-using-sam-local/blob/master/deploy.sh

必须有一个简单的命令我不知道这个.

sam amazon-web-services aws-api-gateway

7
推荐指数
2
解决办法
4678
查看次数

我如何自定义 sam 构建以通过 ssh 并访问我在 GitHub 上的私有存储库?

我创建了一堆 lambda 函数,并使用 ide pycharm 在我的本地主机上测试它们。在 requirements.txt 文件中,我添加了对 github 上私有存储库的引用。

存储库工作正常,我能够通过其他项目的 requirements.txt 安装它。

但是当我开始本地测试时,使用 aws sam cli,sam buil 失败,因为容器没有访问存储库的 ssh 密钥。

有什么方法可以自定义 sam 构建过程并将我的 ssh 密钥提供给容器访问我的私有仓库并安装包?

或者任何其他解决方案?

ssh containers sam aws-lambda

7
推荐指数
1
解决办法
561
查看次数

SAM 部署失败错误 - 服务员 StackCreateComplete 失败:服务员遇到终端故障状态

当我尝试在 SAM 上部署包时,云形成控制台中的第一个状态是 ROLLBACK_IN_PROGRESS,之后更改为 ROLLBACK_COMPLETE

我尝试删除堆栈并重试,但每次都会出现同样的问题。终端中的错误看起来像这样 -

Sourcing local options from ./SAMToolkit.devenv
SAM_PARAM_PKG environment variable not set
SAMToolkit will operate in legacy mode.
Please set SAM_PARAM_PKG in your .devenv file to run modern packaging.
Run 'sam help package' for more information
Runtime: java
Attempting to assume role from AWS Identity Broker using account 634668058279
Assumed role from AWS Identity Broker successfully.
Deploying stack sam-dev* from template: /home/***/1.0/runtime/sam/template.yml
sam-additional-artifacts-url.txt was not found, which is fine if there is no additional artifacts …
Run Code Online (Sandbox Code Playgroud)

sam aws-cloudformation

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

今天从 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
查看次数