O IoT Platform SDK for Java permite gerenciar recursos do IoT Platform com eficiência usando programas Java. Adicione o SDK como dependência ao seu projeto Maven ou baixe o pacote de instalação em um diretório local para instalar o SDK.
Instale o SDK
-
Instale um ambiente de desenvolvimento Java.
Baixe o pacote de instalação do Java no site oficial do Java e siga as instruções de instalação.
-
Instale o IoT Platform SDK for Java.
Baixe o pacote de instalação do Maven no site oficial do Apache Maven.
-
Adicione as seguintes dependências ao seu projeto Maven:
-
Dependência da versão mais recente do IoT Platform SDK for Java:
<!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-iot --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-iot</artifactId> <version>7.41.0</version> </dependency> -
Dependência do Alibaba Cloud SDK for Java:
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.6</version> </dependency>
-
Inicialize o SDK
Crie um objeto de perfil da classe IClientProfile para armazenar as informações de inicialização do SDK. Em seguida, crie uma instância de cliente da classe DefaultAcsClient. Chame o método DefaultAcsClient(profile) para carregar as informações de inicialização do SDK.
String accessKey = System.getenv("ACCESS_KEY_ID");
String accessSecret = System.getenv("ACCESS_KEY_SECRET");
IClientProfile profile = DefaultProfile.getProfile("${RegionId}", accessKey, accessSecret);
DefaultAcsClient client = new DefaultAcsClient(profile); // Initialize an SDK client.
Parâmetro | Descrição |
profile | Objeto que armazena as informações de inicialização do SDK. Verifique a região no canto superior esquerdo do IoT Platform console. Para obter mais informações sobre IDs de região, consulte Regiões e zonas. |
O exemplo a seguir mostra como inicializar o SDK quando o serviço do IoT Platform está na região China (Shanghai):
String accessKey = System.getenv("ACCESS_KEY_ID");
String accessSecret = System.getenv("ACCESS_KEY_SECRET");
IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", accessKey, accessSecret);
DefaultAcsClient client = new DefaultAcsClient(profile); // Initialize an SDK client.
Faça uma solicitação
O SDK encapsula duas classes para cada operação de API. Os nomes das classes seguem os formatos ${API operation name}+"Request" e ${API operation name}+"Response".
${API operation name}+"Request": Classe usada para chamar uma operação de API. Crie uma instânciarequestdessa classe e chame o métodoset +${request parameter}para especificar os parâmetros da solicitação.-
${API operation name}+"Response": Para obter uma resposta, chame o métodogetAcsResponse(request)da instância de cliente criada a partir de DefaultAcsClient. Use o métodoget +${response parameter}da instância de resposta da classe ${API operation name}+"Response" para recuperar os valores dos parâmetros de resposta.Por exemplo, chame o método
response.getSuccess()para obter o parâmetro Success. Esse é um parâmetro de resposta comum que indica se a solicitação foi bem-sucedida. Outros parâmetros de resposta comuns incluem RequestId, ErrorMessage e Code.
Para obter mais informações sobre as operações de API do IoT Platform, consulte a Lista de operações por função. Consulte a documentação da API para obter detalhes sobre os parâmetros request e response de cada operação.
O exemplo a seguir demonstra como chamar a operação Pub para publicar uma mensagem em um tópico. Para obter mais informações sobre os parâmetros de solicitação, consulte Pub.
No código de exemplo a seguir, ${iotInstanceId} especifica o ID de uma instância. Verifique o ID da instância na página Overview no IoT Platform console.
Se sua instância tiver um ID, especifique-o neste parâmetro. Caso contrário, a solicitação falhará.
Se não houver uma página Overview ou um ID gerado para sua instância, não será necessário especificar este parâmetro. Exclua o código de solicitação relacionado ao parâmetro IotInstanceId ou defina uma string vazia (
"") para o parâmetro. Caso contrário, a solicitação falhará.
Para obter mais informações sobre instâncias do IoT Platform, consulte Visão geral. Para saber como adquirir uma instância, consulte Adquirir instâncias Enterprise Edition. Para perguntas frequentes, consulte FAQ sobre instâncias do IoT Platform.
PubRequest request = new PubRequest();
request.setIotInstanceId("${iotInstanceId}");
request.setProductKey("${productKey}");
request.setMessageContent(Base64.encodeBase64String("hello world".getBytes()));
request.setTopicFullName("/${productKey}/${deviceName}/user/get");
request.setQos(0); // QoS 0 and QoS 1 are supported.
try
{
PubResponse response = client.getAcsResponse(request);
System.out.println(response.getSuccess());
System.out.println(response.getCode());
System.out.println(response.getErrorMessage());
}
catch (ServerException e)
{
e.printStackTrace();
}
catch (ClientException e)
{
System.out.println("ErrCode:" + e.getErrCode());
System.out.println("ErrMsg:" + e.getErrMsg());
e.printStackTrace();
}
Apêndice: Código de exemplo
Visualize ou baixe códigos de exemplo de operações de API no Centro de Exemplos do SDK do IoT Platform. Estão disponíveis códigos de exemplo dos SDKs para Java, Python, PHP, .NET e Go.
O Portal do Desenvolvedor OpenAPI do Alibaba Cloud oferece uma ferramenta online de depuração de API. Na página API debugging, pesquise e teste chamadas de API. O portal gera automaticamente códigos de exemplo do SDK em diferentes linguagens com base nos parâmetros inseridos. Visualize o código gerado na aba SDK Example e a resposta na aba Call Result.