Запуск exe-файла на удаленной виртуальной машине Azure из приложения-функции .NET 8 C#.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Запуск exe-файла на удаленной виртуальной машине Azure из приложения-функции .NET 8 C#.

Сообщение Anonymous »

Мне поручено написать функциональное приложение в C#, которое будет отвечать за запуск EXE на удаленной виртуальной машине. Я пытался использовать azure.resourcemanager sdk, чтобы сделать это, но, похоже, не может понять, как создать runcommandinput .
Вот что есть Мой код выглядит как до сих пор: < /p>

Код: Выделить всё

public async Task Run([HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req)
{
_logger.LogInformation("Invoking remote executable on Windows VM using RunCommand");

// Azure authentication and setup
string tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");
string clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");
string clientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET");
string subscriptionId = Environment.GetEnvironmentVariable("AZURE_SUBSCRIPTION_ID");
string resourceGroupName = "YOUR_RESOURCE_GROUP";
string vmName = "YOUR_VM_NAME";

// Use DefaultAzureCredential for authentication
var credential = new DefaultAzureCredential();

// Initialize Azure resource manager client
var armClient = new ArmClient(credential, subscriptionId);

// Get the specific VM resource
var subscription = armClient.GetSubscriptionResource(new ResourceIdentifier($"/subscriptions/{subscriptionId}"));
ResourceGroupResource resourceGroup = subscription.GetResourceGroup(resourceGroupName);
VirtualMachineResource vmResource = resourceGroup.GetVirtualMachine(vmName);

try
{
// Use Azure Compute's RunCommand to execute a PowerShell script on the VM
var runCommandInput = new RunCommandInput("RunPowerShellScript");
//{
//    Script = new List { commandToExecute },
//    Parameters = new List {}
//};

_logger.LogInformation("Running command on VM...");

// Execute the command
var runCommandResult = await vmResource.RunCommandAsync(WaitUntil.Completed, runCommandInput);

// Log the result
//_logger.LogInformation($"Command executed successfully. Status: {runCommandResult.Value.Status}");
}
catch (RequestFailedException ex)
{
_logger.LogError($"Failed to execute command on VM: {ex.Message}");
}

return new OkObjectResult("OK");
}
Теперь класс runCommandInput имеет поля, называемые параметрами и сценариями, но они оба только для чтения и не могут быть назначены напрямую, и я не нашел никаких методов помощника/расширения, которые установит эти поля. является ссылкой на исходный код этого класса: https://github.com/azure/azure-sdk-for- ... mmandinput .cs
может кто -нибудь, пожалуйста, объясните, как я должен использовать класс RunCommandInput , так как в Интернете не хватает никакой информации.
< P> Кроме того, мое решение на самом деле работоспособно или это то, чего не может быть достигнуто с помощью ARM SDK?

Подробнее здесь: https://stackoverflow.com/questions/791 ... nction-app
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»