no, you cant do it, only adding global secondary index is possible to an existing table.
from documentation:
Local secondary indexes on a table are created when the table is created.
Answer from Eyal Ch on Stack Overflowamazon web services - How can I create a local secondary index in AWS DynamoDB? - Stack Overflow
amazon web services - Can you add a global secondary index to dynamodb after table has been created? - Stack Overflow
amazon web services - Why does adding a secondary index to a dynamodb table via cdk requires a recreation of the table? - Stack Overflow
amazon web services - Create DynamoDB Global Secondary Index after table creation in Java - Stack Overflow
Videos
You cannot create on an existing DynamoDB table, from the AWS documentation:
To create one or more local secondary indexes on a table, use the LocalSecondaryIndexes parameter of the CreateTable operation. Local secondary indexes on a table are created when the table is created. When you delete a table, any local secondary indexes on that table are also deleted.
You would need to either use a global secondary index, or migrate to a new table that you create the LSI at create time.
If you would like to know how to add an LSI at creation time in the management console, please see below.
But it is very simple. When on the create table page in the console, in the Table settings click Customize settings. Then you just need to scroll down the page past the Read/write capacity settings section.
The next section will be the Secondary indexes section. From here you can create secondary indexes.

Edit (January 2015):
Yes, you can add a global secondary index to a DynamoDB table after its creation; see here, under "Global Secondary Indexes on the Fly".
Old Answer (no longer strictly correct):
No, the hash key, range key, and indexes of the table cannot be modified after the table has been created. You can easily add elements that are not hash keys, range keys, or indexed elements after table creation, though.
From the UpdateTable API docs:
You cannot add, modify or delete indexes using UpdateTable. Indexes can only be defined at table creation time.
To the extent possible, you should really try to anticipate current and future query requirements and design the table and indexes accordingly.
You could always migrate the data to a new table if need be.
Just got an email from Amazon:
Dear Amazon DynamoDB Customer,
Global Secondary Indexes (GSI) enable you to perform more efficient queries. Now, you can add or delete GSIs from your table at any time, instead of just during table creation. GSIs can be added via the DynamoDB console or a simple API call. While the GSI is being added or deleted, the DynamoDB table can still handle live traffic and provide continuous service at the provisioned throughput level. To learn more about Online Indexing, please read our blog or visit the documentation page for more technical and operational details.
If you have any questions or feedback about Online Indexing, please email us.
Sincerely, The Amazon DynamoDB Team
Why is that?
Changes to LocalSecondaryIndexes require replacement of DynamoDB table, since LSI can only be created on the table create time. In contrast, modifications to GlobalSecondaryIndexes lead to no interruption.
Can that be prevented somehow or is there a Workaround besides adding the index manually via the aws-console?
Sadly, there is no way to prevent this, as explained above. You can use GSI if you don't want to keep replacing your tables.
You are mistaking Global and Local secondary indexes. Local can not be created after table creation, only global can. That's the reason your code fails.