aws batch の ジョブ定義をエクスポートしたJSONをインポートしたい

0

よろしくお願いします。 リージョンAのaws batchに設定しているジョブ定義を、リージョンBのbatchジョブ定義で利用(再利用)したいと考えています。

実施にあたり以下を参考にしています。 register-job-definition — AWS CLI 2.12.3 Command Reference https://awscli.amazonaws.com/v2/documentation/api/latest/reference/batch/register-job-definition.html

◆実施はクライアント(Windows10)のPowerShellを使ってaws cliを操作しています。

Step1:aws cliのリージョンを、リージョンAに設定(credentialはリージョンA、B共に同じ)

Step2:エクスポートしたいジョブ定義名を指定して、jsonを出力

aws batch describe-job-definition --job-definition-name ジョブ定義名 --query 'jobDefinitions[0]' > exportDef.json

Step3:出力したjsonのうちインポート時に不要な項目 jobDefinitionArn、revision、status、containerOrchestrationTypeの項を削除して保存

Step4:aws cliのリージョンをリージョンBに変更

Step5:Step3で編集したJSONを使って、リージョンBのジョブ定義にインポート

 PowerShellのヒアドキュメントを使ってJSONを送るため、後半でダブルクォーテーションをエスケープしています。

PS C:\Users\MYUSER> $param = @"
>> {
>>     "jobDefinitionName": "test",
>>     "type": "container",
>>     ],
>> }
>> "@

PS C:\Users\MYUSER> $param = $param.Replace('"', '\"')

PS C:\Users\MYUSER> aws batch register-job-definition --cli-input-json $param

Error parsing parameter 'cli-input-json': Invalid JSON received.

また JSONファイルを指定してインポートも行いましたが 結果は同じでした。

aws batch register-job-definition --cli-input-json file://c:/path/to/exportDef.json

以上、よろしくお願いいたします。

profile picture
tkmsg
已提問 10 個月前檢視次數 459 次
1 個回答
0

エラーメッセージが Invalid JSON received. なので、JSONの構文に問題がありそうです。 カッコの閉じ忘れやカンマの付け忘れなどないでしょうか。

profile picture
hayao-k
已回答 10 個月前
  • ご回答ありがとうございます。 構文チェックツールを介してもエラーになりませんでした。ご懸念点は無いと思っています。 (VSCodeやJSONチェックツールを使いました) 本文中にも記しました通りaws cliでエクスポートしたものを不要箇所のみ除いたものをインポートさせています。 また仮に文法、構文ミスがあった場合は、aws cliの結果に具体的に指摘が出力されます。

    「aws batch register-job-definition --cli-input-json」の操作のご経験おありでしょうか? もしその時の操作、手順をお教えいただけると幸いです。よろしくおねがいします。

    aws batch

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南