Получите последнюю редакцию задания при отправке пакетного задания AWS без указания точного номера редакции - PullRequest
0 голосов
/ 30 января 2019

Я использую клиент AWSBatch Java com.amazonaws.services.batch (AWS SDK for Java - 1.11.483) для программной отправки заданий.

Однако наши ученые продолжают обновлять определение задания.Каждый раз, когда появляется новое определение задания, мне приходится обновлять переменную среды с номером редакции, чтобы передать его клиенту. В документации AWS указано, что

Это значение может быть либо именем: ревизия, либо именем ресурса Amazon (ARN) для определения задания.

Можно ли по умолчанию установить его в качестве последней версии, и каждый раз, когда я отправляю BatchJob, последняя версия будет выбрана, даже не зная последнюю версию?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Это значение может быть либо именем: ревизия, либо именем ресурса Amazon (ARN) для определения задания.

Похоже, что AWS не задокументировал это должным образом: revisionне является обязательным, вы можете просто использовать name вместо name:revision, и он получит ACTIVE ревизию вашего определения работы.Это также необязательно для ARN определения задания.

Это также относится к boto3 и интеграции ступенчатых функций AWS с AWS Batch и, возможно, ко всем другим интерфейсам, для которых требуется имя определения задания или ARN.

0 голосов
/ 19 февраля 2019

Мне не удалось найти какую-либо функцию Java SDK, но в итоге я использовал скрипт bash, который выбирает последний номер * версии из AWS.

$ aws batch describe-job-definitions  --job-definition-name ${full_name}  \
   --query='jobDefinitions[?status==`ACTIVE`].revision'  --output=json \
   --region=${region} | jq '.[0]'

(*) .[0] выберет первый объектиз списка активных ревизий, я использовал это, потому что по умолчанию AWS Batch добавляет последнюю ревизию в начало.Вы можете установить его как .[-1], если хотите последний.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...