【问题标题】:Get name of Amazon Web Services Codecommit Repository in triggered Lambda function在触发的 Lambda 函数中获取 Amazon Web Services Codecommit 存储库的名称
【发布时间】:2016-06-07 06:38:22
【问题描述】:

我在我的 AWS CodeCommit 存储库中创建了一个触发器,该触发器在触发时运行一个 Lambda 函数。 Lambda 函数在我的开发服务器上调用一个脚本来执行 git pull。到目前为止一切顺利。

问题是我需要将触发触发器的存储库的名称或 ID 传递给开发机器,以便我可以 git pull 正确的存储库。那么我的问题是,如何调用在 Lambda 函数中触发 Lambda 函数的存储库的名称或 ID?

我的 Lambda 函数是用 Python 编写的。

我查看了http://docs.aws.amazon.com/lambda/latest/dg/welcome.html 的 Lambda 文档,但没有提及 CodeCommit。这可能是因为 CodeCommit 触发器是相当新的——只有几个月的历史。 http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html 有一些事件源文档。我按照http://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-lambda.html 上的教程创建了 Lambda 函数。

【问题讨论】:

    标签: python git amazon-web-services lambda aws-codecommit


    【解决方案1】:

    提取存储库的代码在 Python example 中。代码sn-p是:

    #Get the repository from the event and show its git clone URL
    repository = event['Records'][0]['eventSourceARN'].split(':')[5]
    

    存储库名称嵌入在 Lambda 函数接收的 ARN 中。

    【讨论】:

    • 谢谢。当我之前遵循该教程时,示例函数非常不同。似乎他们已经将其更新为更有用的东西
    • 有谁知道在哪里可以找到事件对象的文档? event.Records 中究竟包含什么?我想从事件中提取分支名称,但不知道事件包含什么
    猜你喜欢
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多