Below is the code which am using for creating the namespace. The below code working perfectly with east-1 region for local testing but not in the server. But cloud watch log shows created in server also but actually not.
@Koushik_Muthanna When i run visual studio (.net code) from my local machine the same code is creating the namespace and able to see that in the namespace list through cli command ( list-namespaces). The same Lambda code deployed in aws and the log messages shows it is created but list is not showing with the namespace.
Below is the code for creating the namespace.
As I understand , you are creating a new namespace ( TestNamespace1 ) . The log message just states that the process has started.
When you run list-namespaces , are you able to see this new namespace which has been created ?
If not, to further deubg your lambda code, please check the cloudwatch logs for additional information.
If your lambda code executed successfully and running the list-namespaces through CLI ( a sample example i have provided previously ) provides a list of all namespaces including the one from your lambda code. Then namespace has been created.
If your lambda code executed successfully and the list-namespaces through CLI does show not it, then I would suggest that you log a ticket so that team can debug the issue.
If you have access to the AWS console of the AWS account where you’re using QuickSight, please see these instructions 1 on how to raise a support case.
If you do not have access, you’d need to ask whoever manages your AWS account for you to raise a support ticket.
If you see the status is CREATING which is just one of the valid Statuses for this API call more info here
The valid statuses are:
CREATED | CREATING | DELETING | RETRYABLE_FAILURE | NON_RETRYABLE_FAILURE
The reason for having all these states is because the CreateNamespace operation is an asyncronous operation so this means that you will need to perform polling of the create operation to perform error handling appropriately (as it seems that your namespace is not created and its ending up either on RETRYABLE_FAILURE or NON_RETRYABLE_FAILURE).
final_states = CREATED | NON_RETRYABLE_FAILURE
response = CreateNamespace(NamespaceName)
while status not in final_states
do
response = DescribeNamespace(NamespaceName)
status = response.Namespace.CreationStatus
sleep 10 // recomemnded to use exponential backoff here [1] instead of just a pause
done
if status == CREATED
then
log("Namespace NamespaceName was successfully created")
else
log("Namespace NamespaceName failed creation")
log("Error details are: "+ response.Namespace.NamespaceError.Message)
fi
This will output in the logs the reason why the namespace is not being created.
Hope it helps, please mark this solution as solved if that’s the case also to help other members of the community., otherwise let us know.
We hope Enrique’s solution helped you understand what is occurring. Let us know if this is resolved. And if it is, please help the community by marking his answer as a “Solution.
I ran into this issue, it appears to be a permissions configuration with the lambda role. Creating a quicksight Namespace uses services beyond quicksight. The below permissions additions to my lambda role allowed me to create namespaces.