このトピックでは、ossutilを使用するときに発生する可能性のある問題とこれらの問題の解決策について説明します。
ossutil V1.6.16以降の場合、コマンドラインでossutilをバイナリ名として直接使用できます。 システムに基づいてバイナリ名を更新する必要はありません。 V1.6.16より前のossutilの場合は、システムに対応するバイナリ名を指定する必要があります。 詳細は、「ossutilコマンドリファレンス」をご参照ください。
ossutilはV4署名アルゴリズムをサポートしていますか?
ossutil V1.7.12以降はV4署名アルゴリズムをサポートしています。 V4署名アルゴリズムの詳細については、「AuthorizationヘッダーにV4署名を含める (推奨) 」をご参照ください。
ossutil V1.7.12以降は、-- sign-versionと -- regionの2つの追加パラメーターをサポートしています。 たとえば、次のコマンドを使用して、中国 (杭州) リージョンにバケットを作成できます。
./ossutil64 --sign-version v4 --region cn-hangzhou mb oss://examplebucket
低頻度アクセスおよび標準オブジェクトのオブジェクト同期はサポートされていますか。
はい、オブジェクトの同期は低頻度アクセス (IA) および標準オブジェクトでサポートされています。 同期の詳細については、「概要」をご参照ください。
オブジェクトが同じ名前の別のオブジェクトによって上書きされないようにするにはどうすればよいですか?
オブジェクトが同じ名前の別のオブジェクトによって上書きされないようにするには、ossutilコマンドで -uパラメーターを指定します。
-uパラメーターを使用してオブジェクトをアップロードすると、スキップメッセージが表示される場合はどうすればよいですか?
分析: -uパラメーターを使用してオブジェクトをアップロードすると、アップロードするオブジェクトがバケット内の既存のオブジェクトと比較されます。
アップロードするオブジェクトの名前が既存のオブジェクトの名前と同じであり、アップロードするオブジェクトの最終変更時刻が既存のオブジェクトの最終変更時刻と同じかそれ以前の場合、アップロードするオブジェクトはスキップされます。 アップロードするオブジェクトの最終変更時刻が既存のオブジェクトの最終変更時刻よりも遅い場合、オブジェクトはアップロードされます。 したがって、-uパラメーターを使用してオブジェクトをアップロードすると、スキップメッセージは正常に表示されます。
解決策: バケット内の既存の同名オブジェクトのコンテンツが必要であることを確認した場合は、スキップメッセージを無視します。
オブジェクトを復元するときにHTTP 403のステータスコードが返された場合はどうすればよいですか?
分析: 次のいずれかの理由により、HTTP 403ステータスコードが返されます。
RAMユーザーとして操作を実行する場合、RAMユーザーにはオブジェクトに対する必要な権限がありません。
オブジェクトのコンテンツが禁止されているため、オブジェクトはOSSによってブロックされます。
解決策
不十分なRAMユーザー権限: 必要な権限を付与します。
コンテンツ違反: オブジェクトのコンテンツが禁止されているため、オブジェクトがOSSによってブロックされている場合は、オブジェクトを削除または無視します。
lsコマンドの出力に基づいてオブジェクトを含まないバケットを削除したときにエラーメッセージが返された場合はどうすればよいですか?
分析: バケット内のオブジェクトを一覧表示するオプションを指定せずにlsコマンドを実行すると、バケット内のパーツと以前のバージョン (バージョン管理が有効または有効になっているバケットのみ) は一覧表示されません。 パーツまたは以前のバージョンを含むバケットは、rmコマンドを実行しても削除できません。
解決策
削除されたバケットとオブジェクトは復元できません。 コマンドを実行するときは注意してください。
バケットのバージョン管理が有効になっている、または有効になっている場合は、バケットを削除する前に、バケットからパーツと以前のバージョンを削除します。
バケットからパーツと以前のバージョンを削除します。
次のコマンドを実行して、バケットからパーツを一覧表示および削除します。
./ossutil64 ls oss://bucket1 -m ./ossutil64 rm -m oss://bucket1 -r
次のコマンドを実行して、バケットの以前のバージョンを一覧表示して削除します。
./ossutil64 ls oss://bucket1 --all-versions ./ossutil64 rm oss://bucket1 --all-versions -r
バケットを削除します。
./ossutil64 rm oss://bucket1 -b
バケットを強制的に削除します。
バケットがバージョン管理されていない場合は、次のコマンドを実行してバケットを強制的に削除します。
./ossutil64 rm oss://bucketname -abrf
バケットがバージョン管理されている場合は、次のコマンドを実行してバケットを強制的に削除します。
./ossutil64 rm oss://bucketname -abrf --all-versions
アップロードまたはダウンロードの進行状況が100% を超えた場合はどうすればよいですか。
分析: という名前のフォルダ. ossutil_checkpointossutilを使用してオブジェクトをアップロードまたはダウンロードすると生成されます。 デフォルトでは、アップロードまたはダウンロードするオブジェクトのサイズが100 MBを超える場合、再開可能なアップロードまたはダウンロードが使用されます。 アップロードまたはダウンロード中に生成されるチェックポイント情報は、. ossutil_checkpointフォルダーを作成します。 このフォルダは、アップロードまたはダウンロードが完了すると自動的に削除されます。 複数のossutilインスタンスがクライアントで同時に実行され、インスタンスで再開可能なアップロードまたはダウンロードが実行されているシナリオでは、インスタンスのアップロードまたはダウンロードが完了すると、. ossutil_checkpointフォルダは自動的に削除されます。 その結果、他のインスタンスのアップロードまたはダウンロードを完了できず、他のインスタンスの進捗状況が100% を超えました。
解決策
現在のアップロードまたはダウンロードタスクを完了し、オブジェクトを再度アップロードまたはダウンロードします。
-- checkpoint-dirパラメーターをcpコマンドに追加し、チェックポイント情報を格納するデフォルトのcheckpointフォルダーの名前とは異なる名前のフォルダーを指定します。 例:
./ossutil64 cp oss://bucket1/myphoto.jpg /dir --checkpoint-dir checkpoint
ossutilを使用して単一のオブジェクトをダウンロードするリクエストを送信すると、複数のリクエストがOSSログに記録されるのはなぜですか。
分析: このエラーは、次のいずれかの理由で発生します。
ossutilは、例外が発生した場合、またはリクエストが失敗した場合にリクエストを再試行します。 デフォルトでは、ossutilは最大10回リクエストを再試行します。
ダウンロードするオブジェクトのサイズが100 MBを超える場合、オブジェクト全体がダウンロードされるまで、ossutilは範囲ごとにデータをダウンロードする複数の要求を送信します。 その結果、サイズが100 MBを超えるオブジェクトをダウンロードすると、複数のリクエストレコードが生成されます。
ダウンロードの中断にもかかわらずファイル転送効率を維持する方法?
ダウンロードの中断はさまざまな理由で発生する可能性があります。
大きなファイルのダウンロードは、完了するのに長い時間を必要とし、ダウンロードの中断を引き起こすことがある。
この場合、中断は、ネットワーク帯域幅の制限または不安定なネットワーク接続によって引き起こされます。
大きなファイルをダウンロードすると、ファイルの終了 (EOF) エラーが発生し、ダウンロードが中断されます。
この場合、中断は、ネットワーク接続の喪失、またはダウンロード速度に匹敵する遅いディスク読み取り /書き込みパフォーマンスによって引き起こされます。
解決策: 再開可能ダウンロードを使用します。
-- checkpoint-dirの設定方法の詳細については、「コマンド構文」をご参照ください。
ossutilでコマンドを実行したときにError: accessKeyIDとecsUrlの両方が空のエラーが発生した場合はどうすればよいですか?
分析: ホームディレクトリに構成ファイルが生成されません。
解決策
ossutilでコマンドを実行する前に、ホームディレクトリに構成ファイルが作成されていることを確認してください。 詳細については、「ossutilのインストール」をご参照ください。
ossutilでコマンドを実行する場合、設定ファイルのパスを指定します。 たとえば、cpコマンドを実行してオブジェクトをアップロードするときに、構成ファイルのパスを指定します。
./ossutil64 cp examplefile.txt oss://examplebucket/destfolder/ -c /home/admin/.ossutilconfig
ossutilを使用してアップロードされたオブジェクトのcontent-typeパラメーターにcharset=utf-8が自動的に追加されるのはなぜですか。
分析: オブジェクトをアップロードすると、オブジェクトのContent-typeパラメーターを自動的に指定するために、オブジェクト拡張子に基づいて関連するMIME (Multipurpose Internet Mail Extensions) タイプが検索されます。 ossutilは、OSS SDK for Goの標準ライブラリのMIME操作を呼び出して、関連付けられたMIMEタイプを検索します。 MIME操作では、テキストタイプのオブジェクトのcharset=utf-8
が自動的に追加されます。 たとえば、を持つオブジェクトに対してtext/html; charset=utf-8
が返されます。htm拡張子。
解決策: ossutilをV1.7.14以降にアップグレードします。 ossutilを再インストールしてアップグレードできます。 詳細については、「ossutilのインストール」をご参照ください。
ossutilを使用してディレクトリのサイズを照会できますか?
はい、ossutilでduコマンドを実行して、ディレクトリのサイズを照会できます。 duコマンドは、ListObjects操作を呼び出してディレクトリ内のすべてのオブジェクトに関する情報を取得し、ディレクトリのサイズを計算します。 ディレクトリに多数のオブジェクトが含まれている場合、クエリタスクを完了するのに長い時間が必要になります。
詳細については、「du」をご参照ください。
バケットのカスタムドメイン名を含む署名付きURLを生成するにはどうすればよいですか。
バケットのカスタムドメイン名を設定します。
詳細については、「カスタムドメイン名の指定」をご参照ください。
signコマンドを実行して、署名付きURLを生成します。
詳細は、「sign」をご参照ください。
ossutilを使用したオブジェクトクエリの結果ソートはサポートされていますか?
いいえ、結果の並べ替えはossutilベースのオブジェクトクエリではサポートされていません。
ossutilを使用してコマンドを実行するときに「no such host」エラーが報告された場合はどうすればよいですか?
分析: エンドポイントが無効です。
解決策: -eパラメーターに有効な値を指定するか、エンドポイント情報を構成ファイルに保存します。 -eパラメーターは、バケットが配置されているリージョンのエンドポイントを -e oss-cn-shanghai.aliyuncs.com
として指定します。 エンドポイントに他のフィールドを追加しないでください。 各リージョンのエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
duコマンドの実行に対してどのように課金されますか?
duコマンドで -- all-versionsが指定されていない場合、ListObjects操作が呼び出されます。 duコマンドで -- all-versionsを指定した場合、ListObjectVersions操作が呼び出されます。 さらに、duコマンドはListMultipartUploads操作の呼び出しも開始します。これにはリクエスト料金が発生します。 詳細については、「API 操作呼び出し料金」をご参照ください。
パーツがバケットに格納されている場合、追加のListUploadedPartsリクエストが作成されます。