部署 lambda 函数时如何从无服务器获取 API 网关 ID 作为输出部分

2024-02-02

我想在无服务器的输出部分获取API网关的ID,然后将其转换为我的API URL“https://fgh5t4tjm2.execute-api.us-east-1.amazonaws.com/dev”在另一个无服务器中使用。

下面是我通过在无服务器脚本中创建 lambda 来设置的 api 网关。我认为这是无服务器所做的更隐藏的创作之一,只需在 lambda 上设置一个事件,它就会为您创建一个 api 网关。我不确定它是否在 serverless.yml 的输出部分输出 API 网关 ID。

这就是我的无服务器的样子。

service: my-service

provider:
  name: aws
  stage: ${opt:stage, 'dev'}
  runtime: nodejs12.x
  region: ${env:AWS_REGION}
  stackName: my-stack-name

plugins:
  - serverless-dotenv-plugin

functions:
  GetCallHistory:
    handler: lambdas/getCallHistory.GetCallHistory
    environment:
      CH_CW_LOG_GROUP_NAME: ${env:CH_CW_LOG_GROUP_NAME}
    description: This lambda queries cloudwatch logs and retrieves the call history using a contactId.
    role: GetCallHistoryRole
    events:
      - http:
          path: callhistory/{contactId}
          method: get
          cors: true
          authorizer:
            name: CognitoPoolAuthorizer
            type: COGNITO_USER_POOLS
            arn: ${env:COGNITO_USER_POOL_ARN}
resources:
  #Lambda Roles
  - ${file(resources/lambdaRoles.yml)}

我不确定在哪里输出部分将放入我的无服务器中以及要写什么才能获取 API ID 或 URL。


很好的问题:我仍然有一个可用的 template.yml (虽然它是 JSON 格式,但只是假装它是 yml)!

只需参考您资源范围内的“ApiGateWay”

"ApiGatewayApi": {
  "Type": "AWS::Serverless::Api",
  "Properties": {
    "StageName": { "Ref": "environment" },
    "DefinitionBody": "",
    "EndpointConfiguration": "REGIONAL"
  }
},

下面是我如何在 url 中引用并输出资源的示例:

