クラス: SampleJobManager

クラス: SampleJobManager

SampleJobManager

new SampleJobManager ()

翻訳コネクタ内のジョブの翻訳を管理します。
ジョブが作成され、zipファイルがインポートされると、ジョブ・マネージャはzipファイルの実際の翻訳を引き継ぎます。

関連するステップは次のとおりです:
  • すべてのファイルをLSPにインポート: ステータスが"TRANSLATING"に更新されました(%完了は0%に設定されました)
  • リクエスト・ファイルはターゲット言語に翻訳されます
  • 完了するまでポーリング: ステータスが「DOWNLOADING」に更新されました(%完了はポーリング中にも追加されました - 停止時間99%
  • ファイルのダウンロード: ステータスが"TRANSLATED"に更新されました(%完了は100%に更新されました)
  • ステップ・エラー: ステータスが「FAILED」に更新されます
ソース:

メソッド

createZip(jobConfig, jobDetails) → {Promise.<SampleJobManager.JobConfig>}

ダウンロードされたすべての翻訳のzipファイルを作成します。
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
jobDetails SampleJobManager.JobDetails 結合されたjob.jsonファイルの詳細。
ソース:
戻り値:
翻訳zipファイルのロケーションで更新されるジョブ・メタデータを含む約束。
タイプ
Promise.<SampleJobManager.JobConfig>

getJobDetails(jobConfig) → {Promise.<SampleJobManager.JobDetails>}

ソースzipファイルに含まれるjob.jsonファイルからジョブの詳細を取得

Withinthejob.jsonfile,contentTypesnodeprovidesmetadataofeachcontenttypeandcontentItemsnodeliststheassets.
    "contentTypes": [
        {
            "name": {content type name}
            "fields": [
                "{field name}": {
                    "caas-translation": {
                        "translate": true | false // whether the field should be translated or not
                    }
                },...
            ],
            "systemFields": [
                "file": {
                    "caas-translation": {
                        "translate": true | false // whether the native file of the asset should be translated or not
                    }
                },...
            ]
        },...
    ],
    "contentItems": [
        {
            "name": {asset name},
            "id": {GUID},
            "type": {content type name}
        },...
    ]
フォルダ構造がジョブ・タイプ間で異なります - ジョブ・タイプは次のとおりです:
"assets"ジョブ・タイプ:
  • job.json
  • root
    • [GUID-{name}.json,...]
    • [files]
      • [GUID,...]
        • [{binary-file}]
または、「サイト」ジョブ・タイプ:
  • assets
    • job.json
    • root
      • [GUID-{name}.json,...]
      • [files]
        • [GUID,...]
          • [{binary-file}]
  • site
    • job.json
    • root
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
ソース:
戻り値:
結合されたjob.jsonファイルの詳細を含む約束
タイプ
Promise.<SampleJobManager.JobDetails>

pollStatus(jobConfig, jobDetails) → {Promise}

言語サービス・プロバイダをポーリングし、ジョブが100%完了するまで待機するバックグラウンド・タスクです。
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
jobDetails SampleJobManager.JobDetails 結合されたjob.jsonファイルの詳細。
ソース:
戻り値:
ポーリングが100%になったときに解決される約束。
タイプ
予約

restartJobs()

以前に実行されていたジョブを再起動します。
この関数は、翻訳コネクタの起動時に呼び出されます。
以前に実行中であり、再起動する状態であったジョブは、再び開始されます。
これはバックグラウンド・タスクであり、ステータスが「TRANSLATED」または「FAILED」に更新されるまでジョブが実行されます
ソース:

translateJob(jobConfig)

zipファイルが永続ストアにインポートされたジョブを翻訳します。
これは、最初にジョブの現在の状態を確認し、必要な後続のステップを実行します。
  • すべてのファイルをLSPにインポート: ステータスが"TRANSLATING"に更新されました(%完了は0%に設定されました)
  • リクエスト・ファイルはターゲット言語に翻訳されます
  • 完了するまでポーリング: ステータスが「DOWNLOADING」に更新されました(%完了はポーリング中にも追加されました - 停止時間99%
  • ファイルのダウンロード: ステータスが"TRANSLATED"に更新されました(%完了は100%に更新されました)
  • ステップ・エラー: ステータスが「FAILED」に更新されます
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
ソース:

updateProgress(jobConfig) → {Promise.<SampleJobManager.JobConfig>}

ジョブ・メタデータのジョブの進捗を更新します。
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
プロパティ:
名前 タイプ 説明
progress number 新しい進捗率の値。
ソース:
戻り値:
更新されたジョブ・メタデータの詳細を含む約束
タイプ
Promise.<SampleJobManager.JobConfig>

updateStatus(jobConfig) → {Promise.<SampleJobManager.JobConfig>}

ジョブ・メタデータのジョブ・ステータスを更新します。
パラメータ:
名前 タイプ 説明
jobConfig SampleJobManager.JobConfig 実行するコネクタ・ジョブの構成。 この情報は、ジョブのコネクタのメタデータとして保持されます。
プロパティ:
名前 タイプ 説明
status 'CREATED' | 'IMPORTING' | 'TRANSLATING' | 'DOWNLOADING' | 'TRANSLATED' ジョブの新しいステータス。
statusMessage string ステータス更新に含めるメッセージ。
ソース:
戻り値:
更新されたジョブ・メタデータの詳細を含む約束
タイプ
Promise.<SampleJobManager.JobConfig>

タイプ定義

contentType

タイプ:
  • オブジェクト
プロパティ:
名前 タイプ 説明
contentType.name string コンテンツ・タイプの名前。
contentType.fields Array.<SampleJobManager.contentType.field> コンテンツ・タイプのフィールド。
ソース:

file

タイプ:
  • オブジェクト
プロパティ:
名前 タイプ 説明
name string job.jsonファイルから変換するリソースの名前。
id string job.jsonファイル内のこのリソースの参照識別子。
path string ファイル・システム上のファイルの名前。
ソース:

JobConfig

タイプ:
  • オブジェクト
プロパティ:
名前 タイプ 説明
name string コネクタ・ジョブの名前。
workflowId string このジョブの翻訳に使用する言語サービス・プロバイダ・ワークフローの識別子
authToken string 言語サービス・プロバイダへの接続に使用するBearerトークン。 ジョブ・マネージャはバックグラウンドで動作し、ジョブを再起動するため、このトークンへのアクセスが必要です。
status 'CREATED' | 'IMPORTING' | 'TRANSLATING' | 'DOWNLOADING' | 'TRANSLATED' ジョブのステータス。
statusMessage string ステータス更新に含まれるメッセージ。
progress number ジョブの翻訳の進捗率。
properties object 言語サービス・プロバイダのプロパティ。
プロパティ
名前 タイプ 説明
id string コネクタ内のジョブの識別子。
projectId string 言語サービス・プロバイダのプロジェクトの識別子。
translatedZipFile string ジョブのすべての翻訳が含まれているzipファイルの名前。
ソース:

JobDetails

タイプ:
  • オブジェクト
プロパティ:
名前 タイプ 説明
assets object 翻訳するアセット・リソース
プロパティ
名前 タイプ 説明
jobJSON object アセットのjob.jsonオブジェクト。
files Array.<SampleJobManager.file> 翻訳が必要なファイルの配列
contentTypes Array.<SampleJobManager.contentType> コンテンツ・タイプの配列。
site object 翻訳するサイト・リソース
プロパティ
名前 タイプ 説明
jobJSON object サイト・リソースのjob.jsonオブジェクト。
files Array.<SampleJobManager.file> 翻訳が必要なファイルの配列
sourceLanguage string ジョブのソース言語。
targetLanguages Array.<String> リソースが翻訳されるターゲット言語の配列。
ソース: