简体   繁体   中英

How to run AWS CLI command from .NET Core

Is it possible to run aws cli command from .NET Core app? I need automatically sync content of folder with S3. I use AWS SDK for other setup, but AWS SDK not contains s3 sync method.

I tried create .NET Core Console and create.bat file with (for the test only check an version of aws)

    aws --version
    PAUSE

And start from .NET

 string pathToRun = @"C:\Users\Adam\source\repos\StaticWeb\StaticWeb\run.bat";

  Process p = new Process();
            p.StartInfo.FileName = pathToRun;
           

            // Run the process and wait for it to complete
            p.Start();
            p.WaitForExit();

Error

aws --version 'aws' is not recognized as an internal or external command, operable program or batch file.

If I start manual run.bat, it works properly.

I have installed AWS CLI 32 bit and 64 bit on my computer.

I've found the solution, so I have replaced aws keywork with path to aws cli. I don't need.bat anymore.

        string command = $"/C start \"\" \"C:/Program Files/Amazon/AWSCLIV2/aws.exe\" --version";

        ProcessStartInfo info = new ProcessStartInfo();
        info.FileName = "cmd.exe";
        info.Arguments = command;
        info.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

        var process = new Process();
        process.StartInfo = info;
        process.Start();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM