Пример #1
0
        public static ILocalLambdaRuntime Initialize(string directory)
        {
            if (!Directory.Exists(directory))
            {
                throw new DirectoryNotFoundException($"Directory containing built Lambda project does not exist {directory}");
            }

            var depsFile = Directory.GetFiles(directory, "*.deps.json").FirstOrDefault();

            if (depsFile == null)
            {
                throw new Exception("Failed to find a deps.json file");
            }

            var fileName = depsFile.Substring(0, depsFile.Length - ".deps.json".Length) + ".dll";

            if (!File.Exists(fileName))
            {
                throw new Exception("Failed to find Lambda project entry assembly");
            }

            // The resolver provides the ability to load the assemblies containing the select Lambda function.
            var resolver = new LambdaAssemblyResolver(fileName);

            var runtime = new LocalLambdaRuntime(resolver, directory);

            return(runtime);
        }
Пример #2
0
 private LocalLambdaRuntime(LambdaAssemblyResolver resolver, string lambdaAssemblyDirectory)
 {
     Resolver = resolver;
     this.LambdaAssemblyDirectory = lambdaAssemblyDirectory;
 }