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
gefragt vor 10 Monaten457 Aufrufe
1 Antwort
0

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

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

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

    aws batch

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen