Todos os produtos
Search
Central de documentação

Object Storage Service:crie um dataset no estilo mapa para acesso aleatório a partir de dados no oss

Última atualização: Jul 03, 2026

O `OssMapDataset` é ideal para cenários com pequenos volumes de dados e memória suficiente que exigem acesso aleatório frequente e processamento paralelo. Este tópico descreve como construir um dataset usando o `OssMapDataset`.

Pré-requisitos

OSS Connector for AI/ML está instalado e configurado. Para mais informações, consulte Instalar o OSS Connector for AI/ML e Configurar o OSS Connector for AI/ML.

Construa um dataset

Métodos

Você pode construir um dataset com `OssMapDataset` de três formas:

  • Prefixo OSS_URI: Adequado para cenários em que os caminhos de armazenamento no OSS seguem um padrão uniforme.

  • Lista de OSS_URIs: Indicada para casos em que os caminhos de armazenamento no OSS são específicos, mas dispersos.

  • Arquivo de manifesto: Reduz a sobrecarga das operações de `list object` do OSS. Este método é apropriado para datasets com muitos arquivos, como dezenas de milhões, carregados repetidamente e para buckets onde o recurso de recuperação escalar do OSS está ativado.

Construa um dataset a partir de um prefixo OSS_URI

Este exemplo demonstra como usar o método `from_prefix` do `OssMapDataset` para criar um dataset a partir de um prefixo (OSS_URI) especificado no OSS.

from osstorchconnector import OssMapDataset

ENDPOINT = "http://oss-cn-beijing-internal.aliyuncs.com"
REGION = "cn-beijing"
CONFIG_PATH = "/etc/oss-connector/config.json"
CRED_PATH = "/root/.alibabacloud/credentials"
OSS_URI = "oss://ai-testset/EnglistImg/Img/BadImag/Bmp/Sample001/"

# Build a dataset using the from_prefix method of OssMapDataset.
map_dataset = OssMapDataset.from_prefix(oss_uri=OSS_URI, endpoint=ENDPOINT, cred_path=CRED_PATH, config_path=CONFIG_PATH, region=REGION)

# Randomly access an object in the created dataset.
item = map_dataset[0]
print(item.key)
print(item.size)
content = item.read()
print(len(content))
item.close()

# Traverse the objects in the dataset.
for item in map_dataset:
    print(item.key)
    print(item.size)
    content = item.read()
    print(len(content))
    item.close()

Construa um dataset a partir de uma lista de OSS_URIs

Este exemplo mostra como usar o método `from_objects` do `OssMapDataset` para criar um dataset a partir de uma lista especificada de OSS_URIs.

from osstorchconnector import OssMapDataset

ENDPOINT = "http://oss-cn-beijing-internal.aliyuncs.com"
REGION = "cn-beijing"
CONFIG_PATH = "/etc/oss-connector/config.json"
CRED_PATH = "/root/.alibabacloud/credentials"

# uris is a string iterator that contains multiple OSS_URIs.
uris = [
    "oss://ai-testset/EnglistImg/Img/BadImag/Bmp/Sample001/img001-00001.png",
    "oss://ai-testset/EnglistImg/Img/BadImag/Bmp/Sample001/img001-00002.png",
    "oss://ai-testset/EnglistImg/Img/BadImag/Bmp/Sample001/img001-00003.png"
]

# Build a dataset using the from_objects method of OssMapDataset.
map_dataset = OssMapDataset.from_objects(object_uris=uris, endpoint=ENDPOINT, cred_path=CRED_PATH, config_path=CONFIG_PATH, region=REGION)

# Randomly access an object in the created dataset.
item = map_dataset[1]
print(item.key)
print(item.size)
content = item.read()
print(len(content))
item.close()

# Traverse the objects in the dataset.
for item in map_dataset:
    print(item.key)
    print(item.size)
    content = item.read()
    print(len(content))
    item.close()