Installez et utilisez le SDK Alibaba Cloud Domain Names pour Java afin d'appeler des opérations API, par exemple pour soumettre des tâches d'enregistrement de domaine.
Prérequis
Créez une paire AccessKey pour un utilisateur RAM. Nous vous recommandons d'utiliser un utilisateur RAM plutôt qu'un compte Alibaba Cloud, car la divulgation d'une AccessKey de compte expose l'ensemble de vos ressources. Pour savoir comment obtenir la paire AccessKey, consultez la rubrique Créer une AccessKey.
-
L'utilisateur RAM dispose des autorisations de gestion des noms de domaine. Cet exemple utilise la stratégie système AliyunDomainFullAccess.
-
Stratégies système :
AliyunDomainFullAccess : autorisations complètes sur Domain Names.
AliyunDomainReadonlyAccess : accès en lecture seule à l'enregistrement et à la gestion des domaines.
-
Vous pouvez également utiliser une stratégie personnalisée.
Pour plus d'informations sur la création d'une stratégie personnalisée, consultez les rubriques Créer une stratégie personnalisée.
-
Configurez la paire AccessKey de l'utilisateur RAM dans les variables d'environnement. Pour plus d'informations, consultez la rubrique Configurer les variables d'environnement sous Linux, macOS et Windows.
Installer le SDK
-
Ajoutez un dépôt à votre fichier de configuration Maven.
<repositories> <repository> <id>sonatype-nexus-staging</id> <name>Sonatype Nexus Staging</name> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> -
Ajoutez la dépendance suivante à la section
<dependencies>du fichier pom.xml de votre projet, puis actualisez Maven.<dependency> <groupId>com.aliyun</groupId> <artifactId>domain20180129</artifactId> <version>3.15.1</version> </dependency>
Utiliser le SDK
1. Initialiser un client
Les SDK Alibaba Cloud prennent en charge plusieurs types d'identifiants pour l'initialisation du client, tels que les paires AccessKey et les jetons STS. Pour plus d'informations, consultez la rubrique Gérer les identifiants. Cet exemple utilise une paire AccessKey.
import com.aliyun.domain20180129.Client;
import com.aliyun.teaopenapi.models.Config;
public class Sample {
private static Client createClient() throws Exception {
Config config = new Config()
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured in the code runtime environment.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured in the code runtime environment.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
// Specify an endpoint. For information about endpoints, visit https://api.aliyun.com/product/Domain.
.setEndpoint("domain.aliyuncs.com");
return new Client(config);
}
}
2. Construire un objet de requête
Recherchez l'opération API cible et ses paramètres dans la Référence API, puis construisez l'objet de requête.
Les objets de requête suivent la convention de nommage {NomAPI}Request. Par exemple, SaveSingleTaskForCreatingOrderActivate utilise SaveSingleTaskForCreatingOrderActivateRequest.
SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
.setDomainName("example.com");
3. Appeler l'opération
Les objets de réponse suivent la convention de nommage {NomAPI}Response. Par exemple, SaveSingleTaskForCreatingOrderActivate renvoie SaveSingleTaskForCreatingOrderActivateResponse.
// Specify the runtime parameters.
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
4. Gérer les exceptions
Le SDK pour Java lève deux types d'exceptions : TeaUnretryableException et TeaException.
TeaUnretryableException : levée lorsque des erreurs réseau persistent après épuisement de toutes les tentatives de nouvelle tentative.
-
TeaException : levée en cas d'erreurs liées à la logique métier.
ImportantCet exemple affiche les erreurs à titre de démonstration uniquement. En production, gérez correctement les exceptions : signalez les erreurs, journalisez les détails et implémentez des mécanismes de nouvelle tentative pour garantir la stabilité du système.
try {
Client client = createClient();
SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
.setDomainName("example.com");
// Specify the runtime parameters.
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
} catch (TeaUnretryableException ue) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
ue.printStackTrace();
// Obtain the error message.
System.out.println(ue.getMessage());
// Obtain the request message and query the request information when an error occurs.
System.out.println(ue.getLastRequest());
} catch (TeaException e) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
e.printStackTrace();
// Obtain the error code.
System.out.println(e.getCode());
// Obtain the error message that contains the request ID.
System.out.println(e.getMessage());
// Obtain the detailed error information that is returned by the server.
System.out.println(e.getData());
} catch (Exception e) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
e.printStackTrace();
}
5. Exemple complet
import com.aliyun.domain20180129.Client;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateRequest;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaUnretryableException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;
public class Sample {
private static Client createClient() throws Exception {
Config config = new Config()
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured in the code runtime environment.
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured in the code runtime environment.
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
// Specify an endpoint. For information about endpoints, visit https://api.aliyun.com/product/Domain.
.setEndpoint("domain.aliyuncs.com");
return new Client(config);
}
public static void main(String[] args_) {
try {
Client client = createClient();
SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
.setDomainName("example.com");
// Specify the runtime parameters.
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
} catch (TeaUnretryableException ue) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
ue.printStackTrace();
// Obtain the error message.
System.out.println(ue.getMessage());
// Obtain the request message.
System.out.println(ue.getLastRequest());
} catch (TeaException e) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
e.printStackTrace();
// Obtain the error code.
System.out.println(e.getCode());
// Obtain the error message that contains the request ID.
System.out.println(e.getMessage());
// Obtain the detailed error information that is returned by the server.
System.out.println(e.getData());
} catch (Exception e) {
// Handle exceptions with caution in your actual business scenario and do not ignore exceptions in your project. In this example, error messages are printed for reference only.
e.printStackTrace();
}
}
}