Java 类com.amazonaws.services.cloudsearchv2.AmazonCloudSearchClient 实例源码

项目:spring-boot-aws-cloudsearch    文件:CloudSearchConfig.java   
@Bean
public Map<String, AmazonCloudSearchDomainAsyncClient> cloudSearchDomainAsyncClients(
        AmazonCloudSearchClient cloudSearchClient, AWSCredentialsProvider awsCredentialsProvider) {
    DescribeDomainsResult describeDomainsResult = cloudSearchClient.describeDomains();
    List<DomainStatus> domainStatusList = describeDomainsResult.getDomainStatusList();
    Map<String, AmazonCloudSearchDomainAsyncClient> domainClients = new HashMap<>(domainStatusList.size());
    for (DomainStatus domainStatus : domainStatusList) {
        log.debug("domainStatus: {}", domainStatus);
        String domainName = domainStatus.getDomainName();
        if (domainStatus.isCreated() && !domainStatus.isDeleted()) {
            log.info("creating AmazonCloudSearchDomainClient for {} domain", domainName);
            ServiceEndpoint serviceEndpoint = domainStatus.getDocService();
            AmazonCloudSearchDomainAsyncClient domainClient = new AmazonCloudSearchDomainAsyncClient(
                    awsCredentialsProvider, client)
            .withEndpoint(serviceEndpoint.getEndpoint());
            domainClients.put(domainName, domainClient);
        } else {
            log.info("skipping domain {}: created = {}, deleted = {}", domainName, domainStatus.isCreated(),
                    domainStatus.isDeleted());
        }
    }
    return domainClients;
}
项目:RekognitionS3Batch    文件:CloudSearchIndexer.java   
public CloudSearchIndexer(AWSCredentialsProvider creds, String index) {
    // Find the Cloud Search Domain endpoint
    AmazonCloudSearchClient cloudsearch = new AmazonCloudSearchClient(creds);
    for (DomainStatus domain : cloudsearch.describeDomains().getDomainStatusList()) {
        Logger.Info(domain.getDomainName());
        if (domain.getDomainName().equals(index))
            searchClient = new AmazonCloudSearchDomainClient(creds)
                .withEndpoint(domain.getDocService().getEndpoint());
    }
    if (searchClient == null) {
        Logger.Info("Could not find Cloud Search index %s, aborting.", index);
        throw new IllegalArgumentException("Unrecognized index.");
    }
}
项目:aws-utilization-monitor    文件:AwsScan.java   
/**
 * Collect data for CloudSearch.
 *
 * @param stats
 *            current statistics object.
 * @param account
 *            currently used credentials object.
 * @param region
 *            currently used aws region.
 */
