Início rápido: compilar um aplicativo do Cassandra com o SDK do Python e o Azure Cosmos DBQuickstart: Build a Cassandra app with Python SDK and Azure Cosmos DB

Este guia de início rápido mostra como usar o Python e a API Cassandra do Azure Cosmos DB para compilar um aplicativo de perfil clonando um exemplo do GitHub.This quickstart shows how to use Python and the Azure Cosmos DB Cassandra API to build a profile app by cloning an example from GitHub. Este Início Rápido também mostra como usar o portal do Azure baseado na Web para criar uma conta do Azure Cosmos DB.This quickstart also shows you how to use the web-based Azure portal to create an Azure Cosmos DB account.

O Azure Cosmos DB é o serviço de banco de dados multimodelo distribuído globalmente da Microsoft.Azure Cosmos DB is Microsoft's globally distributed multi-model database service. É possível criar e consultar rapidamente documentos, tabelas, valores-chave e bancos de dados de gráfico, todos os quais se beneficiam de recursos de distribuição global e escala horizontal e no núcleo do Azure Cosmos DB.You can quickly create and query document, table, key-value, and graph databases, all of which benefit from the global distribution and horizontal scale capabilities at the core of Azure Cosmos DB.

Pré-requisitosPrerequisites

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin. Como alternativa, você pode Experimentar o Azure Cosmos DB gratuitamente sem uma assinatura do Azure, sem ônus e sem compromisso.Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.If you don't have an Azure subscription, create a free account before you begin. Alternatively, you can Try Azure Cosmos DB for free without an Azure subscription, free of charge and commitments.

Além disso, você precisa de:In addition, you need:

Criar uma conta de banco de dadosCreate a database account

Antes de criar um banco de dados de documentos, você precisa criar uma conta Cassandra com o Azure Cosmos DB.Before you can create a document database, you need to create a Cassandra account with Azure Cosmos DB.

  1. Em uma nova janela do navegador, entre no Portal do Azure.In a new browser window, sign in to the Azure portal.

  2. Selecione Criar um recurso > Bancos de dados > Azure Cosmos DB.Select Create a resource > Databases > Azure Cosmos DB.

    O painel Bancos de Dados do portal do Azure

  3. Na página Criar Conta do Azure Cosmos DB, insira as configurações da nova conta do Azure Cosmos DB.In the Create Azure Cosmos DB Account page, enter the settings for the new Azure Cosmos DB account.

    ConfiguraçãoSetting ValorValue DESCRIÇÃODescription
    AssinaturaSubscription Sua assinaturaYour subscription Selecione a assinatura do Azure que você deseja usar para essa conta do Azure Cosmos DB.Select the Azure subscription that you want to use for this Azure Cosmos DB account.
    Grupo de recursosResource Group Criar NovoCreate new

    Em seguida, insira o mesmo nome exclusivo fornecido na IDThen enter the same unique name as provided in ID
    Selecione Criar novo.Select Create new. Insira o novo nome do grupo de recursos para sua conta.Then enter a new resource-group name for your account. Para simplificar, use um nome igual à sua ID.For simplicity, use the same name as your ID.
    Nome da contaAccount Name Insira um nome exclusivoEnter a unique name Insira um nome exclusivo para identificar a conta do Azure Cosmos DB.Enter a unique name to identify your Azure Cosmos DB account. Como documents.Azure.com é acrescentado à ID que você fornece para criar o URI, use uma ID exclusiva.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    A ID deve conter apenas letras minúsculas, números e o caractere de hífen (-).The ID can use only lowercase letters, numbers, and the hyphen (-) character. Ela precisa ter entre 3 e 31 caracteres.It must be between 3 and 31 characters in length.
    APIAPI CassandraCassandra A API determina o tipo de conta a ser criada.The API determines the type of account to create. O Azure Cosmos DB fornece cinco APIs: Core(SQL) para bancos de dados de documentos, Gremlin para o bancos de dados de grafos, MongoDB para bancos de dados de documentos, Tabela do Azure e Cassandra.Azure Cosmos DB provides five APIs: Core(SQL) for document databases, Gremlin for graph databases, MongoDB for document databases, Azure Table, and Cassandra. No momento, você deve criar uma conta separada para cada API.Currently, you must create a separate account for each API.

    Selecione Cassandra porque neste guia de início rápido você está criando uma tabela que funciona com a API do Cassandra.Select Cassandra because in this quickstart you are creating a table that works with the Cassandra API.

    Saiba mais sobre a API do Cassandra.Learn more about the Cassandra API.
    Local padrãoLocation Selecione a região mais próxima de seus usuáriosSelect the region closest to your users Selecione uma localização geográfica para hospedar a sua conta do Azure Cosmos DB.Select a geographic location to host your Azure Cosmos DB account. Use o local mais próximo dos usuários para fornecer a eles acesso mais rápido aos dados.Use the location that's closest to your users to give them the fastest access to the data.

    Selecione Revisar + Criar.Select Review+Create. Você pode ignorar as seções Rede e Marcas.You can skip the Network and Tags section.

    A página da nova conta do Azure Cosmos DB

  4. A criação da conta leva alguns minutos.The account creation takes a few minutes. Aguarde até que o portal exiba a narração de página Parabéns! Sua conta do Azure Cosmos DB foi criada.Wait for the portal to display the page saying Congratulations! Your Azure Cosmos DB account was created.

