Todos os produtos
Search
Central de documentação

Resource Orchestration Service:Como referenciar as variáveis de saída de um recurso de fonte de dados (DataSource) em um modelo

Última atualização: Aug 21, 2026

Um recurso de fonte de dados (DataSource) consulta dados de recursos de um service da Alibaba Cloud. A consulta pode retornar um único recurso ou uma lista com vários recursos. Este tópico descreve como referenciar as variáveis de saída de um recurso de fonte de dados (DataSource) em um modelo.

Resultado da consulta para um único recurso

Este exemplo demonstra como consultar uma única instância do ApsaraDB RDS (DATASOURCE::RDS::DBInstance), obter a porta de conexão à rede interna e solicitar um endpoint público para a instância.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  DBInstanceId:
    Type: String
    AssociationProperty: ALIYUN::RDS::Instance::InstanceId
Resources:
  ExtensionDataSource:
    Properties:
      DBInstanceId:
        Ref: DBInstanceId
    Type: DATASOURCE::RDS::DBInstance
  Connection:
    Type: ALIYUN::RDS::Connection
    Properties:
      DBInstanceId:
        Ref: DBInstanceId
      ConnectionStringPrefix: test1
      Port:
        Fn::GetAtt:
          - ExtensionDataSource
          - Port
Outputs:
  Port:
    Description: The port that is used to connect to the instance over an internal network.
    Value:
      Fn::GetAtt:
        - ExtensionDataSource
        - Port
  ConnectionString:
    Description: Connection string
    Value:
      Fn::GetAtt:
        - Connection
        - ConnectionString

Resultado da consulta para múltiplos recursos

O exemplo a seguir ilustra a consulta de vSwitches existentes (DATASOURCE::VPC::VSwitches) e a criação de uma regra de entrada para um grupo de segurança com base no bloco CIDR de um vSwitch retornado. A função intrínseca Fn::Jq recupera o bloco CIDR do primeiro vSwitch a partir da saída VSwitches. Para mais detalhes sobre o recurso Jq, consulte a documentação do Jq.

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Description: Find the ID that starts with vpc- in the Virtual Private Cloud console.
    Label: Existing VPC Instance ID
  SecurityGroupId:
    Type: String
    AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
    Default: ''
Resources:
  ExtensionDataSource:
    Type: DATASOURCE::VPC::VSwitches
    Properties:
      VpcId:
        Ref: VpcId
  SecurityGroupIngress:
    Type: ALIYUN::ECS::SecurityGroupIngress
    Properties:
      IpProtocol: all
      SecurityGroupId:
        Ref: SecurityGroupId
      NicType: intranet
      SourceCidrIp:
        Fn::Jq:
          - First
          - .[0].CidrBlock
          - Fn::GetAtt:
              - ExtensionDataSource
              - VSwitches
      PortRange: '-1/-1'
Outputs:
  CidrBlock:
    Description: The CIDR block.
    Value:
      Fn::Jq:
        - First
        - .[0].CidrBlock
        - Fn::GetAtt:
            - ExtensionDataSource
            - VSwitches

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Copie os placeholders xref ({XREF_N}) literalmente, sem traduzir ou modificar

  5. Aplique todas as regras específicas de idioma rigorosamente

  6. Siga as regras de stopwords com tolerância zero

  7. Utilize o modo imperativo em passos numerados e listas procedimentais

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir 3 vezes ou mais

  10. Retorne APENAS o documento markdown em português do Brasil, sem explicações