"Outputs" : {
    "ApiURL" : {
        "Description" : "API endpoint URL for ${environment} environment",
        "Value" : { "Fn::Sub" : "https://${ApiGatewayApi}.execute-api.${AWS::Region}.amazonaws.com/${environment}/" }
    },
    "RestApiId" : {
        "Value" : { "Ref" : "ApiGatewayApi" } 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

部署 lambda 函数时如何从无服务器获取 API 网关 ID 作为输出部分 的相关文章

  • AWS S3 GetObject 是否提供随机访问?

    I can 提供 HTTP Range 标头 https docs aws amazon com AmazonS3 latest API API GetObject html API GetObject RequestSyntax到 AWS
  • 为什么我会收到 ElasticBeanstalk::ExternalInitationError?

    我的应用程序基于 RubyOnRails 构建 并使用乘客部署为弹性 beanstalk 应用程序 我尝试向 nginx 服务器添加标头并重新启动它 这是我的配置文件 是 aws elastic beanstalk 中 ebextensio
  • 如何测试 jest Node JS 中 AWS 内置方法中使用的 .promise() 方法

    我想对其进行完整的单元测试 下面给出了我的函数的代码 function js async function sesSendEmail message var ses new aws SES apiVersion 2020 12 01 var
  • 使用 Amazon SQS 的 .net 应用程序示例

    我正在寻找一个示例 Net 应用程序 该应用程序会持续检查 Amazon SQS 是否有新消息 并在发现新消息时执行一项操作并将其从队列中删除 我的目标是让一个在 EC2 上运行的应用程序监视我的 SQS 队列中的新消息 当找到一条消息时
  • 如何在AWS中从快照创建Windows实例

    我的公司想要在 Amazon Web Service 中拍摄窗口的每日快照 我们可以毫无问题地拍摄快照 但是当我尝试从快照创建实例时 它总是创建一个 Linux ami 所以当服务器启动时 它总是无法通过健康检查 是否可以从快照创建 Win
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li
  • 检查SQS队列是否为空的有效方法

    我有一个SQS Queue多个主机从中读取消息 我想在处理队列中的所有消息后运行一些作业 业务逻辑 如何检查队列是否为空 是的 我可以检查ApproximateNumberOfMessages and ApproximateNumberOf
  • 如何在亚马逊AWS上加载ena驱动程序?

    我正在尝试在 Ubuntu VM 上加载 ena 驱动程序 根据文档 我的虚拟机有vif低性能驱动程序 ubuntu ip 172 31 14 190 ethtool i eth0 driver vif version firmware v
  • 如何使用无服务器框架中的多个路径参数

    我正在尝试部署我的无服务器应用程序 但遇到如下问题 An error occurred ApiGatewayResourceServicesServiceidVar A sibling id of this resource already
  • AWS Lambda 不读取环境变量

    我正在编写一个 python 脚本来查询 Qualys API 中的漏洞元数据 我在 AWS 中将其作为 lambda 函数执行 我已经在控制台中设置了环境变量 但是当我执行函数时 出现以下错误 module initialization
  • 通过updateTable创建多个GSI

    我在用着更新表 http docs aws amazon com AWSJavaScriptSDK latest AWS DynamoDB html updateTable property根据 DynmaoDB 的规定 根据文档 如果我们
  • Spark s3 写入(s3 与 s3a 连接器)

    我正在从事一项在 EMR 上运行的作业 它在 s3 上保存了数千个分区 分区为年 月 日 我有过去 50 年的数据 现在 当 Spark 写入 10000 个分区时 使用以下命令大约需要 1 小时s3a联系 它非常慢 df repartit
  • 如何在 NextJS 中设置 AWS-SDK 凭证

    我需要从 NextJs 应用程序将一些文件上传到 S3 由于它是服务器端 我的印象是简单地设置环境变量应该可以工作 但事实并非如此 我知道还有其他选择 例如为 EC2 分配角色 但我想使用 accessKeyID 和 SecretKey 这
  • Docker Build 找不到 pip

    尝试关注一些 1 https aws amazon com blogs aws run docker apps locally using the elastic beanstalk eb cli 2 http docs aws amazo
  • 从 Docker 容器中获取 AWS 实例元数据?

    是否有一种直接的方法可以从 Docker 容器内访问 AWS 实例元数据 例如 当尝试在 EC2 实例上获取 IAM 角色的凭证时 这将适用于实例本身 http 169 254 169 254 latest meta data iam se
  • 在 AWS Glue 中覆盖动态框架中的镶木地板文件

    我使用动态框架在 S3 中写入镶木地板文件 但如果文件已存在 我的程序会附加一个新文件而不是替换它 我用的句子是这样的 glueContext write dynamic frame from options frame table con
  • 在哪里可以找到 AWS Amplify Logger 日志

    我目前正在开发一个使用 AWS Amplify 创建的 Web 应用程序 我必须在其中实现日志记录 基于AWS 放大文档 https docs amplify aws lib utilities logger q platform js有一
  • AWS Import-image 用户无权访问 S3 对象

    运行 AWS Amazon Web Services 导入映像任务时 aws ec2 import image description My OVA disk containers file c TEMP containers json 我
  • 尝试安装 AWS CLI,卡在一个步骤上

    我正在尝试为 mac 命令行安装 aws 我想我不明白我需要做什么 我在终端上安装了带有 wget 的 aws 捆绑包 解压后它完成了所有操作 但是当我需要配置我的凭据时 什么也没有出现把aws配置 以下是说明 http docs aws
  • AWS CodeBuild - 如何跳过构建

    我的构建是在每次推送到存储库和每次拉取请求时触发的 因此 CODEBUILD SOURCE VERSION 看起来像 pr 8 或 4570d2e7158cfef687af8da31d1ffec7b02e5ca3 我只希望为 pr 分支执行

随机推荐

  • 继承公共接口的枚举中的代码重复

    我有几个符合通用接口的枚举 interface TableColumns String getColumnName int getColumnIndex ColumnType getColumnType boolean isEditable
  • 用C++计算字符串的MD5

    我有一个很好的内存映射文件示例 用于计算文件的 MD5 哈希值 效果很好 没有任何问题 我想改变它来计算字符串的 MD5 哈希值 所以例子是 包括 include
  • 任务计划程序 - 在未登录的情况下运行任务时访问非本地驱动器

    我在 win 调度程序中有一个每分钟运行的任务 该任务运行一个 bat 文件 SVN 会更新一系列文件夹 然后执行一个 perl 脚本 该脚本又会运行其他几个脚本 Perl 脚本的输出 日志 按日期 时间标记 被发送到共享驱动器 而不是任务
  • 弃用警告:危险的查询方法:ActiveRecord >= 5.2 中的随机记录

    到目前为止 common https stackoverflow com a 25577054 2995613从数据库获取随机记录的方法是 Postgress Model order RANDOM first MySQL Model ord
  • 将 ToolStripMenuItem 动态添加到 MenuStrip (C#/ Winforms)

    我已经实施了我的解决方案 基本解决方案 我很高兴 问题是 当我使用 Add 方法向 ToolStripItemCollection 添加新项目时 我得到了一些重载 有意义的重载是字符串参数 图像参数和 EventHandler 参数 因为我
  • 验证三个立方之和等于 33:在 R 中失败,在 Python 中有效

    最近 找到了以下方程的整数解 x 3 y 3 z 3 33 也就是说 它适用于x 8866128975287528 y 8778405442862239 z 2736111468807040 https en wikipedia org w
  • GnuPGME:GPG 签名 C++

    有没有人写过任何教程或有任何关于如何使用的文档GnuPGME http www gnupg org related software gpgme index en html所以我可以编写一个函数 例如gpgSign std string f
  • Session具体是做什么的?为什么不把ip和域名session看成一样呢?

    我想知道session具体有哪些 这不限于一种语言 下面仅以 php 为例 我使用 php session 当我使用我的网站域名时它运行良好 为了在 Windows 操作系统上的本地 vmvare ubuntu 中测试该网站 我更改了 Wi
  • 从中心即时裁剪图像 - Javascript?

    我有一堆图像 它们的宽度和高度各不相同 有些是正方形 有些是矩形 但我希望它们全部都是我选择的宽度和高度 我知道我可以在中使用 width 和 height 那么 我正在寻找的是一个可能的 javascript 解决方案 也许使用 jQue
  • 扩展默认类(SmallInteger)

    我正在尝试使用新的实例方法 square 来扩展 SmallInteger 类 我的想法是我希望能够调用 5 square 它会返回 25 使用实例方法扩展您自己的类相当简单 因为您知道变量名称 但我不知道 SmallInteger 类中的
  • 替换所有与正则表达式匹配的匹配项

    我有一个正则表达式 用于搜索包含以下内容的字符串 00 or 11 如下 00 11 我想做的是将所有与模式匹配的出现替换为 X00X or X11X 例如 字符串 00 0 11 会导致 X00X 0 X11X 我正在研究 Python
  • 使用 ReactJS 映射数组的数组

    所以我想做的是映射数组的数组 首先 我从简单开始并开始工作 一个简单的国家 地区数组 嗯 国家 地区代码 countries map value index gt return span h2 Hello world h2 hr span
  • 在 CustomScrollView 中使用 StreamBuilder 和 SliverLists

    我正在尝试使用StreamBuilder获取数据 我想使用显示该数据SliverList全部在一个CustomScrollView这样我就可以利用附带的功能CustomScrollView 关于如何实现这一目标有什么想法吗 当然 这很简单
  • 使用单个控制器控制多个 html5 音轨

    我正在尝试为网站实现一个非常小的音频播放器 界面相当简单 它有一个播放 暂停按钮和一个静音 取消静音按钮 我遇到的问题是为不同的曲目实现同一播放器的多个实例 播放器的 javascript 是 jQuery function var myA
  • 多个 ACS 网址

    我们使用 PingFederate 进行 SSO 并且是 SP 发起的 Ping Federate 将像 Idp 一样行事 对于应用程序 有 2 个网络服务器 用于高可用性 我的问题是 1 我们可以提供两个默认的url 在控制台中只能设置一
  • 如何使用 Gson 反序列化 ConcurrentMap

    我正在尝试反序列化一个具有ConcurrentMap但我得到了一个例外 Caused by java lang IllegalArgumentException Can not set java util concurrent Concur
  • 访问 Meteor 中的 node.js 文件系统模块

    我正在创建一个网络应用程序 它将编辑存储在用户硬盘上的一些配置文件 并决定尝试一下 Meteor 我想使用 Node js 的文件系统模块来处理配置文件的 I O 但我无法弄清楚如何包含该模块 经过一番搜索 我在 StackOverlow
  • 使用 Google Drive .NET API 创建文件的空响应

    我正在尝试使用 Google Drive NET API v3 将文件上传到我的云端硬盘 我的代码如下 static string Scopes DriveService Scope Drive DriveService Scope Dri
  • CUDA:从内核调用 __device__ 函数

    我有一个内核调用deviceif 语句中的函数 代码如下 device void SetValues int ptr int id if ptr threadIdx x id question related to here ptr thr
  • 部署 lambda 函数时如何从无服务器获取 API 网关 ID 作为输出部分

    我想在无服务器的输出部分获取API网关的ID 然后将其转换为我的API URL https fgh5t4tjm2 execute api us east 1 amazonaws com dev 在另一个无服务器中使用 下面是我通过在无服务器