すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:変数

最終更新日:Jun 21, 2026

データ処理機能を使用すると、各オブジェクトがタスクをトリガーします。各タスクでは、処理されたオブジェクトの保存パスを指定する必要があります。オブジェクトが上書きされるのを防ぐには、動的な出力パスを使用する必要があります。変数を使用して、ソースオブジェクトのバケット、オブジェクトキー、アップロード時間などの情報を参照できます。たとえば、動画のフレーム抽出タスクでは、出力パスを oss://test-bucket/{dirname}/{barename}_output.{autoext} に設定できます。これにより、処理されたオブジェクトがソースオブジェクトと同じディレクトリに保存され、source-object-name_output という名前が付けられ、正しい拡張子が自動的に追加されます。

ユースケース

コンソールでのユースケース

  • タスク:処理タスクの出力パスで、ソースオブジェクトの情報を参照できます。たとえば、ドキュメントを JPG 画像に変換するには、出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定します。処理中に、{autoext}jpg に置き換えられます。生成された画像は oss://test-bucket/output/source-directory/source-filename/image-sequence-number.jpg に保存されます。

    [タスクの作成] ダイアログボックスで、[スタイル]doc_to_jpg を選択します。[出力パス] の下に、完全なオブジェクトキーを入力する必要があること、オブジェクトキーには変数を含めることができること、および入力パスと出力パスは異なる必要があることを示すプロンプトが表示されます。[通知設定] セクションで、[メッセージキュー] を選択できます。設定が完了したら、[OK] をクリックします。

  • バッチ処理:バッチ処理ジョブを作成すると、システムは既存の各オブジェクトに対してタスクを生成します。データの上書きを避けるため、出力パスで変数を使用することを推奨します。たとえば、動画からフレームを抽出して PNG 画像として保存するには、出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定します。処理中に、{autoext}png に置き換えられます。生成された PNG 画像は oss://test-bucket/output/source-directory/source-filename/frame-number.png に保存されます。

    [出力設定] セクションで出力パスを設定した後、keybarename、または basename 変数を使用する場合は、出力パスが入力パスと異なることを確認してください。これにより、ソースオブジェクトの上書きを防ぎ、無限ループを回避できます。[権限設定] セクションで、[サービスロール][AliyunIMMBatchTriggerRole (デフォルトロール)] を選択し、[OK] をクリックします。

  • トリガー:トリガーを作成すると、新しいオブジェクトごとにタスクが生成されます。オブジェクトの上書きを避けるため、出力パスで変数を使用することを推奨します。たとえば、ドキュメントを JPG 画像に変換するためにドキュメント変換トリガーが作成された場合、出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定します。処理中に、{autoext}jpg に置き換えられます。生成された JPG 画像は oss://test-bucket/output/source-directory/source-filename/image-sequence-number.jpg に保存されます。

    オブジェクトキー、barename、または basename 変数を使用する場合は、オブジェクトの上書きを防ぐため、出力パスが入力パスと異なることを確認してください。[権限設定] セクションで、[サービスロール][AliyunIMMBatchTriggerRole (デフォルトロール)] を選択し、[OK] をクリックします。

API のユースケース

  • 名前を付けて保存 (sys/saveas):名前を付けて保存 (sys/saveas) 操作では、b (バケット) および o (オブジェクト) パラメーターが変数をサポートします。たとえば、example.docx という名前のドキュメントの 1 ページから 10 ページを PNG 画像に変換するには、sys/saveas パラメーターを b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw に設定します。このパラメーターでは、e2J1Y2tldH0 は {bucket} の Base64 エンコードされた値であり、ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwdoc_images/{index}.png の Base64 エンコードされた値です。変換された画像は、ソースオブジェクトと同じバケット内の doc_images ディレクトリに、ページ番号に基づいたファイル名 (例: 1.png) で保存されます。

  • タスク:タスクの出力パスは変数をサポートします。たとえば、CreateOfficeConversionTask API を呼び出してドキュメント変換タスクを作成する場合、TargetURI パラメーターを拡張子を含む完全な出力パスに設定する必要があります。TargetURI には、oss://test-bucket/output/{dirname}/{barename}/{index}.jpg のような変数を含めることができます。

