パッケージダウンロード API
操作説明
この API はパブリックプレビュー中です。ご不明な点がございましたら、DingTalk グループにご参加いただき、フィードバックをお寄せください。グループ番号については、「お問い合わせ」をご参照ください。
この API は現在、パッケージングのみをサポートしており、圧縮はサポートしていません。圧縮機能は後日追加される予定です。
-
この API を使用する前に、Intelligent Media Management (IMM) の課金方法と料金を必ずご確認ください。
重要 非同期タスクの完了時間は保証されません。 -
ファイル数の上限:最大 80,000 個のファイルをパッケージングできます。
-
ファイルサイズの上限:パッケージング前のすべてのファイルの合計サイズは 200 GB を超えることはできません。
-
この機能は、OSS の標準ストレージクラスのファイルをサポートしています。他のストレージクラスのファイルをパッケージングするには、まずストレージクラスを変換してください。
-
これは非同期 API です。タスクが開始されると、その情報は 7 日間保存されます。7 日が経過すると、情報は取得できなくなります。タスク情報を表示するには、返された
TaskIdを使用して GetTask または ListTasks 操作を呼び出します。Notification パラメーターを設定して、非同期通知メッセージでタスク情報を受信することもできます。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
imm:CreateFileCompressionTask |
create |
*Project
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| ProjectName |
string |
必須 |
プロジェクトの名前。詳細については、「プロジェクトの作成」をご参照ください。 |
test-project |
| Sources |
array<object> |
任意 |
パッケージングするファイルとそのパッケージングルールのリスト。 説明
このパラメーターまたは `SourceManifestURI` のいずれかを指定します。`Sources` は最大 100 個のパッケージングルールをサポートします。 警告 パッケージングルールが 100 個を超える場合は、`SourceManifestURI` パラメーターを使用してください。 |
|
|
object |
任意 |
パッケージングするファイルの OSS アドレスとそのパッケージングルール。 |
||
| URI |
string |
任意 |
パッケージングするディレクトリまたはファイルの OSS アドレス。 OSS アドレスは `oss://${Bucket}/${Object}` というフォーマットである必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は次のように説明されます:
|
oss://test-bucket/test-object |
| Alias |
string |
任意 |
出力圧縮ファイル内でのソースファイルの新しいパスまたは名前を指定します。
説明
|
/new-dir/ |
| Mode |
string |
任意 |
パッケージングルールのパターンマッチングモード。有効な値には
列挙値:
|
fullname |
| CredentialConfig | CredentialConfig |
任意 |
特別な要件がない場合は、このパラメーターを空のままにしてください。 チェーンドオーソライゼーションの構成。このパラメーターは必須ではありません。詳細については、「チェーンドオーソライゼーションを使用して他のエンティティのリソースにアクセスする」をご参照ください。 |
|
| SourceManifestURI |
string |
任意 |
マニフェストファイルが保存されているアドレス。マニフェストファイルは、`Sources` 構造を JSON フォーマットで OSS に保存します。これは、パッケージングするファイルが多いシナリオに適しています。 説明
このパラメーターまたは 警告 コンテンツを OSS に保存する場合、このパラメーターにはファイルの OSS アドレスを指定します。 ファイル構造の例を次に示します: |
oss://test-bucket/test-object.json |
| TargetURI |
string |
必須 |
出力ファイルの OSS アドレス。圧縮ファイルは、このパスのファイル名 (例: OSS アドレスは `oss://${Bucket}/${Object}` というフォーマットである必要があります。`${Bucket}` は、現在のプロジェクトと同じリージョンにある OSS バケットの名前です。`${Object}` は、ファイル名拡張子を含むファイルの完全なパスです。 |
oss://test-bucket/test-target-object.zip |
| CompressedFormat |
string |
任意 |
ファイルパッケージングの圧縮フォーマット。 説明
現在、zip フォーマットのみがサポートされています。 |
zip |
| UserData |
string |
任意 |
カスタムユーザーデータ。このデータは非同期通知メッセージで返され、通知を内部システムに関連付けるのに役立ちます。最大長は 2,048 バイトです。 |
test-data |
| Notification | Notification |
任意 |
メッセージ通知設定。詳細については、Notification データ型をご参照ください。非同期通知メッセージのフォーマットについては、「非同期通知メッセージフォーマット」をご参照ください。 説明
IMM API のコールバックは現在、Webhook アドレスの指定をサポートしていません。代わりに MNS を使用してください。 |
典型的なシナリオにおけるパッケージングルールの例
以下の例は、サンプルファイル構造に基づいて、典型的なシナリオでパッケージングルールを構成する方法を示しています:
(bucket)
├── test-dir1
│ ├── file1.txt
│ ├── file2.doc
│ ├── file3.png
│ └── my-file.json
└── test-dir2
├── AAA
│ └── file.txt
├── AAA
├── file6.doc
├── file7.doc
└── file8.doc
指定されたディレクトリのパッケージング
test-dir1 ディレクトリ内のすべてのファイルを test-dir という名前の指定されたディレクトリにパッケージングするには、次のパッケージングルールを使用します:
[
{
"URI" : "oss://bucket/test-dir1/",
"Alias" : "/test-dir/"
}
]
生成された圧縮ファイルの構造は次のとおりです:
.
└── test-dir
├── file1.txt
├── file2.doc
├── file3.png
└── my-file.json
指定されたプレフィックスを持つファイルのパッケージング
プレフィックスが test-dir1/file のすべてのファイルを test-dir という名前の指定されたディレクトリにパッケージングするには、次のパッケージングルールを使用します:
[
{
"URI" : "oss://bucket/test-dir1/file",
"Alias" : "/test-dir/"
}
]
生成された圧縮ファイルの構造は次のとおりです:
.
└── test-dir
├── file1.txt
├── file2.doc
└── file3.png
プレフィックスモードを使用してパッケージングする場合、プレフィックスがファイルとフォルダの両方に一致すると、ファイルとフォルダの両方が圧縮ファイルにパッケージングされることに注意してください。例:
[
{
"URI" : "oss://bucket/test-dir2/AAA",
"Alias" : "/AAA/"
}
]
生成された圧縮ファイルの構造は次のとおりです:
.
└── AAA
├── AAA
└── file.txt
指定されたファイルのパッケージング
プレフィックスモードを使用したくない場合は、`mode` パラメーターを設定して、指定されたファイルのみをパッケージングします:
[
{
"URI" : "oss://bucket/test-dir2/AAA",
"Alias" : "AAA",
"mode" : "fullname",
},
{
"URI" : "oss://bucket/test-dir1/",
"Alias" : "/test-dir1/",
"mode" : "fullname",
}
]
生成された圧縮ファイルの構造は次のとおりです:
.
├── AAA
└── test-dir1
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
レスポンス構造体。 |
||
| RequestId |
string |
リクエスト ID。 |
EC564A9A-BA5C-4499-A087-D9B9E76E***** |
| EventId |
string |
イベント ID。 |
0ED-1Bz8z71k5TtsUejT4UJ16Es***** |
| TaskId |
string |
タスク ID。 |
FileCompression-3579a380-6f7a-4a9d-b9d2-65996***** |
例
成功レスポンス
JSONJSON
{
"RequestId": "EC564A9A-BA5C-4499-A087-D9B9E76E*****",
"EventId": "0ED-1Bz8z71k5TtsUejT4UJ16Es*****",
"TaskId": "FileCompression-3579a380-6f7a-4a9d-b9d2-65996*****"
}
エラーコード
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。