6.2. Translateカスタム用語の作成 (handson-cli-translate-terminology)¶
作業の目的 [why]¶
Translateカスタム用語"handson-cli-translate-terminology"を作成します。
完了条件/事前条件 [設計者用情報]
完了条件 [after]
主処理は、以下を満たしたときに成功したものとします。
- 完了条件1
Translateカスタム用語名"handson-cli-translate-terminology"が存在する。
事前条件 [before]
主処理の実施は、以下の状態であることを前提とします。
- 事前条件1
Translateカスタム用語データファイル"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml"が存在する。
- 事前条件2
Translateカスタム用語名"handson-cli-translate-terminology"が存在しない。
作業対象 [what]¶
Translateサービス
標準時間(合計)¶
8分
パラメータ設定¶
- パラメータ設定の標準時間
2分
作業に必要なモノ・情報 [resource]¶
作業開始には、以下が全て揃っていることが必要です。
リソース1: Translateカスタム用語名
作成するTranslateカスタム用語の名称です。
今回は"handson-cli-translate-terminology"とします。
リソース2: Translateカスタム用語説明
作成するTranslateカスタム用語の説明です。
今回は"terminology for handson-cli-translate."とします。
リソース3: Translateカスタム用語マージ戦略名
作成するTranslateカスタム用語マージ戦略の名称です。
今回は"OVERWRITE"とします。
リソース4: Translateカスタム用語データタイプ
作成するTranslateカスタム用語のデータタイプです。
今回は"TMX"とします。
リソース5: Translateカスタム用語データファイル名
今回は"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml"をTranslateカスタム用語データファイルとします。
パラメータの指定¶
作業に必要なパラメータを変数に格納をします。
0.1. Translateカスタム用語名の指定¶
Translateカスタム用語名を指定します。
変数の設定:
TRANSLATE_TERMINOLOGY_NAME='handson-cli-translate-terminology'
0.2. Translateカスタム用語説明の指定¶
Translateカスタム用語説明を指定します。
変数の設定:
TRANSLATE_TERMINOLOGY_DESCRIPTION='terminology for handson-cli-translate.'
0.3. Translateカスタム用語マージ戦略名の指定¶
Translateカスタム用語マージ戦略名を指定します。
変数の設定:
TRANSLATE_TERMINOLOGY_MERGE_STORATEGY='OVERWRITE'
0.4. Translateカスタム用語データタイプの指定¶
Translateカスタム用語データタイプを指定します。
変数の設定:
TRANSLATE_TERMINOLOGY_DATA_TYPE='TMX'
0.5. Translateカスタム用語データファイル名の指定¶
変数の設定:
DIR_TRANSLATE_TERMINOLOGY_DATA="${HOME}/environment/tmp-handson-cli-translate"
変数の指定:
FILE_TRANSLATE_TERMINOLOGY_DATA_SUFFIX='xml'
変数の設定:
FILE_TRANSLATE_TERMINOLOGY_DATA="${DIR_TRANSLATE_TERMINOLOGY_DATA}/${TRANSLATE_TERMINOLOGY_NAME}.${FILE_TRANSLATE_TERMINOLOGY_DATA_SUFFIX}" \ && echo ${FILE_TRANSLATE_TERMINOLOGY_DATA}
結果(例):
${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml
パラメータの保存¶
設定されている変数の保存先となるファイル名を指定します。
変数の設定:
DIR_PARAMETER="${HOME}/tmp/parameter-handson-cli-translate" FILE_PARAMETER="${DIR_PARAMETER}/$(date +%Y-%m-%d)-translate-terminology-create.env" \ && echo ${FILE_PARAMETER}
結果(例):
${HOME}/tmp/parameter-handson-cli-translate/2019-11-19-translate-terminology-create.env
各変数に正しいパラメータ値が格納されていることを確認しながら保存します。
変数の確認:
cat << EOF > ${FILE_PARAMETER} # 0.a. AWS_DEFAULT_REGION:"ap-northeast-1" AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}" # 0.b. AWS_DEFAULT_PROFILE:"handson-cli-translate-user" AWS_DEFAULT_PROFILE="${AWS_DEFAULT_PROFILE}" # 0.1. TRANSLATE_TERMINOLOGY_NAME:"handson-cli-translate-terminology" TRANSLATE_TERMINOLOGY_NAME="${TRANSLATE_TERMINOLOGY_NAME}" # 0.2. TRANSLATE_TERMINOLOGY_DESCRIPTION:"terminology for handson-cli-translate." TRANSLATE_TERMINOLOGY_DESCRIPTION="${TRANSLATE_TERMINOLOGY_DESCRIPTION}" # 0.3. TRANSLATE_TERMINOLOGY_MERGE_STORATEGY:"OVERWRITE" TRANSLATE_TERMINOLOGY_MERGE_STORATEGY="${TRANSLATE_TERMINOLOGY_MERGE_STORATEGY}" # 0.4. TRANSLATE_TERMINOLOGY_DATA_TYPE:"TMX" TRANSLATE_TERMINOLOGY_DATA_TYPE="${TRANSLATE_TERMINOLOGY_DATA_TYPE}" # 0.5. FILE_TRANSLATE_TERMINOLOGY_DATA:"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml" FILE_TRANSLATE_TERMINOLOGY_DATA="${FILE_TRANSLATE_TERMINOLOGY_DATA}" EOF cat ${FILE_PARAMETER}
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
タスクの実施¶
- タスク標準時間
6分
1. 前処理¶
1.1. 処理対象の状態確認¶
主処理の実施は、以下の状態であることを前提とします。
前提と異なることが判明した場合、直ちに処理を中止します。
事前条件1: Translateカスタム用語データファイル"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml"が存在する。
「Translateカスタム用語データファイル"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml"が存在する。」ことを確認します。
コマンド:
ls ${FILE_TRANSLATE_TERMINOLOGY_DATA}
結果(例):
${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml
事前条件2: Translateカスタム用語名"handson-cli-translate-terminology"が存在しない。
「Translateカスタム用語名"handson-cli-translate-terminology"が存在しない。」ことを確認します。
コマンド:
aws translate list-terminologies \ --query "TerminologyPropertiesList[?Name == \`${TRANSLATE_TERMINOLOGY_NAME}\`].Name" \ --output text
結果(例):
(出力なし)
1.2. 主処理に必要な情報の取得¶
文字列の生成
変数の設定:
STRING_TRANSLATE_TERMINOLOGY_DATA="Format=${TRANSLATE_TERMINOLOGY_DATA_TYPE}" \ && echo ${STRING_TRANSLATE_TERMINOLOGY_DATA}
結果(例):
Format=TMX
2. 主処理¶
Translateカスタム用語の作成¶
パラメータの確認:
cat << ETX # TRANSLATE_TERMINOLOGY_NAME:"handson-cli-translate-terminology" TRANSLATE_TERMINOLOGY_NAME="${TRANSLATE_TERMINOLOGY_NAME}" # TRANSLATE_TERMINOLOGY_DESCRIPTION:"terminology for handson-cli-translate." TRANSLATE_TERMINOLOGY_DESCRIPTION="${TRANSLATE_TERMINOLOGY_DESCRIPTION}" # TRANSLATE_TERMINOLOGY_MERGE_STORATEGY:"OVERWRITE" TRANSLATE_TERMINOLOGY_MERGE_STORATEGY="${TRANSLATE_TERMINOLOGY_MERGE_STORATEGY}" # STRING_TRANSLATE_TERMINOLOGY_DATA:"Format=TMX" STRING_TRANSLATE_TERMINOLOGY_DATA="${STRING_TRANSLATE_TERMINOLOGY_DATA}" # FILE_TRANSLATE_TERMINOLOGY_DATA:"${HOME}/environment/tmp-handson-cli-translate/handson-cli-translate-terminology.xml" FILE_TRANSLATE_TERMINOLOGY_DATA="${FILE_TRANSLATE_TERMINOLOGY_DATA}" ETX
コマンド:
aws translate import-terminology \ --name ${TRANSLATE_TERMINOLOGY_NAME} \ --description "${TRANSLATE_TERMINOLOGY_DESCRIPTION}" \ --merge-strategy ${TRANSLATE_TERMINOLOGY_MERGE_STORATEGY} \ --terminology-data ${STRING_TRANSLATE_TERMINOLOGY_DATA} \ --data-file fileb://${FILE_TRANSLATE_TERMINOLOGY_DATA}
結果(例):
{ "TerminologyProperties": { "Name": "handson-cli-translate-terminology", "Description": "terminology for handson-cli-translate.", "Arn": "arn:aws:translate:ap-northeast-1:XXXXXXXXXXXX:terminology/handson-cli-translate-terminology/LATEST", "SourceLanguageCode": "en", "TargetLanguageCodes": [ "ja" ], "SizeBytes": 394, "TermCount": 1, "CreatedAt": 1234567890.123, "LastUpdatedAt": 1234567890.123 } }
3. 後処理¶
完了条件の確認¶
主処理は、以下を満たしたときに成功したものとします。
完了条件1: Translateカスタム用語名"handson-cli-translate-terminology"が存在する。
「Translateカスタム用語名"handson-cli-translate-terminology"が存在する。」ことを確認します。
コマンド:
aws translate list-terminologies \ --query "TerminologyPropertiesList[?Name == \`${TRANSLATE_TERMINOLOGY_NAME}\`].Name" \ --output text
結果(例):
handson-cli-translate-terminology