注意事項

  • バッチ処理とトリガーの場合、出力パスがスラッシュ (/) で終わらない場合、オブジェクトキーには少なくとも 1 つの変数を含める必要があります。これにより、複数の出力オブジェクトが互いに上書きされるのを防ぎます。

  • タスクの出力パスはスラッシュ (/) で終わることはできませんが、変数を含めることができます。

タスク関連の変数

同期的または非同期的な処理リクエストのタイムスタンプを変数として使用することもできます。たとえば、2022-09-01T02:06:57.798Z に処理リクエストを送信した場合、次の表の変数を使用できます。

パラメーター

説明

値の例

t_year

リクエストが送信されたときの 4 桁の年 (yyyy) です。

2022

t_mon

リクエストが送信されたときの 2 桁の月 (mm) です。

09

t_day

リクエストが送信されたときの 2 桁の日 (dd) です。

01

t_hour

リクエストが送信されたときの時間 (HH、24 時間形式) です。

02

t_min

リクエストが送信されたときの分 (mm) です。

06

t_sec

リクエストが送信されたときの秒 (SS) です。

57

画像処理の変数

oss://test-bucket/path1/path2/name.png という名前のソースオブジェクトが 2022-04-22 14:38:25 にアップロードされた場合、次の表の変数を使用できます。

パラメーター

説明

値の例

bucket

ソースオブジェクトが保存されているバケットの名前です。

test-bucket

key

バケット内のソースオブジェクトのオブジェクトキーです。

重要

この変数を使用する場合、出力パスとソースパスを同一に設定しないでください。同一に設定すると、ソースオブジェクトを上書きしたり、バッチ処理ジョブで無限ループを引き起こしたりする可能性があります。

path1/path2/name.png

dirname

ソースオブジェクトのディレクトリパスです。

重要

この変数を使用する場合、出力パスとソースパスを同一に設定しないでください。同一に設定すると、ソースオブジェクトを上書きしたり、バッチ処理ジョブで無限ループを引き起こしたりする可能性があります。

path1/path2

barename

拡張子を除いたソースオブジェクトの名前です。

重要

この変数を使用する場合、出力パスとソースパスを同一に設定しないでください。同一に設定すると、ソースオブジェクトを上書きしたり、バッチ処理ジョブで無限ループを引き起こしたりする可能性があります。

name

basename

拡張子を含むソースオブジェクトの名前です。

重要

この変数を使用する場合、出力パスとソースパスを同一に設定しないでください。同一に設定すると、ソースオブジェクトを上書きしたり、バッチ処理ジョブで無限ループを引き起こしたりする可能性があります。

name.png

ext

ソースオブジェクトの拡張子です。拡張子は、自動検出された mimeType または オブジェクトキー のサフィックスから取得されます。

png

year

ソースオブジェクトがアップロードされたときの 4 桁の年 (yyyy) です。

2022

mon

ソースオブジェクトがアップロードされたときの 2 桁の月 (mm) です。

04

day

ソースオブジェクトがアップロードされたときの 2 桁の日 (dd) です。

22

hour

ソースオブジェクトがアップロードされたときの時間 (HH、24 時間形式) です。

14

min

ソースオブジェクトがアップロードされたときの分 (mm) です。

38

sec

ソースオブジェクトがアップロードされたときの秒 (SS) です。

25

ドキュメント変換の変数

ドキュメント変換では、ページ番号やシート名などの変数を使用できます。たとえば、sheet1 という名前のシートを含む Excel ドキュメントを JPG 画像に変換する場合、次の表の変数を使用できます。

パラメーター

説明

値の例

autoext

ドキュメント変換タスクにおける出力オブジェクトの拡張子です。

png

index

出力インデックスで、1 から始まります。Word、PDF、および PPT ドキュメントの場合、この変数はページ番号を表します。Excel ドキュメントの場合、sheetindex_sheetsubindex の形式になります。

Word、PDF、PPT の場合: 1

Excel の場合: 1_1

sheetname

Excel ドキュメント内のシートの名前です。

sheet1

sheetindex

Excel ドキュメント内のシートのインデックスで、1 から始まります。

1

sheetsubindex

Excel ドキュメント内のシートのサブインデックスで、1 から始まります。

1

メディア処理の変数

