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

Object Storage Service:変数

最終更新日:Apr 22, 2025

データ処理機能を使用する場合、各オブジェクトは、処理済みファイルに特定の保存パスを必要とするタスクをトリガーします。ファイルの上書きを防ぐには、出力パスが動的であることを確認する必要があります。出力パスでは、バケット名、オブジェクト名、オブジェクトがアップロードされた時刻など、ソースオブジェクトに関する情報を使用できます。たとえば、ビデオフレーム抽出タスクの出力パスを oss://test-bucket/{dirname}/{barename}_output.{autoext} として指定します。処理済みオブジェクトの名前は ソースオブジェクト名_output になります。処理済みオブジェクトには接尾辞が自動的に追加されます。

シナリオ

OSS コンソールでの使用シナリオ

  • タスク: データ処理タスクでは、出力パスでソース オブジェクトに関する情報を使用できます。たとえば、ドキュメントを jpg 画像に変換する場合、出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定できます。ここで、{autoext} はドキュメント変換タスク中に jpg に置き換えられます。処理済みオブジェクトは oss://test-bucket/output/ソースオブジェクトディレクトリ/ソースオブジェクト名/画像シリアル番号.jpg に保存されます。

  • バッチ処理: バッチ処理ジョブが作成されると、データ処理タスクが生成されます。上書きを防ぐため、処理済みオブジェクトの出力パスに変数を指定することをお勧めします。たとえば、複数のビデオから一度に png フレームをキャプチャする場合、png フレームの出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定します。ここで、{autoext}png に置き換えられます。 png フレームは oss://test-bucket/output/ソースビデオディレクトリ/ソースビデオ名/フレームシーケンス番号.png に保存されます。

  • トリガー: トリガーを作成すると、新しいオブジェクトごとにタスクが作成されます。上書きを防ぐため、トリガーを作成するときに、処理済みオブジェクトの出力パスに変数を指定することをお勧めします。たとえば、ドキュメントを jpg 画像に変換するトリガーを作成する場合、jpg 画像の出力パスを oss://test-bucket/output/{dirname}/{barename}/{index}.{autoext} に設定します。ここで、{autoext} はドキュメント変換タスク中に jpg に置き換えられます。 jpg 画像は oss://test-bucket/output/ソースオブジェクトディレクトリ/ソースオブジェクト名/画像シーケンス番号.jpg に保存されます。

API 使用シナリオ

  • sys/saveas パラメーター: sys/saveas パラメーターの b オプションと o オプションでは変数をサポートしています。たとえば、example.docx という名前のドキュメントの 1 ページ目から 10 ページ目を png 画像に変換する場合、sys/saveas パラメーターを b_e2J1Y2tldH0,o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw に設定します。ここで、e2J1Y2tldH0 は {bucket} の Base64 エンコード値、ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw は doc_images/{index}.png の Base64 エンコード値です。この場合、png 画像はソースオブジェクトと同じバケットに保存され、png 画像の出力パスは doc_images/index.png になります。

  • タスク: データ処理タスクの処理済みオブジェクトの出力パスには、変数を含めることができます。CreateOfficeConversionTask 操作を呼び出してドキュメント変換タスクを作成する場合、TargetURI パラメーターをファイル拡張子を含む処理済みオブジェクトの完全な出力パスに設定する必要があります。 TargetURI パラメーターでは変数を使用できます。例: oss://test-bucket/output/{dirname}/{barename}/{index}.jpg

使用上の注意

  • バッチ処理ジョブまたはトリガータスクの処理済みオブジェクトの出力パスがスラッシュ (/) で終わっていない場合は、処理済みオブジェクトの名前に少なくとも 1 つの変数を含める必要があります。そうしないと、複数の処理済みオブジェクトが互いに上書きされる可能性があります。

  • データ処理タスクの処理済みオブジェクトの出力パスはスラッシュ (/) で終わることはできませんが、変数で終わることはできます。

データ処理タスクに関連する変数

リクエストが同期または非同期で処理される時点を変数として使用できます。たとえば、2022-09-01T02:06:57.798Z に送信されたリクエストで、次の表の変数を使用できます。

変数

説明

t_year

リクエストが送信された年。形式: yyyy。

2022

t_mon

リクエストが送信された月。形式: mm。

09

t_day

リクエストが送信された日。形式: dd。

01

t_hour

リクエストが送信された時間。形式: HH。

02

t_min

リクエストが送信された分。形式: MM。

06

t_sec

リクエストが送信された秒。形式: SS。

57

IMG に関連する変数

この例では、2022-04-22 14:38:25 にアップロードされた oss://test-bucket/path1/path2/name.png という名前のソース オブジェクトでデータ処理タスクが実行されます。データ処理タスクの処理済みオブジェクトの出力パスには、次の表の変数を含めることができます。

変数

説明

bucket

ソース オブジェクトが格納されているソース バケットの名前。

test-bucket

key

ソース バケット内のソース オブジェクトの名前。

重要

処理済みオブジェクトの名前をソース オブジェクトの名前に設定しないでください。そうしないと、ソース オブジェクトが上書きされるか、バッチ処理中にデータ処理タスクがループで実行されます。

path1/path2/name.png

dirname

ソース オブジェクトが格納されているディレクトリ。

重要

処理済みオブジェクトの名前をソース オブジェクトの名前に設定しないでください。そうしないと、ソース オブジェクトが上書きされるか、バッチ処理中にデータ処理タスクがループで実行されます。

