Um exemplo completo de como publicar uma mensagem em um dispositivo por meio de um tópico personalizado usando uma operação OpenAPI.
Visualizar o documento OpenAPI
Consulte a lista de APIs para localizar a operação Pub, que publica mensagens em um dispositivo por meio de um tópico personalizado. Revise a documentação para conhecer os dados e permissões necessários.
Criar um usuário RAM e conceder permissões
Identidade
É possível chamar esta operação usando uma conta Alibaba Cloud, um usuário de Resource Access Management (RAM) ou uma função RAM. Para obter mais informações sobre as diferenças entre essas identidades, consulte Identidades, credenciais e autorização. Este exemplo usa um usuário RAM.
Acesse o console do Resource Access Management (RAM), crie um usuário RAM somente para chamadas de API e salve o par de AccessKey. Para obter mais informações, consulte Criar um usuário RAM.
Autorização
-
Acesse a página RAM User List. Na coluna Actions do usuário RAM de destino, clique em Add Permissions.
-
Na seção Select Policy, insira a palavra-chave
IoTna caixa de pesquisa e selecione a política AliyunIOTFullAccess.Nota-
As políticas do sistema para o IoT Platform são as seguintes:
-
AliyunIOTFullAccess: Concede permissões completas de gerenciamento para o Internet of Things (IoT) Platform.
-
AliyunIOTReadOnlyAccess: Concede permissões de acesso somente leitura para o Internet of Things (IoT) Platform.
-
-
Para obter mais informações sobre como criar uma política personalizada, consulte Políticas personalizadas.
-
-
Clique em OK para concluir a autorização.
Credencial
Um par de AccessKey é gerado por padrão ao criar um usuário RAM.
Como alternativa, acesse a página de detalhes do usuário RAM. Na guia Authentication Management, clique em Create AccessKey. Para obter mais informações, consulte Criar um AccessKey.
Chamar a OpenAPI
O exemplo a seguir usa Python para chamar a operação Pub.
Preparar o ambiente Python
-
Verifique se o Python 3 está instalado no seu sistema.
Sistemas Linux e macOS
Abra o terminal e execute o comando
python3 --version.Se o sistema retornar o número da versão do Python, o Python 3 está instalado. Caso contrário, prossiga para a próxima etapa para instalar o Python 3.
Sistema Windows
No caminho de instalação do Python, clique duas vezes em python.exe para abrir uma janela de command prompt. Também é possível usar o atalho de teclado Win+R para abrir a caixa de diálogo Run, inserir python e clicar em OK.
Se o sistema retornar uma resposta semelhante à seguinte e entrar no ambiente interativo do Python, o Python está instalado.
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> -
Baixe e instale o Python.
Para baixar o Python 3, consulte Python 3.
Linux
-
Baixe o pacote Python.
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz -
Descompacte o pacote Python.
tar -zxvf Python-3.9.6.tgz -
Acesse a pasta descompactada e especifique o caminho de instalação.
cd Python-3.9.6 sudo ./configure --prefix=/usr/bin/python3 -
Compile e instale o Python.
make make install -
Configure a variável de ambiente para o Python 3.
Por exemplo, em um sistema Ubuntu Linux, execute os comandos a seguir.
-
Abra o arquivo
.bashrce adicione o seguinte ao final do arquivo.nano ~/.bashrc -
Adicione o seguinte conteúdo ao final do arquivo, salve e feche-o.
export PATH=$PATH:/usr/bin/python3 -
Execute o seguinte comando para atualizar a variável de ambiente.
source ~/.bashrc -
Execute o seguinte comando para visualizar a variável de ambiente e confirmar que ela inclui o caminho de instalação do Python 3.
echo $PATH
-
macOS
Este sistema vem com o Python 2.7. Baixe e instale a versão mais recente do Python 3.x.
-
Após baixar o pacote de instalação, clique duas vezes para abrir o assistente de instalação do Python.
-
Clique em Continue e siga as instruções para configurar e instalar.
-
Configure a variável de ambiente com base no caminho de instalação do Python 3.
Windows
-
Após concluir o download, clique duas vezes no pacote para abrir o assistente de instalação do Python. Use as configurações padrão e selecione Add Python 3.9 to PATH.
-
Clique em Install Now para iniciar a instalação.
-
Após concluir a instalação, clique em Close para fechar a janela de instalação.
-
-
Repita a Etapa 1 para verificar a versão do Python 3. Se o número de versão correto for exibido, a instalação foi bem-sucedida.
Configurar variáveis de ambiente
Para evitar codificar um par de AccessKey diretamente no código, armazene as credenciais em variáveis de ambiente.
-
Sistemas Linux e macOS
Substitua
<access_key_id>e<access_key_secret>nos comandos a seguir pelo seu AccessKey ID e AccessKey secret. Em seguida, execute os comandos no terminal.export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret> -
Sistema Windows
Crie as variáveis de ambiente
ALIBABA_CLOUD_ACCESS_KEY_IDeALIBABA_CLOUD_ACCESS_KEY_SECRETe defina seus valores como seu AccessKey ID e AccessKey secret. Em seguida, reinicie o sistema Windows.
Instalar dependências
pip3 install alibabacloud_tea_openapi
pip3 install alibabacloud_iot20180120
pip3 install alibabacloud-tea-console
Baixar o código de exemplo
-
No OpenAPI Portal, acesse a página de depuração da API Pub.
-
Insira valores para os parâmetros de solicitação IotInstanceId, ProductKey, TopicFullName e MessageContent. Os demais parâmetros podem ser deixados em branco.
-
Clique em Submit Request.
-
Na guia Call Result, após a mensagem Call Succeeded ser exibida, clique na guia SDK Sample e, em seguida, clique na guia Python.
-
Clique em Download Complete Project para baixar o pacote do código de exemplo.
-
Descompacte o pacote do código de exemplo no seu computador local e acesse a pasta alibabacloud_sample.
Executar o código
Execute o seguinte comando:
python sample.py
O resultado é o seguinte:
{
"headers": {
"date": "Thu, 10 Aug 2023 09:26:52 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "99",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "1296FD43-4BD3-5F80-AB2C-1ADF99B02253",
"x-acs-trace-id": "aee72e4c5e***************77fc9d",
"etag": "9umD************cjYJ8og9"
},
"statusCode": 200,
"body": {
"MessageId": 1689000000000004736,
"RequestId": "1296FD43-4BD3-5F80-AB2C-1ADF99B02253",
"Success": true
}
}