通过C#客户端Sdk启动或运行ECS或Fargate任务

通过C#客户端Sdk启动或运行ECS或Fargate任务,c#,aws-sdk-net,C#,Aws Sdk Net,我正在尝试运行或启动ECS中的现有任务定义,但缺少文档,我似乎无法在网上找到任何示例。我碰到了一堵墙,我想知道是否有其他人也做过类似的事情 我正在使用AWSSDK.ECS包 var request = JsonConvert.DeserializeObject<Request>(record.Sns.Message); var task = new RunTaskRequest { Count = 1, NetworkConfiguration = new Netw

我正在尝试运行或启动ECS中的现有任务定义,但缺少文档,我似乎无法在网上找到任何示例。我碰到了一堵墙,我想知道是否有其他人也做过类似的事情

我正在使用AWSSDK.ECS包

var request = JsonConvert.DeserializeObject<Request>(record.Sns.Message);

var task = new RunTaskRequest
{
    Count = 1,
    NetworkConfiguration = new NetworkConfiguration
    {
        AwsvpcConfiguration = new AwsVpcConfiguration
        {
            Subnets = new List<string>() { request.SubnetId},
            SecurityGroups = new List<string>() { request.SecurityGroupId},
            AssignPublicIp = AssignPublicIp.DISABLED
        }
    },
    Cluster = request.Cluster,
    LaunchType = LaunchType.FARGATE,
    Overrides = new TaskOverride
    {
        ContainerOverrides = new List<ContainerOverride>
        {
            new ContainerOverride
            {
                Name = request.ContainerName,
                Environment = request.EnvironmentVariables
                    .Select(kvp => new Amazon.ECS.Model.KeyValuePair()
                {
                    Name = kvp.Key,
                    Value = kvp.Value
                }).ToList()
            }
        }
    },
    TaskDefinition = request.TaskDefinitionUri
};

await new AmazonEcsClient().RunTaskAsync(task);
var request=JsonConvert.DeserializeObject(record.Sns.Message);
var task=new RunTaskRequest
{
计数=1,
NetworkConfiguration=新的NetworkConfiguration
{
AwsvpcConfiguration=新的AwsvpcConfiguration
{
Subnets=new List(){request.SubnetId},
SecurityGroups=new List(){request.SecurityGroupId},
AssignPublicIp=AssignPublicIp.DISABLED
}
},
Cluster=request.Cluster,
LaunchType=LaunchType.FARGATE,
覆盖=新任务覆盖
{
ContainerOverrides=新列表
{
新集装箱渡轮
{
Name=request.ContainerName,
环境=请求。环境变量
.Select(kvp=>newamazon.ECS.Model.KeyValuePair()
{
Name=kvp.Key,
值=kvp.Value
})托利斯先生()
}
}
},
TaskDefinition=request.TaskDefinitionUri
};
等待新的AmazonEcsClient().RunTaskAsync(任务);

这方面有什么好运气吗?@saarrrr我记得能够做到这一点,但我没有代码了,我模糊地记得你必须在RunTaskRequest中明确设置网络/VPN信息,否则它会无声地失败。这方面有什么好运气吗?@saarrrr我记得能够做到这一点,但我没有代码了,我模模糊糊地记得,您必须在RunTaskRequest中明确设置网络/VPN信息,否则它会无声地失败。