Criando uma instância de serviço para os serviços Watson de fala programaticamente
Após instalar os serviços Watson de fala, é necessário criar pelo menos uma instância de Watson serviço de fala no projeto operandos. Se você é um IBM® Software
Hub usuário, pode usar a chamada /v3/service_instances da API REST para criar instâncias de serviço programaticamente.
- Quem precisa concluir esta tarefa?
- Para criar uma instância de serviço programaticamente usando a chamada
/v3/service_instancesda API REST, você deve ter a permissão Criar instâncias de serviço (can_provision) em IBM Software Hub.
- Quando você precisa concluir essa tarefa?
- Conclua esta tarefa apenas se desejar criar uma instância de serviço programaticamente usando a chamada
/v3/service_instancesda API REST.
Métodos alternativos para criar uma instância de serviço
- A partir do cliente web. Para obter mais informações, consulte Criando uma instância de serviço para os serviços Watson de fala a partir do cliente web.
- Usando o
cpd-cli service-instance createcomando. Para obter mais informações, consulte Criando uma instância de serviço para Watson serviços de fala com o comando cpd-cli service-instance create.
Informações necessárias para concluir esta tarefa
Analise as seguintes informações antes de criar uma instância de serviço para os serviços Watson de fala :
- Requisitos de Versão
Todos os componentes associados a uma instância do IBM Software Hub devem ser instalados ou criados na mesma versão. Por exemplo, se os serviços de voz do Watson estiverem instalados na versão 5.3.1, você deverá criar a instância do serviço na versão 5.3.1.
Importante: Os serviços Watson de fala utilizam um número de versão diferente do IBM Software Hub. Este tópico inclui uma tabela que mostra a versão Watson dos serviços de fala para cada atualização do IBM Software Hub. Use esta tabela para encontrar a versão correta com base na versão do IBM Software Hub que está instalada.
- Variáveis de ambiente
Os comandos nesta tarefa utilizam variáveis de ambiente para que você possa executá-los exatamente como estão escritos.
- Se você não tiver o script que define as variáveis de ambiente, consulte Configurando as variáveis de ambiente de instalação.
- Para usar as variáveis de ambiente do script, você deve obter as variáveis de ambiente antes de executar os comandos nesta tarefa. Por exemplo, execute:
source ./cpd_vars.sh
Antes de iniciar
Esta tarefa pressupõe que os seguintes pré-requisitos estejam cumpridos:
| Pré-requisito | Onde Localizar Mais Informações |
|---|---|
| Watson Os serviços de voz estão instalados. | Se essa tarefa não estiver concluída, consulte Instalação dos serviços Watson de fala. |
| Você gerou uma chave API. A chave API deve estar associada a um usuário que tenha a permissão Criar instâncias de serviço ( |
Se essa tarefa não estiver concluída, consulte Gerando um token de autorização de API. |
Procedimento
Conclua as seguintes tarefas para criar uma instância de serviço:
Criando uma instância de serviço
Para criar uma instância de serviço:
- Mude para o diretório em sua estação de trabalho onde deseja criar o arquivo JSON que define a carga útil da instância do serviço.
- Defina as variáveis de ambiente usadas para preencher a carga JSON para a instância do serviço:
- Defina a variável
INSTANCE_NAMEde ambiente como o nome exclusivo que você deseja usar como nome de exibição para a instância do serviço:export INSTANCE_NAME="<display-name>"Este nome é exibido na página Instâncias do cliente IBM Software Hub web.
O nome de exibição é um
stringe pode conter caracteres alfanuméricos (a-z, A-Z, 0-9), traços (-) e pontos (.).O nome de exibição pode ter no máximo 10 caracteres.
- Defina a variável
INSTANCE_VERSIONde ambiente para a versão que corresponde à versão do IBM Software Hub seu cluster:export INSTANCE_VERSION=<version>Use a tabela a seguir para determinar o valor apropriado:
Versão IBM Software Hub Versão de Instância de Serviço 5.3.1 5.3.1 5.3.0 5.3.0 - Defina a variável
SPEECH_CRde ambiente com o nome do recurso Watson Speech services personalizado:export SPEECH_CR=<resource-name>O nome padrão é
speech-cr. No entanto, você pode ter um nome diferente, dependendo se você atualizou a partir de uma versão mais antiga. Para verificar o nome do recurso personalizado, execute:oc get WatsonSpeech --namespace=${PROJECT_CPD_INST_OPERANDS}
- Defina a variável
- Crie o
speech-services-instance.jsonarquivo de carga útil:cat << EOF > ./speech-services-instance.json{ "addon_type": "speech-to-text", "namespace": "${PROJECT_CPD_INST_OPERANDS}", "addon_version": "${INSTANCE_VERSION}", "display_name": "${INSTANCE_NAME}", "create_arguments": { "deployment_id": "${PROJECT_CPD_INST_OPERANDS}-${SPEECH_CR}", "parameters" : { "serviceId": "speech-to-text", "url": "https://${SPEECH_CR}-gdpr-data-deletion.${PROJECT_CPD_INST_OPERANDS}.svc.cluster.local:443/v3/service_instances", "watson": true } }, } EOFAs seguintes variáveis de ambiente utilizam os valores já definidos no script de variáveis de ambiente da sua instalação:${PROJECT_CPD_INST_OPERANDS}
- Defina a variável
PAYLOAD_FILEde ambiente como o nome completo do arquivo de carga JSON em sua estação de trabalho:export PAYLOAD_FILE=<fully-qualified-JSON-file-name> - Defina as variáveis de ambiente usadas para se conectar à instância onde você deseja criar IBM Software
Hub a instância do serviço:
- Defina a variável
CPD_ROUTEde ambiente:export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})O comando usa a
PROJECT_CPD_INST_OPERANDSvariável, que já está definida no script de variáveis de ambiente da sua instalação. - Defina a variável
API_KEYde ambiente para a chave da API que você criou:export API_KEY=<your_api_key>
- Defina a variável
- Crie a instância do serviço a partir do arquivo de carga útil.
O comando que você executa depende se a instância em IBM Software Hub que deseja criar a instância do serviço usa um certificado autoassinado ou um certificado assinado por uma autoridade certificadora confiável.
A instância utiliza um certificado assinado por uma autoridade certificadora confiável
curl --request POST \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json' \ --data @${PAYLOAD_FILE}
A instância usa um certificado autoassinado (padrão)
curl -k --request POST \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json' \ --data @${PAYLOAD_FILE}
Se a solicitação foi bem-sucedida, o comando retorna um dos seguintes códigos HTTP de resposta:- 200 - A solicitação foi concluída com sucesso e a instância do serviço foi provisionada.
- 202 - A solicitação foi enviada com sucesso. A instância do serviço está sendo provisionada.
Se a solicitação não foi bem-sucedida, use o código HTTP de resposta para determinar o motivo.
Validando se a instância do serviço foi criada
Para validar que a instância do serviço foi criada:
- Defina a variável
INSTANCE_IDde ambiente para o ID que foi retornado peloPOSTcURL comando:export INSTANCE_ID=<ID-from-response> - Obtenha o status da instância do serviço.
O comando que você executa depende se a instância em IBM Software Hub que deseja criar a instância do serviço usa um certificado autoassinado ou um certificado assinado por uma autoridade certificadora confiável.
A instância utiliza um certificado assinado por uma autoridade certificadora confiável
curl --request GET \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json'
A instância usa um certificado autoassinado (padrão)
curl -k --request GET \ --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \ --header "Authorization: ZenApiKey ${API_KEY}" \ --header 'Content-Type: application/json'
- Se a solicitação foi bem-sucedida, o comando retorna o seguinte código HTTP de resposta: 200Encontre o
provision_statusparâmetro na resposta JSON.- Se o valor for
PROVISIONED, a instância do serviço foi criada com sucesso. - Se o valor for
PROVISION_IN_PROGRESS, aguarde alguns minutos e execute o comando novamente. - Se o valor for
FAILED, verifique os registros dos podszen-core-apizen-watchere para possíveis causas.
- Se o valor for
- Se a solicitação não foi bem-sucedida, use o código HTTP de resposta para determinar o motivo.
- Se a solicitação foi bem-sucedida, o comando retorna o seguinte código HTTP de resposta: 200
O quê fazer em seguida
A instância do serviço está pronta para uso. Para começar a usar os serviços de fala d Watson, consulte Watson Serviços de fala em Cloud Pak for Data.