オブジェクトをバケットにアップロードした後、オブジェクトの署名付きURLを生成し、そのURLをサードパーティと共有してダウンロードやプレビューを行うことができます。 このトピックでは、signコマンドを実行してオブジェクトの署名付きURLを生成する方法について説明します。
このトピックのサンプルコマンドラインは、64ビットLinuxシステムに基づいています。 他のシステムの場合は、を交換します。対応するバイナリ名を持つコマンドの /ossutil64。 詳細については、「ossutilの使用を開始する」をご参照ください。
コマンド構文
. /ossutil64サインcloud_url
[-- timeout <value>]
[-- version-id <value>]
[-- trafic-limit <value>]
[-- disable-encode-スラッシュ]
[-- payer <value>]
[-- query-param <value>]
次の表に、signコマンドを実行するために設定できるパラメーターを示します。
パラメーター | 説明 |
cloud_url | オブジェクトが格納されているバケットのフルパス。 |
-- timeout | 署名されたURLの有効期限。 単位は秒です。 デフォルト値: 0。 重要 現在のタイムスタンプと署名付きURLの有効期限の合計は9223372036854775807を超えることはできません。 それ以外の場合、エラーがスローされます。 現在のタイムスタンプが1643341269の場合、署名付きURLの有効期限は9223372035211434538を超えることはできません。 |
-- version-id | 署名付きURLを生成するオブジェクトのバージョンID。 このパラメーターは、バージョン管理が有効または一時停止されているバケット内のオブジェクトにのみ適用されます。 |
-- trafic-limit | 署名付きURLを使用してHTTP経由でオブジェクトにアクセスする最大速度。 単位:bit/s。 このパラメーターのデフォルト値は0で、アクセス速度が制限されていないことを示します。 有効な値: 819200〜838860800 (100 KB/s〜100メガバイト/秒) 。 |
-- disable-encode-スラッシュ | cloud_urlの値に含まれるスラッシュ (/) がエンコードされないことを指定します。 |
-- 支払人 | リクエストの支払人。 指定されたパスのリソースにアクセスするリクエスタにトラフィックとリクエスト料金の支払いをさせる場合は、このパラメーターをrequesterに設定します。 |
-- query-param | リクエスト内のクエリパラメーター。 リクエストには複数のクエリパラメーターを指定できます。 たとえば、Image Processing (IMG) パラメーターをクエリパラメーターとして指定できます。 -- query-paramは、x-oss-process、response-content-type、x-oss-traffic-limit、response-content-language、response-expires、response-cache-control、response-content-disposition、response-content-encoding、x-oss-ac-source-ip、x-oss-ac-subnet-mask、x-oss-ac-vpc-id、およびx-oss-ac-forward-allow。 パラメーターの詳細については、「URLへの署名の追加」および「GetObject」をご参照ください。 説明 -- query-paramパラメーターは、ossutil V.1.7.15以降でのみ使用できます。 |
例
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 このコマンドでは、URLの有効期限はデフォルト値であり、60秒です。
. /ossutil64 sign oss:// examplebucket/exampleobject.png
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 このコマンドでは、URLの有効期限が3,600秒に設定されています。
. /ossutil64 sign oss:// examplebucket/exampleobject.png -- タイムアウト3600
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの署名付きURLを生成できます。 このコマンドでは、URLの有効期限は7,200秒に設定され、署名付きURLを使用してHTTP経由でオブジェクトにアクセスする最大速度は100メガバイト/秒に設定されます。
. /ossutil64 sign oss:// examplebucket/exampleobject.png -- タイムアウト7200 -- trafic-limit 838860800
次のコマンドを実行して、examplebucketという名前のバケット内のexampleobject.pngという名前のオブジェクトの指定されたバージョンの署名付きURLを生成できます。 このコマンドでは、URLの有効期限が1,800秒に設定されています。
. /ossutil64 sign oss:// examplebucket/exampleobject.jpg -- timeout 1800 -- version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3 ****
次のコマンドを実行して、examplebucketバケット内のexampleobject.jpgという名前の画像オブジェクトを幅100ピクセル、高さ100ピクセルにサイズ変更し、画像を90度回転して、処理された画像の署名付きURLを生成できます。
. /ossutil64 sign oss:// examplebucket/exampleobject.jpg -- query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90
次のコマンドを実行して、examplebucketバケット内のexampleobject.jpgという名前のイメージオブジェクトを幅100ピクセル、高さ100ピクセルにサイズ変更し、イメージを90度回転し、トラフィック制限を100 KB /秒 (819200ビット /秒) に設定し、処理済みイメージの署名付きURLを生成できます。
. /ossutil64 sign oss:// examplebucket/exampleobject.jpg -- query-param x-oss-process:image/resize,m_fixed,w_100,h_100/rotate,90 -- query-param x-oss-traffic-limit:819200
上記のコマンドを実行すると、次のような出力が返されます。これには、署名付きURLの生成に使用された時間、URLの有効期限、およびURL内の署名情報が含まれます。
https://examplebucket.ss-cn-hangzhou.aliyuncs.com/exampleobject.png?Expires=1608282224&OSSAccessKeyId=LTAI4G33piUmgRN1DXx9 ****&シグネチャー=jo4 % 2FGykfuc1A4fvyvKRpRyymYH **** 0.368676経過
一般的なオプション
ossutilを使用して別のリージョンにあるバケットに切り替える場合は、コマンドに -eオプションを追加して、指定したバケットがあるリージョンのエンドポイントを指定します。 ossutilを使用して別のAlibaba Cloudアカウントに属するバケットに切り替える場合、コマンドに -iオプションを追加して、指定されたアカウントのAccessKey IDを指定し、コマンドに -kオプションを追加して、指定されたアカウントのAccessKeyシークレットを指定します。
たとえば、次のコマンドを実行して、中国 (上海) リージョンにあり、別のAlibaba Cloudアカウントが所有するtestbucketという名前のバケットで、exampletest.jpgという名前のオブジェクトの署名付きURLを生成できます。 この例では、URLの有効期限は3,600秒に設定されています。
. /ossutil64 sign oss:// testbucket/exampletest.jpg -- タイムアウト3600 -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA **** -k 67DLVBkH7EamOjy2W5RVAHUY9H ****
同期コマンドに使用できるその他の一般的なオプションの詳細については、「オプションの表示」をご参照ください。