Amazon Omics Analytics の Annotaion Store へファイルインポートに失敗したときの切り分け方法

Amazon Omics の Annotation Store へインポート失敗時の切り分け方法を紹介します
2023.02.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Omics Analytics の Annotaion Store へファイルインポート(保存)に失敗しました。マネージメントコンソールに表示されるエラーメッセージからは原因がわかりません。切り分けするにはどうしたらよいですか?

エラーメッセージ

Failed to import 1 file.

インポート失敗時のマネージメントコンソールの様子

対応方法

AWS CLI からインポートに失敗したジョブ ID を確認すると原因の特定に繋がるメッセージを確認できます。

ジョブ ID の確認方法

マネージメントコンソールから確認するのがお手軽です。

エラーメッセージ確認コマンド

確認コマンド

aws omics get-annotation-import-job --job-id [JOBID]

statusMessageの項目から原因切り分けに使える情報を取得できます。

実行結果

{
    "creationTime": "2023-02-08T01:58:36.125416+00:00",
    "destinationName": "drosophila_melanogaster_gff",
    "id": "03bb7adb-356e-4418-b48c-5fb3b3b4ca88",
    "items": [
        {
            "jobStatus": "FAILED",
            "source": "s3://omics-work/fruit-fly/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.gff"
        }
    ],
    "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsAnalyticsServiceRole",
    "runLeftNormalization": false,
    "status": "FAILED",
    "statusMessage": "Invalid file extension s3://omics-work/fruit-fly/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.gff, GFF file type must be .gff3. Valid compression formats are: .gz .gzip .bgz .bgzf .bgzip",
    "updateTime": "2023-02-08T01:59:14.284193+00:00"
}

インポートに失敗した

マネージメントコンソールから Annotation Store へ GFF ファイルのインポートを実行しました。実行後まもなくしてFailedとなりインポートに失敗しました。マネージメントコンソールから確認できる情報では S3 バケットに保存してあった GFF ファイルに問題があったのか、サービスロールの権限の問題なのか手がかりがありません。

AWS CLI から失敗したジョブを確認する

AWS CLI を使い失敗したジョブの情報を確認するとステータスメッセージを確認できます。

ジョブID の確認方法

マネージメントコンソールから確認する方が楽です。

AWS CLI から確認するときはステータスがFAILEDのジョブにフィルタする(--filter status=FAILED)ことをオススメします。

aws omics list-annotation-import-jobs --filter status=FAILED

ジョブ ID は id の項目です。ですが、失敗したジョブが複数あるとどのジョブなのか特定しづらいです。インポート先のストア名(destinationName)とインポートを実行した時間(updateTime)から判断することになります。

実行結果

{
    "annotationImportJobs": [
        {
            "creationTime": "2023-02-08T01:58:36.125416+00:00",
            "destinationName": "drosophila_melanogaster_gff",
            "id": "03bb7adb-356e-4418-b48c-5fb3b3b4ca88",
            "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsAnalyticsServiceRole",
            "runLeftNormalization": false,
            "status": "FAILED",
            "updateTime": "2023-02-08T01:59:14.284193+00:00"
        },
        {
            "creationTime": "2023-02-03T08:22:25.345397+00:00",
            "destinationName": "pea_aphid_gff",
            "id": "1f08af64-b215-48ee-9a88-ace98d2a0748",
            "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsAnalyticsServiceRole",
            "runLeftNormalization": false,
            "status": "FAILED",
            "updateTime": "2023-02-03T08:23:37.234599+00:00"
        }
    ]
}

フィルタ設定にインポート先のストア名まで入力(--filter status=FAILED,storeName=hoge)すればより絞れますが、ストア名を入力するのは億劫です。

aws omics list-annotation-import-jobs --filter status=FAILED,storeName=drosophila_melanogaster_gff

実行結果

{
    "annotationImportJobs": [
        {
            "creationTime": "2023-02-08T01:58:36.125416+00:00",
            "destinationName": "drosophila_melanogaster_gff",
            "id": "03bb7adb-356e-4418-b48c-5fb3b3b4ca88",
            "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsAnalyticsServiceRole",
            "runLeftNormalization": false,
            "status": "FAILED",
            "updateTime": "2023-02-08T01:59:14.284193+00:00"
        }
    ]
}

確認コマンドの実行方法

ジョブ ID を確認したらaws omics get-annotation-import-jobコマンドでジョブの結果を確認します。

$ aws omics get-annotation-import-job --job-id 03bb7adb-356e-4418-b48c-5fb3b3b4ca88

statusMessageの項目から原因切り分けに使える情報を得られます。

実行結果

{
    "creationTime": "2023-02-08T01:58:36.125416+00:00",
    "destinationName": "drosophila_melanogaster_gff",
    "id": "03bb7adb-356e-4418-b48c-5fb3b3b4ca88",
    "items": [
        {
            "jobStatus": "FAILED",
            "source": "s3://omics-work/fruit-fly/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.gff"
        }
    ],
    "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsAnalyticsServiceRole",
    "runLeftNormalization": false,
    "status": "FAILED",
    "statusMessage": "Invalid file extension s3://omics-work/fruit-fly/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.gff, GFF file type must be .gff3. Valid compression formats are: .gz .gzip .bgz .bgzf .bgzip",
    "updateTime": "2023-02-08T01:59:14.284193+00:00"
}

この件のインポート失敗の原因は S3 に保存したファイルに問題があった様です。エラー対応については別途紹介したいと思います。

"statusMessage": "Invalid file extension s3://omics-work/fruit-fly/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.gff, GFF file type must be .gff3. Valid compression formats are: .gz .gzip .bgz .bgzf .bgzip",

おわりに

AWS CLI にaws omics get-シリーズのコマンドが複数用意されています。原因切り分け確認に利用できると思いますのでぜひ試してみてください。いつかマネージメントコンソールに表示されるメッセージが改善される日を首を長くして待ちましょう。

参考