AWS CDK EcsDeployAction обновит существующий сервис Fargate

0

Вопрос

Я с легкостью развертываю сервисы Fargate через AWS CDK.

Теперь мне нужно обновить службу, например, образ задачи.
Я пытаюсь сделать это с помощью @aws-cdk/aws-codepipeline и действия EcsDeployAction

Я пытаюсь импортировать и обновить существующую (ранее развернутую) службу fargate, например:

const pipeline = new codepipeline.Pipeline(this, 'MyPipeline')

// import an existing fargate service
const fargateService = ecs.FargateService.fromFargateServiceArn(
  this,
  "FargateService",
  "MyFargateServiceARN"
);

// Deploy a new version according to what 
const sourceStage = this.pipeline.addStage({
  stageName: 'Deploy',
  actions: [
    new codepipeline_actions.EcsDeployAction({
      actionName: "ECS-Service",
      service: fargateService,       <--- here the typescript error
      input: ...
    })
  ]
})

Но это кажется неправильным, потому что я получаю ошибку машинописи:

Property 'cluster' is missing in type 'IFargateService' but required in type 'IBaseService'

Есть идеи?

1

Лучший ответ

1

Есть несоответствие типов. EcsDeployActionProps ожидает, что опора службы будет иметь тип IBaseService. Но это становится несовместимым IFargateService введите от fromFargateServiceArn.

К счастью, связанные статические атрибуты fromFargateServiceAttributes(область, идентификатор, attrs) возвращают совместимый тип IBaseService вы ищете.

2021-11-23 20:59:21

Спасибо. Я попробую этот подход, наверняка он сработает.
andreav

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................