Clonar o aplicativo de exemploClone the sample application

Agora, vamos clonar um aplicativo da API do Cassandra do GitHub, definir a cadeia de conexão e executá-lo.Now let's clone a Cassandra API app from GitHub, set the connection string, and run it. Você verá como é fácil trabalhar usando dados de forma programática.You see how easy it is to work with data programmatically.

  1. Abra um prompt de comando.Open a command prompt. Crie uma pasta chamada git-samples.Create a new folder named git-samples. Em seguida, feche o prompt de comando.Then, close the command prompt.

    md "C:\git-samples"
    
  2. Abra uma janela de terminal de git, como git bash, e use o comando cd para alterar para a nova pasta para instalar o aplicativo de exemplo.Open a git terminal window, such as git bash, and use the cd command to change to the new folder to install the sample app.

    cd "C:\git-samples"
    
  3. Execute o comando a seguir para clonar o repositório de exemplo.Run the following command to clone the sample repository. Este comando cria uma cópia do aplicativo de exemplo no seu computador.This command creates a copy of the sample app on your computer.

    git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-python-getting-started.git
    

Examine o códigoReview the code

Esta etapa é opcional.This step is optional. Se você estiver interessado em aprender como o código cria os recursos de banco de dados, examine os trechos de código a seguir.If you're interested to learn how the code creates the database resources, you can review the following snippets. Os snippets de código são todos obtidos do arquivo pyquickstart.py.The snippets are all taken from the pyquickstart.py file. Caso contrário, você poderá pular para Atualizar sua cadeia de conexão.Otherwise, you can skip ahead to Update your connection string.

  • Os valores de nome de usuário e senha são definidos usando a página de cadeia de conexão no portal do Microsoft Azure.The username and password values were set using the connection string page in the Azure portal. O path\to\cert fornece um caminho para um X509 certificado.The path\to\cert provides a path to an X509 certificate.

      ssl_opts = {
              'ca_certs': 'path\to\cert',
              'ssl_version': ssl.PROTOCOL_TLSv1_2
              }
      auth_provider = PlainTextAuthProvider( username=cfg.config['username'], password=cfg.config['password'])
      cluster = Cluster([cfg.config['contactPoint']], port = cfg.config['port'], auth_provider=auth_provider, ssl_options=ssl_opts)
      session = cluster.connect()
    
    
  • O cluster é inicializado com informações do contactPoint.The cluster is initialized with contactPoint information. O contactPoint é recuperado do Portal do Azure.The contactPoint is retrieved from the Azure portal.

    cluster = Cluster([cfg.config['contactPoint']], port = cfg.config['port'], auth_provider=auth_provider)
    
  • O cluster se conecta à API Cassandra do Azure Cosmos DB.The cluster connects to the Azure Cosmos DB Cassandra API.

    session = cluster.connect()
    
  • Um novo keyspace é criado.A new keyspace is created.

    session.execute('CREATE KEYSPACE IF NOT EXISTS uprofile WITH replication = {\'class\': \'NetworkTopologyStrategy\', \'datacenter1\' : \'1\' }')
    
  • Uma nova tabela é criada.A new table is created.

    session.execute('CREATE TABLE IF NOT EXISTS uprofile.user (user_id int PRIMARY KEY, user_name text, user_bcity text)');
    
  • Entidades de chave/valor são inseridas.Key/value entities are inserted.

    insert_data = session.prepare("INSERT INTO  uprofile.user  (user_id, user_name , user_bcity) VALUES (?,?,?)")
    session.execute(insert_data, [1,'Lybkov','Seattle'])
    session.execute(insert_data, [2,'Doniv','Dubai'])
    session.execute(insert_data, [3,'Keviv','Chennai'])
    session.execute(insert_data, [4,'Ehtevs','Pune'])
    session.execute(insert_data, [5,'Dnivog','Belgaum'])
    ....
    
    
  • Consulta para obter todos os pares chave-valor.Query to get all key values.

    rows = session.execute('SELECT * FROM uprofile.user')
    
  • Consulta para obter uma chave-valor.Query to get a key-value.

    
    rows = session.execute('SELECT * FROM uprofile.user where user_id=1')
    

