Azure-Samples/acme-fitness-store

[Question] Why the client-type for the Python Cart Service is Java

saragluna opened this issue · 6 comments

When trying to create the Service Connector for the Cart Service to Azure Cache for Redis, seems like the cart service is a Python application, why the client type is set to Java?

az spring-cloud connection create redis \
    --resource-group ${RESOURCE_GROUP} \
    --service ${SPRING_CLOUD_SERVICE} \
    --connection $CART_SERVICE_CACHE_CONNECTION \
    --app ${CART_SERVICE_APP} \
    --deployment default \
    --tg ${RESOURCE_GROUP} \
    --server ${AZURE_CACHE_NAME} \
    --database 0 \
    --client-type java 

ERROR: az spring-cloud connection create redis: 'python' is not a valid value for '--client-type'. Allowed values: java, springBoot, dotnet, none.

Currently, Service Connector only supports basic runtime in Azure Spring Cloud as Azure Cli showed: java, spring-boot, dotnet. We may plan to support more client-type if it could actually run on Azure Spring Cloud.

In the Redis scenarios, connection strings are same among most of languages, so it doesn't matter to use client-type as java.

@ChenTanyi - Azure Spring Apps Enterprise can run Spring, Java, Dotnet, NodeJS, Python and Go.

maly7 commented

As others have pointed out the client type is java because the CLI currently only allows java, springboot, or dotnet for client types. The relevant output from az spring connection create redis -h is shown here:

--client-type                : The client type used on the spring.  Allowed values: dotnet,
                                   java, none, springBoot.

The connection string generated for java applications can be used by python applications as well. That's why we use java as the client application. Once the CLI supports setting other client types, this can be updated. For now, I'll add a note to this section to avoid confusion.

maly7 commented

@saragluna, please let me know if the note added in #33 is a sufficient explanation.

Thanks @maly7. The note is sufficient.