public CreatePartitionResponse handleRequest()

in hms-lambda-handler/src/main/java/com/amazonaws/athena/hms/handler/CreatePartitionHandler.java [119:142]


  public CreatePartitionResponse handleRequest(CreatePartitionRequest request, Context context)
  {
    HiveMetaStoreConf conf = getConf();
    try {
      context.getLogger().log("Connecting to embedded HMS client");
      HiveMetaStoreClient client = getClient();
      context.getLogger().log("Creating table with desc: " + request.getTableDesc());
      TDeserializer deserializer = new TDeserializer(getTProtocolFactory());
      Table table = new Table();
      deserializer.fromString(table, request.getTableDesc());
      Partition partition = client.add_partition(new PartitionBuilder(table).withValues(request.getValues()).build());
      context.getLogger().log("Created partition: " + partition);
      CreatePartitionResponse response = new CreatePartitionResponse();
      if (partition != null) {
        TSerializer serializer = new TSerializer(getTProtocolFactory());
        response.setPartitionDesc(serializer.toString(partition, StandardCharsets.UTF_8.name()));
      }
      return response;
    }
    catch (Exception e) {
      context.getLogger().log("Exception: " + e.getMessage());
      throw new RuntimeException(e);
    }
  }