【发布时间】:2020-11-25 21:26:37
【问题描述】:
我正在尝试创建一个 lambda 函数,该函数将检查 codecommit 中是否存在特定的存储库。 Lamda 服务角色具有管理员权限。下面是代码。 lambda 无法调用 getRepository 方法。它既没有给出任何例外,也没有通过。对此有什么帮助吗? console.log("Before call cc") 这是最后打印的语句。之后我没有得到任何成功或错误日志。
const CloudFormation = require('aws-sdk/clients/cloudformation');
const Codecommit = require('aws-sdk/clients/codecommit');
exports.handler = async (event) => {
try{
console.log("event",event);
console.log("event",JSON.stringify(event));
var repositoryName = event.detail.repositoryName;
var cfn = new CloudFormation({
region: "ap-northeast-1"
});
var cc = new Codecommit({
region: "ap-northeast-1"
});
const stackName = repositoryName+"-infra-stack";
var cloneUrl;
console.log("RepositoryName"+repositoryName);
console.log("StackName"+stackName);
var codeCommitParam = {
repositoryName: repositoryName
};
try{
console.log("Before calling cc")
cc.getRepository(codeCommitParam, function(err, data) {
if (err){
console.log(err, err.stack);
}else {
console.log(data.repositoryMetadata.cloneUrlHttp);
cloneUrl=data.repositoryMetadata.cloneUrlHttp;
console.log("Clone url "+cloneUrl);
checkStackDescription();
}
});
}catch(error){
console.log(error);
}
}
【问题讨论】:
-
您有活动示例吗?
-
lambda 的超时时间是多少?
-
是的.. 这是事件
{ version: '0', id: '***', 'detail-type': 'CodeCommit Repository State Change', source: 'aws.codecommit', account: '***', time: '2020-08-05T07:40:51Z', region: '***', resources: [ '*' ], detail: { callerUserArn: '***', commitId: *** event: 'referenceUpdated', oldCommitId: '****', referenceFullName: 'refs/heads/master', referenceName: 'master', referenceType: 'branch', repositoryId: '***', repositoryName: 'custom-ui-pipeline' } } -
@NghiaDo 超时为 4 分钟。
标签: amazon-web-services aws-lambda aws-sdk aws-sdk-nodejs