create-select-object-metaコマンドを使用して、CSVオブジェクトの行の総数と列の総数、分割数など、ターゲットオブジェクトに関する情報を照会します。 要求された情報がオブジェクトに存在しない場合、システムはオブジェクト全体をスキャンして、前の情報を分析して保存します。 オブジェクトに対してAPI操作を再度呼び出すと、保存された情報が返されます。 システムはオブジェクト全体をスキャンしません。
使用上の注意
デフォルトでは、Alibaba Cloudアカウントにはオブジェクトを管理する権限があります。 RAMユーザーとして、またはSecurity Token Service (STS) を使用してオブジェクトを管理するには、oss:PutObject権限が必要です。 詳細については、「RAMユーザーへのカスタムポリシーのアタッチ」をご参照ください。
コマンド構文
ossutil api create-select-object-meta --bucket value --key value --select-meta-request value [flags]パラメーター | タイプ | 説明 |
-- bucket | String | バケットの名前。 |
-- キー | String | オブジェクトのフルパス。 |
-- select-meta-request | String | CreateSelectObjectMetaリクエストを格納するコンテナ。 |
create-select-object-metaコマンドは、CreateSelectObjectMeta操作に対応します。 CreateSelectObjectMeta操作のパラメーターの詳細については、「CreateSelectObjectMeta」をご参照ください。
-- select-meta-request
-- select-meta-request設定オプションは、XML形式とJSON形式の両方をサポートします。 オプションの値に 'file:// 'プレフィックスが含まれている場合、設定パラメーターは指定されたファイルから読み取られます。
XML 形式:
<SelectMetaRequest> <InputSerialization> <CompressionType>string</CompressionType> <CSV> <RecordDelimiter>string</RecordDelimiter> <FieldDelimiter>string</FieldDelimiter> <QuoteCharacter>string</QuoteCharacter> <CommentCharacter>string</CommentCharacter> <Range>string</Range> <AllowQuotedRecordDelimiter>boolean</AllowQuotedRecordDelimiter> <FileHeaderInfo>string</FileHeaderInfo> </CSV> <JSON> <Range>string</Range> <ParseJsonNumberAsString>boolean</ParseJsonNumberAsString> <Type>string</Type> </JSON> </InputSerialization> <OverwriteIfExists>boolean</OverwriteIfExists> </SelectMetaRequest>JSON 形式:
{ "InputSerialization": { "CompressionType": "string", "CSV": { "CommentCharacter": "string", "Range": "string", "AllowQuotedRecordDelimiter": boolean, "FileHeaderInfo": "string", "RecordDelimiter": "string", "FieldDelimiter": "string", "QuoteCharacter": "string" }, "JSON": { "Type": "string", "Range": "string", "ParseJsonNumberAsString": boolean } }, "OverwriteIfExists": boolean }
サポートされているグローバルコマンドラインオプションの詳細については、「コマンドラインオプション」をご参照ください。
例
examplebucketのexampleobjectに関する情報 (行、列の総数、分割数など) を照会します。 この操作は、CSVオブジェクトのリクエスト構文をサポートします。select-meta-request.xmlという名前の構成ファイルを作成し、次のコードを追加します。
<?xml version="1.0"?> <CsvMetaRequest> <InputSerialization> <CSV> <RecordDelimiter>Cg==</RecordDelimiter> <FieldDelimiter>LA==</FieldDelimiter> <QuoteCharacter>Ig==</QuoteCharacter> </CSV> </InputSerialization> <OverwriteIfExisting>false</OverwriteIfExisting> </CsvMetaRequest>サンプルコマンド:
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request file://select-meta-request.xmlselect-meta-request.jsonという名前の構成ファイルを作成し、次のコードを追加します。
{ "InputSerialization": { "CSV": { "RecordDelimiter": "Cg==", "FieldDelimiter": "LA==", "QuoteCharacter": "Ig==" } }, "OverwriteIfExisting": "false" }サンプルコマンド:
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request file://select-meta-request.json次のコマンドでパラメーターをJSON形式で設定します。
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request "{\"InputSerialization\":{\"CSV\":{\"RecordDelimiter\":\"Cg==\",\"FieldDelimiter\":\"LA==\",\"QuoteCharacter\":\"Ig==\"}},\"OverwriteIfExisting\":\"false\"}"
examplebucketのexampleobjectに関する情報 (行、列の総数、分割数など) を照会します。 この操作は、JSONオブジェクトのリクエスト構文をサポートします。select-request.xmlという名前の構成ファイルを作成し、次のコードを追加します。
<?xml version="1.0"?> <JsonMetaRequest> <InputSerialization> <JSON> <Type>LINES</Type> </JSON> </InputSerialization> <OverwriteIfExisting>false</OverwriteIfExisting> </JsonMetaRequest>サンプルコマンド:
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request file://select-meta-request.xmlselect-request.jsonという名前の構成ファイルを作成し、次のコードを追加します。
{ "InputSerialization": { "JSON": { "Type": "LINES" } }, "OverwriteIfExisting": "false" }サンプルコマンド:
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request file://select-meta-request.json次のコマンドでパラメーターをJSON形式で設定します。
ossutil api create-select-object-meta --bucket examplebucket --key exampleobject --select-meta-request "{\"InputSerialization\":{\"JSON\":{\"Type\":\"LINES\"}},\"OverwriteIfExisting\":\"false\"}"