Atualizar sua cadeia de conexãoUpdate your connection string

Agora, volte ao portal do Azure para obter informações sobre a cadeia de conexão e copiá-las para o aplicativo.Now go back to the Azure portal to get your connection string information and copy it into the app. A cadeia de conexão permite que seu aplicativo se comunique com o banco de dados hospedado.The connection string enables your app to communicate with your hosted database.

  1. No portal do Azure, selecione Cadeia de Conexão.In the Azure portal, select Connection String.

    Use oUse the botão Copiar no lado direito da tela para copiar o valor superior, o PONTO DE CONTATO.button on the right side of the screen to copy the top value, the CONTACT POINT.

    Exibir e copiar nome de usuário, senha e ponto de contato de acesso na folha de cadeia de conexão no Portal do Azure

  2. Abra o arquivo config.py .Open the config.py file.

  3. Cole o valor PONTO DE CONTATO do portal sobre <FILLME> na linha 10.Paste the CONTACT POINT value from the portal over <FILLME> on line 10.

    Agora a linha 10 deve ser semelhante aLine 10 should now look similar to

    'contactPoint': 'cosmos-db-quickstarts.cassandra.cosmosdb.azure.com:10350'

  4. Copie o valor NOME DE USUÁRIO do portal e cole-o sobre <FILLME> na linha 6.Copy the USERNAME value from the portal and paste it over <FILLME> on line 6.

    Agora a linha 6 deve ser semelhante aLine 6 should now look similar to

    'username': 'cosmos-db-quickstart',

  5. Copie o valor SENHA do portal e cole-o sobre <FILLME> na linha 8.Copy the PASSWORD value from the portal and paste it over <FILLME> on line 8.

    Agora a linha 8 deve ser semelhante aLine 8 should now look similar to

    'password' = '2Ggkr662ifxz2Mg==';`'password' = '2Ggkr662ifxz2Mg==';`

  6. Salve o arquivo config.py.Save the config.py file.

Use o certificado X509Use the X509 certificate

  1. Baixe o certificado de Baltimore CyberTrust Root localmente do https://cacert.omniroot.com/bc2025.crt .Download the Baltimore CyberTrust Root certificate locally from https://cacert.omniroot.com/bc2025.crt. Renomeie o arquivo usando a extensão de arquivo .cer.Rename the file using the file extension .cer.

    O certificado tem o número de série 02:00:00:b9 e a impressão digital SHA1 d4🇩🇪20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74.The certificate has serial number 02:00:00:b9 and SHA1 fingerprint d4🇩🇪20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74.

  2. Abra pyquickstart.py e altere o path\to\cert para apontar para o novo certificado.Open pyquickstart.py and change the path\to\cert to point to your new certificate.

  3. Salvar pyquickstart.py.Save pyquickstart.py.

