Получите последнюю редакцию задания при отправке пакетного задания AWS без указания точного номера редакции.
Я использую клиент AWSBatch Java com.amazonaws.services.batch (AWS SDK for Java - 1.11.483)
представить работу программно.
Тем не менее, наши ученые продолжают обновлять определение должности. Каждый раз, когда появляется новое определение задания, мне приходится обновлять переменную среды с номером редакции, чтобы передать его клиенту. Документация AWS гласит, что
Это значение может быть либо именем: ревизия, либо именем ресурса Amazon (ARN) для определения задания.
Есть ли способ, которым я могу по умолчанию установить последнюю версию, и каждый раз, когда я отправляю BatchJob, последняя версия будет выбрана, даже не зная последнюю версию?
1 ответ
Это значение может быть либо именем: ревизия, либо именем ресурса Amazon (ARN) для определения задания.
Похоже, AWS не задокументировал это должным образом: revision
необязательно, вы можете использовать просто использовать name
вместо name:revision
и он получит ACTIVE
пересмотр вашего определения работы. Это также необязательно для ARN определения задания.
Это также относится к boto3
и для интеграции пошаговых функций AWS с AWS Batch и, возможно, со всеми другими интерфейсами, для которых требуется имя определения задания или ARN.
Из справочника по API AWS Batch SubmitJob.
jobDefinition
Определение задания, используемое в этом задании. Это значение может быть одним из name, name: revision или Amazon Resource Name (ARN) для определения задания. Если имя указано без ревизии, используется последняя активная ревизия.
возможно, документация уже обновлена.
Я не смог найти какую-либо функцию 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]
если вы хотите последний.