Object Storage Service (OSS) に保存されているオブジェクトは、キー、データ、およびオブジェクトメタデータで構成されます。 オブジェクトメタデータは、オブジェクトを記述する。 オブジェクトメタデータには、標準HTTPヘッダーとユーザーメタデータが含まれます。 標準のHTTPヘッダーを設定することで、オブジェクトキャッシュポリシーや強制オブジェクトダウンロードポリシーなどのカスタムHTTPリクエストポリシーを作成できます。 オブジェクトのユーザーメタデータを設定して、オブジェクトの目的または属性を識別できます。
使用上の注意
このトピックでは、中国 (杭州) リージョンのパブリックエンドポイントを使用します。 OSSと同じリージョンにある他のAlibaba CloudサービスからOSSにアクセスする場合は、内部エンドポイントを使用します。 OSSリージョンとエンドポイントの詳細については、「リージョン、エンドポイント、オープンポート」をご参照ください。
このトピックでは、アクセス資格情報は環境変数から取得します。 アクセス資格情報の設定方法の詳細については、「アクセス資格情報の設定」をご参照ください。
このトピックでは、OSSエンドポイントを使用してOSSClientインスタンスを作成します。 カスタムドメイン名またはSTS (Security Token Service) を使用してOSSClientインスタンスを作成する場合は、「初期化」をご参照ください。
オブジェクトメタデータを設定するには、
oss:PutObject
権限が必要です。 オブジェクトメタデータを照会するには、oss:GetObject
権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
サンプルコード
オブジェクトのアップロード時のオブジェクトメタデータの設定
オブジェクトメタデータの変更
オブジェクトメタデータの照会
よくある質問
オブジェクトをバケットにアップロードし、同時にオブジェクトのメタデータを設定する場合、バケット内の同じ名前の既存のオブジェクトが上書きされないようにするにはどうすればよいですか?
次のいずれかの方法を使用して、バケット内の同じ名前のオブジェクトが上書きされないようにすることができます。
バージョン管理の有効化
バケットのバージョン管理を有効にすると、OSSは既存のオブジェクトを以前のバージョンと同じ名前で保持し、アップロードしたオブジェクトを現在のバージョンとして保存します。 以前のバージョンはいつでも復元できます。 詳細については、「バージョン管理の有効化」をご参照ください。
アップロードリクエストにx-oss-forbid-overwriteヘッダーを含める
アップロード要求にx-oss-forbid-overwriteヘッダーを含め、ヘッダーをtrueに設定できます。 既存のオブジェクトと同じ名前のオブジェクトをアップロードすると、アップロードは失敗し、OSSはFileAlreadyExistsエラーを返します。 詳しくは、「PutObject」 をご参照ください。
関連ドキュメント
オブジェクトメタデータのクエリに使用する完全なサンプルコードについては、『GitHub』をご参照ください。
シンプルアップロード中にオブジェクトメタデータを設定するために呼び出すことができるAPI操作の詳細については、「PutObject」をご参照ください。
オブジェクトメタデータを変更するために呼び出すことができるAPI操作の詳細については、「CopyObject」をご参照ください。
オブジェクトメタデータを照会するために呼び出すAPI操作の詳細については、「GetObjectMeta」および「HeadObject」をご参照ください。