O Client é o cliente do SDK Java para o Simple Log Service. Ele fornece métodos para criar projetos e Logstores, gravar logs e ler logs. Antes de enviar solicitações com o SDK Java, inicialize uma instância de Client e modifique as configurações padrão conforme necessário.
Pré-requisitos
Você concluiu a Instalação do SDK Java.
Procedimento
Dois métodos de inicialização estão disponíveis. Escolha o mais adequado ao seu cenário:
Inicialização com AK: Um par de AccessKey é uma credencial de longo prazo usada diretamente para chamadas de API. Este método é adequado para cenários estáveis que não exigem rotação frequente de credenciais.
Inicialização com STS: O Security Token Service (STS) gera credenciais de acesso temporárias. Esta opção é recomendada para cenários que requerem autorização dinâmica e de curta duração.
Inicializar usando um par de AccessKey
Inicializar o cliente
public Client(String endpoint, String accessKeyId, String accessKeySecret)
Parâmetros da solicitação
|
Variável |
Tipo |
Obrigatório |
Descrição |
Valor de exemplo |
|
endpoint |
String |
Sim |
O endpoint usado para acessar o Simple Log Service. Um endpoint é uma URL que especifica o protocolo de acesso, nome do host, porta e caminho para a comunicação entre cliente e serviço. O Simple Log Service oferece os seguintes tipos de endpoints:
|
|
|
accessKeyId |
String |
Sim |
|
LTAI |
|
accessKeySecret |
String |
Sim |
Se você usar um par de AccessKey para configurar credenciais de acesso, informe o AccessKey secret de uma conta Alibaba Cloud ou de um usuário RAM. O AccessKey secret autentica o AccessKey ID. Para mais informações, consulte Configurar credenciais de acesso. |
yourAccessKeySecret |
Código de exemplo
O algoritmo de assinatura V4 oferece maior segurança por meio de criptografia e assinatura mais complexas. Já o algoritmo de assinatura V1 é mais simples. Selecione o algoritmo de assinatura de acordo com suas necessidades:
Assinatura V4
package com.test.controller;
import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.http.client.ClientConfiguration;
import com.aliyun.openservices.log.http.signer.SignVersion;
public class Sample {
public static void main(String[] args) throws Exception {
// The endpoint of Simple Log Service. This example uses the endpoint of the China (Beijing) region. Replace it with the actual endpoint.
String endpoint = "cn-beijing.log.aliyuncs.com";
// This example obtains the AccessKey ID and AccessKey secret from environment variables.
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setRegion("cn-beijing");
clientConfiguration.setSignatureVersion(SignVersion.V4);
Client client = new Client(endpoint,
accessKeyId,
accessKeySecret,
clientConfiguration);
}
}
Assinatura V1
package com.test.controller;
import com.aliyun.openservices.log.Client;
public class Sample {
public static void main(String[] args) throws Exception {
// The endpoint of Simple Log Service. This example uses the endpoint of the China (Beijing) region. Replace it with the actual endpoint.
String endpoint = "cn-beijing.log.aliyuncs.com";
// This example obtains the AccessKey ID and AccessKey secret from environment variables.
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
Client client = new Client(endpoint, accessKeyId, accessKeySecret);
}
}
Inicializar usando STS
Inicializar o cliente
Client(String endpoint, CredentialsProvider credentialsProvider) ;
Parâmetros da solicitação
|
Variável |
Tipo |
Obrigatório |
Descrição |
Exemplo |
|
endpoint |
String |
Sim |
O endpoint usado para acessar o Simple Log Service. Um endpoint é uma URL que especifica o protocolo de acesso, nome do host, porta e caminho para a comunicação entre cliente e serviço. O Simple Log Service oferece os seguintes tipos de endpoints:
|
|
|
accessKeyId |
String |
Sim |
Se você usar o STS para configurar credenciais de acesso, informe o AccessKeyId obtido no parâmetro Credentials retornado pela operação de API AssumeRole. |
LTAI |
|
accessKeySecret |
String |
Sim |
Se você usar o STS para configurar credenciais de acesso, informe o AccessKeySecret obtido no parâmetro Credentials retornado pela operação de API AssumeRole. |
yourAccessKeySecret |
|
securityToken |
String |
Sim |
Se você usar o STS para configurar credenciais de acesso, informe o SecurityToken obtido no parâmetro Credentials retornado pela operação de API AssumeRole. |
|
Código de exemplo
package com.test.controller;
import com.aliyun.openservices.log.Client;
import com.aliyun.openservices.log.common.auth.DefaultCredentials;
import com.aliyun.openservices.log.common.auth.StaticCredentialsProvider;
public class Sample {
public static void main(String[] args) throws Exception {
// The endpoint of Simple Log Service. This example uses the endpoint of the China (Beijing) region. Replace it with the actual endpoint.
String endpoint = "cn-beijing.log.aliyuncs.com";
// This example obtains the AccessKeyId from the Credentials parameter returned by the AssumeRole operation from an environment variable.
String accessKeyId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
// This example obtains the AccessKeySecret from the Credentials parameter returned by the AssumeRole operation from an environment variable.
String accessKeySecret = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
// This example obtains the SecurityToken from the Credentials parameter returned by the AssumeRole operation from an environment variable.
String securityToken = System.getenv("ALIBABA_CLOUD_STS_TOKEN");
Client client = new Client(endpoint, new StaticCredentialsProvider(
new DefaultCredentials(accessKeyId, accessKeySecret, securityToken)
));
}
}
Referências
Após inicializar o cliente, chame operações de API para crie projetos, gravar logs ou executar outras tarefas. Para mais informações, consulte Guia de início rápido do SDK Java.