このトピックでは、単一のファイルを Object Storage Service (OSS) に迅速にアップロードするための簡単な方法であるシンプルアップロードについて説明します。
注意事項
OSS がサポートするリージョンとエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。 Alibaba Cloud アカウント配下の RAM ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。 Alibaba Cloud アcount またはアカウント管理者は、「RAM ポリシー」または「バケットポリシー」を通じて操作権限を付与する必要があります。
API | アクション | 定義 |
PutObject |
| オブジェクトをアップロードします。 |
| オブジェクトのアップロード時に | |
| オブジェクトのアップロード時に、オブジェクトのメタデータに | |
|
サンプルコード
次のコードを使用して、文字列をファイルとして宛先バケットにアップロードできます。
重要
同じ名前のオブジェクトが既に存在するバケットにオブジェクトをアップロードする場合、必要なアクセス権限があれば、新しいオブジェクトは既存のオブジェクトを上書きします。
import Client, { RequestError } from '@aliyun/oss';
// OSS クライアントインスタンスを作成します。
const client = new Client({
// STS 一時アクセス認証情報の AccessKey ID を置き換えます。
accessKeyId: 'yourAccessKeyId',
// STS 一時アクセス認証情報の AccessKey Secret を置き換えます。
accessKeySecret: 'yourAccessKeySecret',
// STS 一時アクセス認証情報のセキュリティトークンを置き換えます。
securityToken: 'yourSecurityToken',
// バケットが配置されているリージョンを指定します。たとえば、バケットが中国 (杭州) リージョンにある場合は、Region を oss-cn-hangzhou に設定します。
region: 'oss-cn-hangzhou',
});
const bucket = 'yourBucketName'; // 使用するバケットの名前に置き換えます。
const key = 'yourObjectName'; // アップロードするオブジェクト (ファイル) の名前に置き換えます。
const putObject = async () => {
try {
// putObject メソッドを呼び出して、指定されたバケットとキーにデータをアップロードし、データをパラメーターとして渡します。
const res = await client.putObject({
bucket, // バケット名。
key, // オブジェクト (ファイル) 名。
data: 'hello world' // アップロードするデータ。この例では、単純な文字列です。
});
// アップロード結果を出力します。
console.log(JSON.stringify(res));
} catch (err) {
// リクエスト中に発生した例外をキャッチします。
if (err instanceof RequestError) {
// エラーが既知の型である場合は、エラーコード、メッセージ、リクエスト ID、ステータスコード、EC コードなどの情報を出力します。
console.log('code: ', err.code);
console.log('message: ', err.message);
console.log('requestId: ', err.requestId);
console.log('status: ', err.status);
console.log('ec: ', err.ec);
} else {
// その他の不明な型のエラーを出力します。
console.log('unknown error: ', err);
}
}
}
// putObject 関数を呼び出してアップロード操作を実行します。
putObject();