Todos los productos
Search
Centro de documentos

Object Storage Service:select-object

Última actualización: Sep 03, 2026

El comando select-object se utiliza para ejecutar sentencias SQL sobre objetos y consultar los resultados de la ejecución.

Notas de uso

De forma predeterminada, una cuenta de Alibaba Cloud tiene los permisos necesarios para realizar operaciones en objetos. Para realizar operaciones como usuario de RAM o mediante Security Token Service (STS), se requiere el permiso oss:GetObject. Para obtener más información, consulte Grant a custom policy.

Sintaxis del comando

ossutil api select-object --bucket value --key value --select-request value [flags]

Parámetro

Tipo

Descripción

--bucket

string

Nombre del bucket.

--key

string

Ruta completa del objeto.

--select-request

string

Contenedor que almacena las solicitudes de SelectObject.

Nota

El comando select-object corresponde a la operación SelectObject. Para obtener más información sobre los parámetros de la operación SelectObject, consulte SelectObject.

--select-request

La opción de configuración --select-request admite formatos XML y JSON. Si el valor de la opción contiene el prefijo 'file://', los parámetros de configuración se leen del archivo especificado.

  • Formato XML:

    <SelectRequest>
      <Expression>string</Expression>
      <InputSerialization>
        <CompressionType>string</CompressionType>
        <CSV>
          <Range>string</Range>
          <AllowQuotedRecordDelimiter>boolean</AllowQuotedRecordDelimiter>
          <FileHeaderInfo>string</FileHeaderInfo>
          <RecordDelimiter>string</RecordDelimiter>
          <FieldDelimiter>string</FieldDelimiter>
          <QuoteCharacter>string</QuoteCharacter>
          <CommentCharacter>string</CommentCharacter>
        </CSV>
        <JSON>
          <Range>string</Range>
          <ParseJsonNumberAsString>boolean</ParseJsonNumberAsString>
          <Type>string</Type>
        </JSON>
      </InputSerialization>
      <OutputSerialization>
        <CSV>
          <RecordDelimiter>string</RecordDelimiter>
          <FieldDelimiter>string</FieldDelimiter>
        </CSV>
        <JSON>
          <RecordDelimiter>string</RecordDelimiter>
        </JSON>
        <KeepAllColumns>boolean</KeepAllColumns>
        <OutputHeader>boolean</OutputHeader>
        <OutputRawData>boolean</OutputRawData>
        <EnablePayloadCrc>boolean</EnablePayloadCrc>
      </OutputSerialization>
      <Options>
        <MaxSkippedRecordsAllowed>integer</MaxSkippedRecordsAllowed>
        <SkipPartialDataRecord>boolean</SkipPartialDataRecord>
      </Options>
    </SelectRequest>
  • Formato JSON:

    {
      "Options": {
        "SkipPartialDataRecord": boolean,
        "MaxSkippedRecordsAllowed": integer
      },
      "Expression": "string",
      "InputSerialization": {
        "CompressionType": "string",
        "CSV": {
          "FileHeaderInfo": "string",
          "RecordDelimiter": "string",
          "FieldDelimiter": "string",
          "QuoteCharacter": "string",
          "CommentCharacter": "string",
          "Range": "string",
          "AllowQuotedRecordDelimiter": boolean
        },
        "JSON": {
          "Range": "string",
          "ParseJsonNumberAsString": boolean,
          "Type": "string"
        }
      },
      "OutputSerialization": {
        "CSV": {
          "RecordDelimiter": "string",
          "FieldDelimiter": "string"
        },
        "JSON": {
          "RecordDelimiter": "string"
        },
        "KeepAllColumns": boolean,
        "OutputHeader": boolean,
        "OutputRawData": boolean,
        "EnablePayloadCrc": boolean
      }
    }
Nota

Para consultar las opciones globales de línea de comandos compatibles, consulte Supported global command line options.

Ejemplos

  • Ejecute sentencias SQL sobre exampleobject en examplebucket. Esta operación es compatible con la sintaxis de solicitud para objetos CSV.

    • Cree un archivo de configuración llamado select-request.xml y agregue a continuación código:

      <?xml version="1.0" encoding="UTF-8"?>
      <SelectRequest>
          <Expression>c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==</Expression>
          <InputSerialization>
              <CSV>
                  <FileHeaderInfo>Use</FileHeaderInfo>
                  <Range>line-range=0-100</Range>
              </CSV>
          </InputSerialization>
          <OutputSerialization>
              <JSON>
                  <RecordDelimiter>,</RecordDelimiter>
              </JSON>
          </OutputSerialization>
      </SelectRequest>

      Comando de ejemplo:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Cree un archivo de configuración llamado select-request.json y agregue a continuación código:

      {
        "Expression": "c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==",
        "InputSerialization": {
          "CSV": {
            "FileHeaderInfo": "Use",
            "Range": "line-range=0-100"
          }
        },
        "OutputSerialization": {
          "JSON": {
            "RecordDelimiter": ","
          }
        }
      }

      Comando de ejemplo:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.json
    • Configure los parámetros en a continuación comando utilizando el formato JSON:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"
  • Ejecute sentencias SQL sobre exampleobject en examplebucket. Esta operación es compatible con la sintaxis de solicitud para objetos JSON.

    • Cree un archivo de configuración llamado select-request.xml y agregue a continuación código:

      <?xml version="1.0" encoding="UTF-8"?>
      <SelectRequest>
          <Expression>c2VsZWN0ICogZnJvbSBvc3NvYmplY3Qub2JqZWN0c1sqXSB3aGVyZSBwYXJ0eSA9ICdEZW1vY3JhdCc=</Expression>
          <InputSerialization>
              <CSV>
                  <SplitRange></SplitRange>
              </CSV>
              <JSON>
                  <Type>DOCUMENT</Type>
                  <SplitRange></SplitRange>
              </JSON>
          </InputSerialization>
          <OutputSerialization>
              <CSV></CSV>
              <JSON>
                  <RecordDelimiter>LA==</RecordDelimiter>
              </JSON>
          </OutputSerialization>
          <Options></Options>
      </SelectRequest>

      Comando de ejemplo:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Cree un archivo de configuración llamado select-request.json y agregue a continuación código:

      {
        "Expression": "c2VsZWN0ICogZnJvbSBvc3NvYmplY3Qub2JqZWN0c1sqXSB3aGVyZSBwYXJ0eSA9ICdEZW1vY3JhdCc=",
        "InputSerialization": {
          "CSV": {},
          "JSON": {
            "Type": "DOCUMENT"
          }
        },
        "OutputSerialization": {
          "JSON": {
            "RecordDelimiter": "LA=="
          }
        }
      }

      Comando de ejemplo:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Configure los parámetros en a continuación comando utilizando el formato JSON:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"