path1/path2

barename

拡張子を除くソース オブジェクトの名前。

重要

処理済みオブジェクトの名前をソース オブジェクトの名前に設定しないでください。そうしないと、ソース オブジェクトが上書きされるか、バッチ処理中にデータ処理タスクがループで実行されます。

name

basename

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

重要

処理済みオブジェクトの名前をソース オブジェクトの名前に設定しないでください。そうしないと、ソース オブジェクトが上書きされるか、バッチ処理中にデータ処理タスクがループで実行されます。

name.png

ext

ソース オブジェクトの拡張子。Multipurpose Internet Mail Extensions (MIME) タイプまたは key 変数に基づいて自動的に取得されます。

png

year

ソース オブジェクトがアップロードされた年。形式: yyyy。

2022

mon

ソース オブジェクトがアップロードされた月。形式: mm。

04

day

ソース オブジェクトがアップロードされた日。形式: dd。

22

hour

ソース オブジェクトがアップロードされた時間。形式: HH。

14

min

ソース オブジェクトがアップロードされた分。形式: MM。

38

sec

ソース オブジェクトがアップロードされた秒。形式: SS。

25

ドキュメント変換に関連する変数

ドキュメント変換タスクでは、ページ番号とシート名を変数として使用できます。たとえば、sheet1 という名前のシートが 1 つ含まれている Excel オブジェクトを JPG 画像に変換する場合、JPG 画像の出力パスで次の表の変数を使用できます。

変数

説明

autoext

処理済みオブジェクトの拡張子。

png

index

ソース オブジェクト内のコンテンツのシーケンスを指定するインデックス。行番号は 1 から始まります。Word、PDF、PPT オブジェクトの場合、変数はページ番号です。Excel オブジェクトの場合、パラメーターは sheetindex_sheetsubindex です。

Word、PDF、PPT の場合: 1_1

Excel の場合: 1_1

sheetname

Excel オブジェクト内のシートの名前。

sheet1

sheetindex

Excel オブジェクト内のシートのインデックス。最小値: 1。

1

sheetsubindex

Excel オブジェクト内のシートのサブインデックス。最小値: 1。

1

メディア処理に関連する変数

コンテナの拡張子や解像度などの項目は、メディア処理の変数として使用できます。たとえば、video.mp4 という名前のビデオでマルチパート トランスコーディングを実行して、解像度が 1920 x 1080 の処理済み ts ビデオを取得する場合、処理済みビデオの出力パスで次の表の変数を使用できます。

変数

説明

autoext

メディア処理の処理済みオブジェクトの拡張子。

ts

index

ソース オブジェクト内のコンテンツのシーケンスを指定するインデックス。行番号は 1 から始まります。変数は、マルチパート トランスコーディングとスナップショットのキャプチャに使用されます。

1

streamindex

オーディオ ストリームとビデオ ストリームの ID。最小値: 0。

0

resolution

処理済みオブジェクトの解像度。この変数はビデオでのみ使用できます。

1920x1080

OSS API の使用

ビジネスで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。API を直接呼び出すには、コードに署名計算を含める必要があります。

ソース オブジェクトを処理するために、PostObject リクエストで処理パラメーターまたはスタイル パラメーターを指定できます。詳細については、「sys/saveas」をご参照ください。

例 1: ドキュメント変換

次の例では、PostObject リクエストで処理パラメーターを指定して、example.docx オブジェクトの形式を変換します。 sys/saveas パラメーターの b オプションと o オプションは、処理済みオブジェクトの出力パスで変数として使用されます。

  • pages_MS0xMA: example.docx オブジェクトの 1 ページ目から 10 ページ目までを変換します。MS0xMA は 1 から 10 までの Base64 エンコード値です。

  • target_png: example.docx オブジェクトの形式を png に変換します。

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

  • sys/saveas: 処理済みオブジェクトを特定のバケットに保存します。

    • b_e2J1Y2tldH0: ドキュメント変換タスクが完了すると、{bucket} 変数を指定することで、処理済みオブジェクトがソース バケットに保存されます。 e2J1Y2tldH0 は {bucket} の Base64 エンコード値です。

    • o_ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw: 出力オブジェクトを doc_images ディレクトリに保存し、対応するページ番号を index 変数で指定された名前 (ZG9jX2ltYWdlcy97aW5kZXh9LnBuZw は doc_images/{index}.png の Base64 エンコード値) として使用します。

POST /exmaple.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: OSS qn6q**************:77Dv****************
 
 // example.docx オブジェクトの 1 ページ目から 10 ページ目を png オブジェクトに変換し、png オブジェクトを oss://ソースバケット/doc_images/ページ番号.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: 解像度を 1920 x 1080 に設定します。

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

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

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

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

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

  • sys/saveas: 処理済みオブジェクトを特定のバケットに保存します。

    • b_e2J1Y2tldH0: ビデオ トランスコーディング タスクが完了すると、{bucket} 変数を指定することで、処理済みオブジェクトがソース バケットに保存されます。 e2J1Y2tldH0 は {bucket} の Base64 エンコード値です。

    • o_b3V0cHV0LnthdXRvZXh0fQ: {autoext} 変数は、output.mp4 という名前の処理済みオブジェクトに拡張子を自動的に追加するために指定されています。 b3V0cHV0LnthdXRvZXh0fQ は output.{autoext} の Base64 エンコード値です。

POST /exmaple.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: OSS qn6q**************:77Dv****************
 
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