public static void scanCloudSearch(AwsStats stats, AwsAccount account, Regions region) {
    LOG.debug("Scan for CloudSearch in region " + region.getName() + " in account " + account.getAccountId());

    try {
        AmazonCloudSearchClient cs = new AmazonCloudSearchClient(account.getCredentials());
        cs.setRegion(Region.getRegion(region));

        int totalDomains = 0;
        for (DomainStatus ds : cs.describeDomains().getDomainStatusList()) {
            AwsResource res = new AwsResource(ds.getDomainName(), account.getAccountId(), AwsResourceType.CloudSearch, region);
            res.addInfo("Endpoint", ds.getSearchService().getEndpoint());
            res.addInfo("SearchInstanceType", ds.getSearchInstanceType());
            res.addInfo("SearchInstanceCount", ds.getSearchInstanceCount());
            res.addInfo("ARN", ds.getARN());
            stats.add(res);
            totalDomains++;
        }

        LOG.info(totalDomains + " CloudSearch domains in region " + region.getName() + " in account " + account.getAccountId());
    } catch (AmazonServiceException ase) {
        if (ase.getErrorCode().contains("AccessDenied")) {
            LOG.info("Access denied for CloudSearch in region " + region.getName() + " in account " + account.getAccountId());
        } else {
            LOG.error("Exception of CloudSearch: " + ase.getMessage());
        }
    } catch (Exception ex) {
        LOG.error("Exception of CloudSearch: " + ex.getMessage());
    }
}
项目:GeoCrawler    文件:CloudSearchIndexWriter.java   
@Override
public void open(JobConf job, String name) throws IOException {
  LOG.debug("CloudSearchIndexWriter.open() name={} ", name);

  maxDocsInBatch = job.getInt(CloudSearchConstants.MAX_DOCS_BATCH, -1);

  buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('[');

  dumpBatchFilesToTemp = job.getBoolean(CloudSearchConstants.BATCH_DUMP,
      false);

  if (dumpBatchFilesToTemp) {
    // only dumping to local file
    // no more config required
    return;
  }

  String endpoint = job.get(CloudSearchConstants.ENDPOINT);

  if (StringUtils.isBlank(endpoint)) {
    throw new RuntimeException("endpoint not set for CloudSearch");
  }

  AmazonCloudSearchClient cl = new AmazonCloudSearchClient();
  if (StringUtils.isNotBlank(regionName)) {
    cl.setRegion(RegionUtils.getRegion(regionName));
  }

  String domainName = null;

  // retrieve the domain name
  DescribeDomainsResult domains = cl
      .describeDomains(new DescribeDomainsRequest());

  Iterator<DomainStatus> dsiter = domains.getDomainStatusList().iterator();
  while (dsiter.hasNext()) {
    DomainStatus ds = dsiter.next();
    if (ds.getDocService().getEndpoint().equals(endpoint)) {
      domainName = ds.getDomainName();
      break;
    }
  }

  // check domain name
  if (StringUtils.isBlank(domainName)) {
    throw new RuntimeException(
        "No domain name found for CloudSearch endpoint");
  }

  DescribeIndexFieldsResult indexDescription = cl.describeIndexFields(
      new DescribeIndexFieldsRequest().withDomainName(domainName));
  for (IndexFieldStatus ifs : indexDescription.getIndexFields()) {
    String indexname = ifs.getOptions().getIndexFieldName();
    String indextype = ifs.getOptions().getIndexFieldType();
    LOG.info("CloudSearch index name {} of type {}", indexname, indextype);
    csfields.put(indexname, indextype);
  }

  client = new AmazonCloudSearchDomainClient();
  client.setEndpoint(endpoint);

}
项目:mosquito-report-api    文件:AmazonCloudSearchFactory.java   
public AmazonCloudSearchFactory() {
    client = new AmazonCloudSearchClient();
}
项目:storm-crawler    文件:CloudSearchIndexerBolt.java   
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void prepare(Map conf, TopologyContext context,
        OutputCollector collector) {
    super.prepare(conf, context, collector);
    _collector = collector;

    this.eventCounter = context.registerMetric("CloudSearchIndexer",
            new MultiCountMetric(), 10);

    maxTimeBuffered = ConfUtils.getInt(conf,
            CloudSearchConstants.MAX_TIME_BUFFERED, 10);

    maxDocsInBatch = ConfUtils.getInt(conf,
            CloudSearchConstants.MAX_DOCS_BATCH, -1);

    buffer = new StringBuffer(MAX_SIZE_BATCH_BYTES).append('[');

    dumpBatchFilesToTemp = ConfUtils.getBoolean(conf,
            "cloudsearch.batch.dump", false);

    if (dumpBatchFilesToTemp) {
        // only dumping to local file
        // no more config required
        return;
    }

    String endpoint = ConfUtils.getString(conf, "cloudsearch.endpoint");

    if (StringUtils.isBlank(endpoint)) {
        String message = "Missing CloudSearch endpoint";
        LOG.error(message);
        throw new RuntimeException(message);
    }

    String regionName = ConfUtils.getString(conf,
            CloudSearchConstants.REGION);

    AmazonCloudSearchClient cl = new AmazonCloudSearchClient();
    if (StringUtils.isNotBlank(regionName)) {
        cl.setRegion(RegionUtils.getRegion(regionName));
    }

    String domainName = null;

    // retrieve the domain name
    DescribeDomainsResult domains = cl
            .describeDomains(new DescribeDomainsRequest());

    Iterator<DomainStatus> dsiter = domains.getDomainStatusList()
            .iterator();
    while (dsiter.hasNext()) {
        DomainStatus ds = dsiter.next();
        if (ds.getDocService().getEndpoint().equals(endpoint)) {
            domainName = ds.getDomainName();
            break;
        }
    }
    // check domain name
    if (StringUtils.isBlank(domainName)) {
        throw new RuntimeException(
                "No domain name found for CloudSearch endpoint");
    }

    DescribeIndexFieldsResult indexDescription = cl
            .describeIndexFields(new DescribeIndexFieldsRequest()
                    .withDomainName(domainName));
    for (IndexFieldStatus ifs : indexDescription.getIndexFields()) {
        String indexname = ifs.getOptions().getIndexFieldName();
        String indextype = ifs.getOptions().getIndexFieldType();
        LOG.info("CloudSearch index name {} of type {}", indexname,
                indextype);
        csfields.put(indexname, indextype);
    }

    client = new AmazonCloudSearchDomainClient();
    client.setEndpoint(endpoint);
}