メディア処理では、コンテナの拡張子や解像度などの変数を使用できます。たとえば、video.mp4 という名前の動画を解像度 1920x1080 の ts セグメントにトランスコードする場合、次の表の変数を使用できます。

パラメーター

説明

値の例

autoext

メディア処理タスクにおける出力オブジェクトの拡張子です。

ts

index

出力インデックスで、1 から始まります。これは、セグメント化されたトランスコーディングやフレーム抽出などの複数出力シナリオで使用されます。

1

streamindex

オーディオまたはビデオストリームの ID です。オーディオとビデオストリームの ID は、それぞれ独立して 0 から順に増加します。

0

resolution

トランスコーディングに設定された解像度です。これは動画トランスコーディングでのみ利用可能です。

1920x1080

REST API の使用

アプリケーションに高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。そのためには、署名を手動で計算するコードを記述する必要があります。

処理パラメーターまたはスタイルパラメーターを PostObject リクエストに追加することで、オブジェクトを処理できます。詳細については、「名前を付けて保存」をご参照ください。

例 1:ドキュメント形式の変換

次の RESTful API の例は、処理パラメーターを PostObject リクエストに追加して example.docx の形式を変換する方法を示しています。名前を付けて保存 (sys/saveas) 操作の b (バケット) および o (オブジェクト) パラメーターでは変数を使用できます。

  • pages_MS0xMA:ドキュメントの 1 ページから 10 ページを変換します。MS0xMA は "1-10" の Base64 エンコードされた値です。

  • target_png:ドキュメントを PNG 画像形式に変換します。

  • source_docx:ソースオブジェクトのタイプが DOCX であることを指定します。

  • sys/saveas:名前を付けて保存。

    • b_e2J1Y2tldH0:トランスコーディング完了後、{bucket} 変数によって、生成された画像がソースバケットに保存されます。e2J1Y2tldH0 は {bucket} の Base64 エンコードされた値です。

    • o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw:オブジェクトを doc_images ディレクトリに保存します。オブジェクトキーでは、example.docx のページ番号に対応する {index} 変数を使用します。ZG9jX2ltYWdlcy97aW5kZXh9LnBuZwdoc_images/{index}.png の Base64 エンコードされた値です。

POST /example.docx?x-oss-async-process HTTP/1.1
Host: doc-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
 // example.docx オブジェクトの 1 ページから 10 ページを PNG 画像に変換します。処理されたオブジェクトは oss://source-bucket/doc_images/page-number.png に保存されます。
x-oss-async-process=doc/convert,pages_MS0xMA,target_png,source_docx|sys/saveas,b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw

例 2:動画トランスコーディング

この例では、複数の処理パラメーターを設定して example.avi オブジェクトをトランスコードする方法を示します。

  • f_mp4:トランスコードされたメディアファイルのコンテナを MP4 に設定します。

  • vcodec_h265:ビデオストリームの形式を H.265 に設定します。

  • s_1920x1080:解像度を 1920x1080 に設定します。

  • vb_2000000:ビデオビットレートを 2 Mbps に設定します。

  • fps_30:ビデオフレームレートを 30 fps に設定します。

  • acodec_aac:オーディオエンコーディング形式を AAC に設定します。

  • ab_100000:オーディオビットレートを 100 Kbps に設定します。

  • sn_1:字幕ストリームを無効にします。

  • sys/saveas:名前を付けて保存。

    • b_e2J1Y2tldH0:トランスコーディング完了後、{bucket} 変数を使用して、生成されたオブジェクトがソースバケットに保存されます。e2J1Y2tldH0 は {bucket} の Base64 エンコードされた値です。

    • o_b3V0cHV0LnthdXRvZXh0fQ:{autoext} 変数によってオブジェクトに自動的に拡張子が追加され、output.mp4 という名前のオブジェクトとして保存されます。b3V0cHV0LnthdXRvZXh0fQoutput.{autoext} の Base64 エンコードされた値です。

POST /example.avi?x-oss-async-process HTTP/1.1
Host: video-demo.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
x-oss-async-process=video/convert,f_mp4,vcodec_h265,s_1920x1080,vb_2000000,fps_30,acodec_aac,ab_100000,sn_1|sys/saveas,b_e2J1Y2tldH0,o_b3V0cHV0LnthdXRvZXh0fQ