Execute o aplicativo script PythonRun the Python app

  1. Use o comando cd no terminal git para mudar para a pasta- azure-cosmos-db-cassandra-python-getting-started.Use the cd command in the git terminal to change into the azure-cosmos-db-cassandra-python-getting-started folder.

  2. Execute os seguintes comandos para instalar os módulos necessários:Run the following commands to install the required modules:

    python -m pip install cassandra-driver
    python -m pip install prettytable
    python -m pip install requests
    python -m pip install pyopenssl
    
  3. Execute o seguinte comando para iniciar o aplicativo de nó:Run the following command to start your node application:

    python pyquickstart.py
    
  4. Verifique se os resultados estão conforme o esperado na linha de comando.Verify the results as expected from the command line.

    Pressione CTRL + C para interromper a execução do programa e feche a janela do console.Press CTRL + C to stop execution of the program and close the console window.

    Exibir e verificar a saída

  5. No portal do Azure, abra Data Explorer para consultar, modificar e trabalhar com esses novos dados.In the Azure portal, open Data Explorer to query, modify, and work with this new data.

    Exibir os dados no Data Explorer

Examinar SLAs no Portal do AzureReview SLAs in the Azure portal

O portal do Azure monitora a taxa de transferência, armazenamento, disponibilidade, latência e consistência da conta do Cosmos DB.The Azure portal monitors your Cosmos DB account throughput, storage, availability, latency, and consistency. Gráficos de métricas associados a um SLA (Contrato de Nível de Serviço) do Azure Cosmos DB mostram o valor do SLA em comparação com o desempenho real.Charts for metrics associated with an Azure Cosmos DB Service Level Agreement (SLA) show the SLA value compared to actual performance. Esse conjunto de métricas torna o monitoramento dos SLAs transparente.This suite of metrics makes monitoring your SLAs transparent.

Para examinar as métricas e os SLAs:To review metrics and SLAs:

  1. Selecione Métricas no menu de navegação da sua conta do Cosmos DB.Select Metrics in your Cosmos DB account's navigation menu.

  2. Selecione uma guia, tal como Latência, e selecione um período à direita.Select a tab such as Latency, and select a timeframe on the right. Comparar as linhas Real e SLA dos gráficos.Compare the Actual and SLA lines on the charts.

    Pacote de métricas do Azure Cosmos DB

  3. Examine as métricas nas outras guias.Review the metrics on the other tabs.

Limpar recursosClean up resources

Quando você concluir seu aplicativo Web e a conta do Azure Cosmos DB, poderá excluir os recursos do Azure criados para não incorrer em mais cobranças.When you're done with your web app and Azure Cosmos DB account, you can delete the Azure resources you created so you don't incur more charges. Para excluir os recursos:To delete the resources:

  1. No portal do Azure, selecione Grupos de recursos no canto esquerdo.In the Azure portal, select Resource groups on the far left. Se o menu esquerdo estiver recolhido, selecione Expandir botão para expandi-lo.If the left menu is collapsed, select Expand button to expand it.

  2. Selecione o grupo de recursos que você criou para este início rápido.Select the resource group you created for this quickstart.

    Métricas no portal do Azure

  3. Na nova janela, selecione Excluir grupo de recursos.In the new window, select Delete resource group.

    Métricas no portal do Azure

  4. Na próxima janela, digite o nome do grupo de recursos a ser excluído e selecione Excluir.In the next window, type the name of the resource group to delete, and then select Delete.

Próximas etapasNext steps

Neste início rápido, você aprendeu a criar uma conta do Azure Cosmos DB, como criar um contêiner usando o Data Explorer e como executar um aplicativo.In this quickstart, you've learned how to create an Azure Cosmos DB account, create a container using the Data Explorer, and run an app. Agora, é possível importar outros dados para sua conta do Cosmos DB.You can now import additional data to your Cosmos DB account.