
# 使用Rainbow SDK（NUWA框架）
#### 引入Rainbow SDK
1. Rainbow SDK依赖Cloud Map的注册和发现能力，在引入Rainbow SDK之前，要先引入STS SDK和Cloud Map SDK，并完成STS和Cloud Map的初始化，具体请参见[使用STS SDK（NUWA框架）](https://support.huaweicloud.com/sdkreference-appstage/appstage_08_0037.html)和[使用Cloud Map SDK（NUWA框架）](https://support.huaweicloud.com/sdkreference-appstage/appstage_08_0038.html)。
   使用Cloud Map进行数据库注册和发现时，需要先在WiseDBA管理台配置连接信息，并注册到Cloud Map中，Rainbow SDK连接数据库的过程中，直接调用Cloud Map中的注册信息，具体操作请参见[新增数据库SDK配置并注册到Cloud Map](https://support.huaweicloud.com/usermanual-wiseeye/appstage_04_0445.html)。
   
2. 引入Rainbow SDK
   在pom.xml中添加Rainbow SDK依赖。
   ```
   <dependency>
       <groupId>com.huawei.wisecloud.nuwa</groupId>
       <artifactId>nuwa-gpaas-rainbowproxy </artifactId>
       <version>${nuwa-version}</version>
       <scope>provided</scope>
   </dependency>
   ```
   
 
#### 配置Rainbow
修改Rainbow SDK配置，切换SDK数据源，新增Cloud Map配置、STS配置，配置如下：
```
nuwa:
  sts:
    serverDomain: 10.33.102.162:8080
    configPath: certs/WiseCloudNuwaService/WiseCloudNuwaCloudMapAdminService/WiseCloudNuwaCloudMapAdminService.ini
    enable: true
  cloudmap:
    serverAddr: http://10.33.113.125:8080
    namespaceName: cn_dev_default
  rainbow:
    db0:
      datasource:
        beanName: rainbowDs
        dataSourceName: xxxx      //与运维中心WiseDBA服务SDK配置界面的值保持一致
        appName: xxx              //业务的服务名
        dbGroupKey: xxx           //实例名称
        dbName: xxxxx             //Schema名称
        connectionProperties: characterEncoding=utf8;connectTimeout=10000;socketTimeout=10000;autoReconnect=true;useUnicode=true;serverTimezone=Asia/Shanghai
        useSts: true
      mybatis:
        base-package: com.huawei.nuwa.map.demo.consumer.middleware.dao
        mapper-locations: classpath:mapper/rainbow/*.xml
```
