Addressing for table creation or schema update (PUT or POST), schema
query (GET), or delete (DELETE)
path := '/' <table> / 'schema'
So that should be /TransactionREST/schema
However, I'd recommend that you not take administrative actions via
the REST API. Use the HBase shell instead. Consider them DBA-type
operations.
- Andy
On Wed, Aug 8, 2012 at 11:15 AM, Corbett Martin <[email protected]> wrote:
> According to the Stargate documentation
> (http://wiki.apache.org/hadoop/Hbase/Stargate) I should be able to perform a
> POST operation to perform a table schema update. The docs say to supply a
> "well formed schema fragment" for a table schema update. My issue is the
> test code below always returns:
>
> <body><h2>HTTP ERROR 405</h2>
> <p>Problem accessing /TransactionREST/. Reason:
> <pre>Method Not Allowed</pre>
>
> What am I missing? I cannot find any errors in the log files.
>
> It's worth mentioning that I've been able to successfully create a table via
> the REST api but now I want to use the api to make a table schema change,
> like in this example I want to add a new column-family to a table.
>
> class AlterTableExampleREST {
>
> private static final String ALTER_TABLE =
>
> "{\"name\":\"TransactionREST\",\"ColumnSchema\":[{\"name\":\"foo\"}]}";
>
> public void modifyTable() throws IOException {
> // Setup a Cluster list adding all known REST server hosts
> Cluster cluster = new Cluster();
> cluster.add("127.0.0.1", 8080);
> // Create Client to handle HTTP communication
> Client client = new Client(cluster);
> Response response = client.post("/TransactionREST/",
> "application/json",
> Bytes.toBytes(ALTER_TABLE));
> if(response != null) {
> System.out.println("response code: " + response.getCode());
> if(response.hasBody()) {
> System.out.println("reponse body: " +
> Bytes.toString(response.getBody()));
> }
> }
> }
> }
>
> Thanks in advance!
>
> ________________________________
> This message and its contents (to include attachments) are the property of
> National Health Systems, Inc. and may contain confidential and proprietary
> information. This email and any files transmitted with it are intended solely
> for the use of the individual or entity to whom they are addressed. You are
> hereby notified that any unauthorized disclosure, copying, or distribution of
> this message, or the taking of any unauthorized action based on information
> contained herein is strictly prohibited. Unauthorized use of information
> contained herein may subject you to civil and criminal prosecution and
> penalties. If you are not the intended recipient, you should delete this
> message immediately and notify the sender immediately by telephone or by
> replying to this transmission.