Cria um fluxo de dados entre um sistema de arquivos CPFS de uso geral ou CPFS para Lingjun e um armazenamento de origem.
Descrição da operação
Esta operação é aplicável aos seguintes serviços:
| Serviço | Formato do ID do sistema de arquivos | Versão mínima que suporta fluxos de dados |
| CPFS de uso geral | Começa com cpfs-, como cpfs-125487**** | 2.2.0 e posterior |
| CPFS para Lingjun | Começa com bmcpfs-, como bmcpfs-0015**** | 2.4.0 e posterior |
: O CPFS de uso geral e o CPFS para Lingjun compartilham o mesmo conjunto de operações de API, mas diferem nos valores dos parâmetros e nos recursos suportados. Consulte a seção correspondente com base no serviço que você utiliza.
-
Operações básicas
Você pode criar um fluxo de dados apenas quando o sistema de arquivos CPFS de uso geral ou CPFS para Lingjun estiver no estado Running.
Você pode criar no máximo 10 fluxos de dados para um sistema de arquivos CPFS de uso geral ou CPFS para Lingjun.
A criação de um fluxo de dados geralmente leva de 2 a 5 minutos. Você pode chamar a operação DescribeDataFlows para verificar se o fluxo de dados foi criado.
-
Permissões.
Ao criar um fluxo de dados, o Cloud Parallel File Storage assume as funções vinculadas ao serviço
AliyunServiceRoleForNasOssDatafloweAliyunServiceRoleForNasEventNotificationpara associar o serviço ao fluxo de dados. Para mais informações, consulte Funções vinculadas ao serviço para o Cloud Parallel File Storage. -
Notas de uso para o CPFS de uso geral.
Esta seção se aplica a sistemas de arquivos CPFS de uso geral cujos IDs começam com
cpfs-.-
Cobrança
A cobrança de um fluxo de dados é baseada na largura de banda do fluxo de dados. Para mais informações, consulte Cobrança do CPFS de uso geral.
Se você ativar a atualização automática, o EventBridge será usado para coletar eventos de modificação de objetos do bucket OSS de origem. Você será cobrado por esses eventos. Para mais informações, consulte Cobrança do EventBridge.
-
Especificações do fluxo de dados
A largura de banda do fluxo de dados (Throughput) suporta três especificações: 600 MB/s, 1200 MB/s e 1500 MB/s. A largura de banda do fluxo de dados é a largura de banda de transmissão máxima que o fluxo de dados pode alcançar ao importar ou exportar dados.
A criação de um fluxo de dados consome um endereço IP do vSwitch usado por um ponto de montagem do Cloud Parallel File Storage de uso geral. Certifique-se de que o vSwitch tenha endereços IP suficientes.
Verificação de recursos: Se você definir o parâmetro DryRun Settings como true, o sistema verifica se os recursos necessários para criar um fluxo de dados (data stream) da especificação indicada são suficientes.
-
Fileset
O destino de um fluxo de dados é um fileset em um sistema de arquivos CPFS de uso geral. Um fileset é uma nova estrutura de árvore de diretórios em um sistema de arquivos CPFS de uso geral. É um pequeno sistema de arquivos dentro do sistema de arquivos pai e possui um espaço de inode independente e recursos de gerenciamento.
O fileset já deve existir quando você criar um fluxo de dados e não pode ser aninhado com outros filesets. Você pode criar apenas um fluxo de dados em um fileset, que corresponde a um armazenamento de origem.
Um fileset pode conter no máximo 1 milhão de arquivos. Se o número de arquivos importados do bucket OSS exceder esse limite, um erro
no spaceserá relatado ao criar novos arquivos.
NotaSe o fileset já contiver dados, os dados existentes no fileset serão limpos e substituídos pelos dados sincronizados do bucket OSS após a criação do fluxo de dados.
-
Atualização automática
Após configurar a atualização automática, quando os dados no armazenamento de origem forem alterados, os metadados alterados passarão por sincronização automática para o sistema de arquivos Cloud Parallel File Storage de uso geral. Os dados alterados são carregados sob demanda quando os usuários acessam os arquivos, ou você pode iniciar um nó de fluxo de dados para carregar os dados.
A atualização automática depende do EventBridge para coletar eventos de modificação de objetos do bucket OSS de origem. Você deve primeiro ativar o EventBridge.
O escopo da atualização automática é um prefixo, especificado pelo parâmetro RefreshPath. Você pode configurar no máximo cinco pastas de atualização automática para um fluxo de dados (data stream).
O intervalo de atualização automática (AutoRefreshInterval) é o intervalo de tempo configurado nas Configurações pelo Cloud Parallel File Storage de uso geral para verificar se existem atualizações de dados dentro do prefixo no bucket OSS de origem. Se existirem atualizações de dados, um nó de atualização automática é iniciado. Se a frequência de eventos de modificação de objetos no bucket OSS de origem exceder a capacidade de processamento do fluxo de dados do Cloud Parallel File Storage de uso geral, os nós de atualização automática se acumulam, as atualizações de metadados são atrasadas e o status do fluxo de dados se torna
Misconfigured. Para resolver esse problema, você pode atualizar a especificação do fluxo de dados ou reduzir a frequência de modificações no bucket OSS.Ao configurar a atualização automática para um prefixo em um fluxo de dados do Cloud Parallel File Storage de uso geral, um barramento de eventos é criado no lado do usuário e uma regra de evento é criada para o prefixo do bucket OSS de origem. Quando um objeto no prefixo do bucket OSS de origem é modificado, um evento OSS é gerado no EventBridge e processado pelo fluxo de dados do Cloud Parallel File Storage de uso geral.
NotaO barramento de eventos e a regra de evento criados pelo Cloud Parallel File Storage de uso geral no EventBridge contêm a descrição
Create for cpfs auto refresh. Você não pode modificar ou excluir o barramento de eventos ou a regra de evento. Caso contrário, a atualização automática não poderá permanecer no estado Normal. -
Armazenamento de origem
Apenas o OSS é suportado pelo Cloud Parallel File Storage. O armazenamento de origem (SourceStorage) de um fluxo de dados deve ser um bucket OSS.
Os fluxos de dados do CPFS de uso geral suportam acesso criptografado e não criptografado ao OSS. Se você selecionar o método de acesso criptografado (SSL), certifique-se de que a criptografia em trânsito esteja ativada para o bucket OSS.
Se vários fluxos de dados do CPFS de uso geral ou vários fluxos de dados do mesmo sistema de arquivos CPFS de uso geral usarem o mesmo bucket OSS do Cloud Parallel File Storage, você deverá ativar o versionamento para o bucket OSS para evitar conflitos de dados quando vários sistemas de arquivos CPFS de uso geral exportarem dados para a mesma origem.
- Fluxos de dados OSS entre regiões não são suportados. O bucket OSS deve estar na mesma região que o sistema de arquivos CPFS de uso geral.
Nota
Antes de criar um fluxo de dados, você deve adicionar uma tag (chave: cpfs-dataflow, valor: true) ao bucket OSS de origem para que o fluxo de dados do CPFS de uso geral possa acessar os dados no bucket. Não exclua ou modifique esta tag enquanto o fluxo de dados estiver em uso. Caso contrário, o fluxo de dados do CPFS de uso geral não poderá acessar os dados no bucket.
-
-
Notas de uso para o CPFS para Lingjun.
Esta seção se aplica a sistemas de arquivos CPFS para Lingjun cujos IDs começam com
bmcpfs-.-
Armazenamento de origem
Apenas o OSS é suportado como armazenamento de origem. O armazenamento de origem (SourceStorage) de um fluxo de dados deve ser um bucket OSS.
Os fluxos de dados do CPFS para Lingjun suportam acesso criptografado e não criptografado ao OSS. Se você selecionar o método de acesso criptografado (SSL), certifique-se de que a criptografia em trânsito esteja ativada para o bucket OSS.
Se vários fluxos de dados do CPFS para Lingjun ou vários fluxos de dados do mesmo sistema de arquivos CPFS para Lingjun usarem o mesmo bucket OSS como armazenamento de origem, você deverá ativar o versionamento para o bucket OSS para evitar conflitos de dados quando vários sistemas de arquivos CPFS para Lingjun exportarem dados para a mesma origem.
Fluxos de dados OSS entre regiões não são suportados. O bucket OSS deve estar na mesma região que o sistema de arquivos CPFS para Lingjun.
O CPFS para Lingjun 2.6.0 e versões posteriores suportam a criação de fluxos de dados usando buckets OSS de contas diferentes.
Você precisa definir o parâmetro account id apenas quando usar um bucket OSS de conta diferente.
- Antes de usar um bucket OSS de conta diferente, você deve conceder permissões à conta. Para mais informações, consulte Autorizar fluxos de dados entre contas.
Nota
Antes de criar um fluxo de dados, você deve adicionar uma tag (chave: cpfs-dataflow, valor: true) ao bucket OSS de origem para que o fluxo de dados do CPFS para Lingjun possa acessar os dados no bucket. Não exclua ou modifique esta tag enquanto o fluxo de dados estiver em uso. Caso contrário, o fluxo de dados do CPFS para Lingjun não poderá acessar os dados no bucket.
-
Limites de fluxos de dados em sistemas de arquivos.
Você não pode renomear um diretório não vazio no caminho do sistema de arquivos associado ao fluxo de dados. Caso contrário, um erro Permission Denied ou Directory Not Empty será relatado.
Use caracteres especiais em nomes de diretórios e arquivos com cautela. Os caracteres suportados incluem letras maiúsculas e minúsculas, dígitos, pontos de exclamação (!), hifens (-), sublinhados (_), pontos (.), asteriscos (*) e parênteses (()).
Caminhos ultralongos não são suportados. O comprimento máximo de caminho suportado por um fluxo de dados é de 1.023 caracteres.
-
Limites nas importações de fluxo de dados.
Quando um arquivo de link simbólico é importado para o CPFS para Lingjun, ele é convertido em um arquivo regular contendo dados, e as informações do link simbólico são perdidas.
Se um bucket OSS tiver várias versões, apenas a versão mais recente é copiada.
Nomes de arquivos ou subdiretórios com mais de 255 bytes não são suportados.
-
Limites de exportação de fluxo de dados
-
Limites nas exportações de fluxo de dados
Após a sincronização de um arquivo symlink para o OSS, o arquivo apontado pelo symlink não é sincronizado. Em vez disso, o arquivo symlink se torna um objeto vazio regular sem dados.
Arquivos hardlink são sincronizados com o OSS apenas como arquivos regulares.
Quando arquivos socket, device ou pipe são exportados para um bucket OSS, eles se tornam objetos vazios regulares sem dados.
Caminhos de diretório com mais de 1.023 caracteres não são suportados.
-
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
nas:CreateDataFlow |
create |
*DataFlow.
|
Nenhuma | Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| FileSystemId |
string |
Sim |
O ID do sistema de arquivos.
|
cpfs-099394bd928c**** |
| ClientToken |
string |
Não |
O token de cliente usado para garantir a idempotência da solicitação. Você pode gerar o token em seu cliente para garantir que o token seja exclusivo em diferentes solicitações. O token de cliente pode conter apenas caracteres ASCII e não pode exceder 64 caracteres de comprimento. Para mais informações, consulte Garantir idempotência. Nota
Se você não especificar este parâmetro, o sistema usará automaticamente o RequestId da solicitação de API como o token de cliente. O RequestId de cada solicitação de API pode ser diferente. |
123e4567-e89b-12d3-a456-42665544**** |
| DryRun |
boolean |
Não |
Especifica se deve ser realizado um dry run na solicitação de criação. Um dry run ajuda a verificar a validade dos parâmetros e a disponibilidade de recursos sem realmente criar a instância ou incorrer em taxas. Valores válidos:
|
false |
| Description |
string |
Não |
A descrição do fluxo de dados. Limites:
|
Bucket01 DataFlow |
| SourceSecurityType |
string |
Não |
O tipo de proteção de segurança do armazenamento de origem. Se o armazenamento de origem precisar ser acessado por meio de proteção de segurança, especifique o tipo de proteção de segurança. Valores válidos:
|
SSL |
| SourceStorage |
string |
Sim |
O endereço de acesso do armazenamento de origem. Formato: Onde:
Nota
|
oss://178321033379****:bucket-01 |
| SourceStoragePath |
string |
Não |
O caminho de acesso no bucket de armazenamento de origem. Limites:
Nota
Este parâmetro é obrigatório quando o tipo de sistema de arquivos é CPFS para Lingjun. |
/prefix/ |
| FsetId |
string |
Não |
O ID do fileset. Nota
Este parâmetro é obrigatório quando o tipo de sistema de arquivos é CPFS de uso geral. |
fset-1902718ea0ae**** |
| FileSystemPath |
string |
Não |
O diretório no sistema de arquivos CPFS para Lingjun. Limites:
Nota
Este parâmetro é obrigatório quando o tipo de sistema de arquivos é CPFS para Lingjun. |
/path/ |
| AutoRefreshs |
array<object> |
Não |
As configurações de atualização automática. Nota
Este parâmetro entra em vigor apenas quando o tipo de sistema de arquivos é CPFS de uso geral. |
|
|
object |
Não |
|||
| RefreshPath |
string |
Não |
O diretório de atualização automática. O CPFS de uso geral registra eventos de modificação de dados do armazenamento de origem, verifica se os dados de origem neste diretório foram atualizados e importa automaticamente os dados atualizados. Por padrão, este parâmetro está vazio. As atualizações de dados no armazenamento de origem não são importadas automaticamente para o CPFS de uso geral. Você deve criar uma tarefa manual para importar as atualizações. Limites:
|
/prefix1/prefix2/ |
| AutoRefreshPolicy |
string |
Não |
A política de atualização automática. Esta política determina como as atualizações de dados do armazenamento de origem são importadas para o CPFS de uso geral.
Nota
Este parâmetro entra em vigor apenas quando o tipo de sistema de arquivos é CPFS de uso geral. Valores válidos:
|
None |
| AutoRefreshInterval |
integer |
Não |
O intervalo de atualização automática. O CPFS de uso geral verifica se existem atualizações de dados no diretório neste intervalo. Se existirem atualizações de dados, uma tarefa de atualização automática é iniciada. Unidade: minutos. Valores válidos: 10 a 525600. Valor padrão: 10. Nota
Este parâmetro entra em vigor apenas quando o tipo de sistema de arquivos é CPFS de uso geral. |
10 |
| Throughput |
integer |
Não |
A largura de banda de transmissão máxima do fluxo de dados. Unidade: MB/s. Valores válidos:
Nota
A largura de banda de transmissão do fluxo de dados deve ser menor que a largura de banda de E/S do sistema de arquivos. Este parâmetro é obrigatório quando o tipo de sistema de arquivos é CPFS de uso geral. Valores válidos:
|
600 |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| DataFlowId |
string |
O ID do fluxo de dados. |
df-194433a5be31**** |
| RequestId |
string |
O ID da solicitação. |
473469C7-AA6F-4DC5-B3DB-A3DC0D****3E |
Exemplos
Resposta de sucesso
JSON formato
{
"DataFlowId": "df-194433a5be31****",
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0D****3E"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | IllegalCharacters | The parameter contains illegal characters. | O parâmetro é inválido. |
| 400 | MissingFsetId | FsetId is mandatory for this action. | O parâmetro Fileset ID não foi especificado. |
| 400 | MissingSourceStorage | SourceStorage is mandatory for this action. | O parâmetro SourceStorage não foi especificado. |
| 400 | MissingThroughput | Throughput is mandatory for this action. | O parâmetro Throughput não foi especificado. |
| 400 | MissingFileSystemId | FileSystemId is mandatory for this action. | O parâmetro FileSystemId não foi especificado. |
| 400 | InvalidFilesystemVersion.NotSupport | This Api does not support this fileSystem version. | A operação de API atual não oferece suporte a esta versão do sistema de arquivos. |
| 400 | DataFlow.Bucket.RegionUnmatched | The bucket and file system are not in the same region. | O bucket e o sistema de arquivos não estão na mesma região. |
| 400 | Oss.Path.Conflict | The OSS directory conflicts and is occupied by other data flow tasks. | O diretório OSS já está em uso por outra tarefa de fluxo de dados. |
| 403 | OperationDenied.DependencyViolation | The operation is denied due to dependancy violation. | As condições para a realização desta operação não foram atendidas. |
| 403 | OperationDenied.NoStock | The operation is denied due to no stock. | |
| 403 | OperationDenied.DependFset | The operation is denied due to invalid fileset state. | A criação do fluxo de dados falhou devido a um status anormal do fileset. |
| 403 | OperationDenied.ConflictOperation | The operation is denied due to a conflict with an ongoing operation. | O fluxo de dados não pode ser criado devido a um conflito com a operação atual do sistema de arquivos. |
| 403 | OperationDenied.DependMountpoint | The operation is denied because no mount point is found. | A criação do fluxo de dados falhou porque o sistema de arquivos não possui um destino de montagem. |
| 403 | OperationDenied.FsetAlreadyInUse | The Fset is already bound to another data flow. | O fileset já está em uso. |
| 403 | OperationDenied.AutoRefreshNotSupport | The operation is denied. Auto refresh is not supported. | O sistema de arquivos não oferece suporte a atualizações automáticas. |
| 403 | OperationDenied.DependBucketTag | The operation is denied. The OSS Bucket tag cpfs-dataflow is missing. | A criação do fluxo de dados falhou porque o bucket do OSS não possui a tag cpfs-dataflow. |
| 403 | OperationDenied.DataFlowNotSupported | The operation is not supported. | O sistema de arquivos não oferece suporte a fluxos de dados. |
| 403 | InvalidOperation.DeletionProtection | The operation is not allowed due to resource is protected by deletion protection. | A instância tem a proteção contra exclusão ativada e não pode ser liberada por meio do console ou de operações de API. |
| 403 | DataFlow.Bucket.AccessDenied | Bucket access denied. | Ocorreu um erro de autenticação de fluxo de dados. |
| 404 | InvalidFileSystem.NotFound | The specified file system does not exist. | O sistema de arquivos especificado não existe. |
| 404 | InvalidThroughput.OutOfBounds | Throughput is out of bounds. | A taxa de transferência especificada não está dentro do intervalo válido. |
| 404 | InvalidDescription.InvalidFormat | Description format is invalid. | O formato de descrição especificado é inválido. |
| 404 | InvalidRefreshPath.InvalidParameter | Refresh path is invalid. | O caminho do diretório de atualização automática especificado é inválido. |
| 404 | InvalidRefreshPath.Duplicated | Refresh path is duplicated. | O caminho do diretório de atualização automática especificado está duplicado. |
| 404 | InvalidRefreshPath.NotFound | Refresh path does not exist. | O diretório de atualização automática especificado não existe. |
| 404 | InvalidRefreshPolicy.InvalidParameter | Refresh policy is invalid. | A política de atualização automática é inválida. |
| 404 | InvalidRefreshInterval.OutOfBounds | Refresh interval is out of bounds. | O RefreshInterval especificado não está dentro do intervalo válido. |
| 404 | InvalidSourceStorage.Unreachable | Source storage cannot be accessed. | O armazenamento de origem está inacessível. |
| 404 | InvalidSourceStorage.NotFound | Source storage is not found. | O armazenamento de origem especificado não existe. |
| 404 | InvalidSourceStorage.NotSupport | Source storage type is not supported. | O tipo do armazenamento de origem especificado não é suportado. |
| 404 | InvalidSourceStorage.PermissionDenied | The source storage access permission is denied. | Você não tem permissões de acesso para o armazenamento de origem. Verifique a autorização da função vinculada ao serviço e as tags de acesso do armazenamento de origem. |
| 404 | InvalidSourceStorage.InvalidRegion | Source storage region is invalid. | A região do armazenamento de origem está anormal. Verifique se o armazenamento de origem e o CPFS estão na mesma região. |
| 404 | InvalidSourceStorage.InvalidParameter | Source storage has invalid parameters. | O caminho do armazenamento de origem especificado é inválido. |
| 404 | InvalidSourceSecurityType.NotSupport | The source security type is not supported. | O tipo de proteção de segurança do armazenamento de origem especificado não é suportado. |
| 404 | InvalidAutoRefresh.TooManyAutoRefreshes | The number of auto refreshes exceeds the limit. | O número de configurações de renovação automática especificadas excede o limite. |
| 404 | InvalidSourceStorage.NeedVersioning | Source storage must enable versioning. | O recurso de versionamento deve estar ativado para o armazenamento de origem. |
| 404 | InvalidFsetId.NotFound | The specified Fileset ID does not exist. | O Fileset especificado não existe. |
| 404 | DataFlow.Bucket.NotExist | Bucket does not exist. | O bucket não existe. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.