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_instances da 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_instances da API REST.
Métodos alternativos para criar uma instância de serviço

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 (can_provision) em IBM Software Hub.

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:

  1. Criando uma instância de serviço
  2. Validando se a instância do serviço foi criada
  3. O que fazer a seguir

Criando uma instância de serviço

Para criar uma instância de serviço:

  1. 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.
  2. Defina as variáveis de ambiente usadas para preencher a carga JSON para a instância do serviço:
    1. Defina a variável INSTANCE_NAME de 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 string e 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.

    2. Defina a variável INSTANCE_VERSION de 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
    3. Defina a variável SPEECH_CR de 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}
  3. Crie o speech-services-instance.json arquivo 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
        }
      },
    }
    EOF
    As 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}
  4. Defina a variável PAYLOAD_FILE de ambiente como o nome completo do arquivo de carga JSON em sua estação de trabalho:
    export PAYLOAD_FILE=<fully-qualified-JSON-file-name>
  5. 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:
    1. Defina a variável CPD_ROUTE de ambiente:
      export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})

      O comando usa a PROJECT_CPD_INST_OPERANDS variável, que já está definida no script de variáveis de ambiente da sua instalação.

    2. Defina a variável API_KEY de ambiente para a chave da API que você criou:
      export API_KEY=<your_api_key>
  6. 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:

  1. Defina a variável INSTANCE_ID de ambiente para o ID que foi retornado pelo POSTcURL comando:
    export INSTANCE_ID=<ID-from-response>
  2. 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: 200
      Encontre o provision_status parâ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 pods zen-core-api zen-watcher e para possíveis causas.
    • Se a solicitação não foi bem-sucedida, use o código HTTP de resposta para determinar o motivo.

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.