このトピックでは、Java用SDKをインストールして使用する方法について説明します。 この例では、ドメイン名を登録するためのタスクを送信する操作を呼び出すことができます。
前提条件
RAMユーザー用にAccessKeyペアが作成されます。 Alibaba Cloudアカウントには、リソースに対するすべての権限があります。 Alibaba CloudアカウントのAccessKeyペアが漏洩した場合、リソースが公開されてリスクが発生します。 したがって、RAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKeyペアの取得方法については、「AccessKeyペアの作成」をご参照ください。
RAMユーザーには、ドメイン名に関連するリソースを管理する権限が付与されます。 この例では、AliyunDomainFullAccessシステムポリシーがRAMユーザーにアタッチされています。
次のいずれかのシステムポリシーを使用できます。
AliyunDomainFullAccess: ドメイン名サービスを管理するための権限を提供します。
AliyunDomainReadonlyAccess: ドメイン名を登録および管理するための読み取り専用権限を提供します。
カスタムポリシーを使用できます。
カスタムポリシーの作成方法の詳細については、「カスタマイズポリシーの作成」をご参照ください。.
RAMユーザーのAccessKeyペアは、環境変数で設定されます。 詳細については、「Linux、macOS、およびWindowsでの環境変数の設定」をご参照ください。
SDKのインストール
Maven構成ファイルに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>
Mavenプロジェクトのpom.xmlファイルを開き、依存関係設定を
<dependencies>
に追加し、Maven設定を更新します。<dependency> <groupId>com.aliyun</groupId> <artifactId>domain20180129</artifactId> <version>3.15.1</version> </dependency>
SDKの使用
1. クライアントの初期化Initialize a client
Alibaba Cloud SDKは、クライアントを初期化するために、AccessKeyペアやSTS (Security Token Service) トークンなどの複数のアクセス資格情報をサポートしています。 詳細については、「アクセス資格情報の管理」をご参照ください。 この例では、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. API操作のリクエストオブジェクトを作成する
リクエストオブジェクトを作成する前に、を参照して呼び出されるAPI操作を見つけます。 APIリファレンスを参照し、API操作のパラメーターを表示します。
リクエストオブジェクトの名前は {API名} リクエスト形式である必要があります。 たとえば、SaveSingleTaskForCreatingOrderActivateのリクエストオブジェクトはSaveSingleTaskForCreatingOrderActivateRequestです。
SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
.setDomainName("example.com");
3。 呼び出しを開始するInitiate a call
返されるオブジェクトの名前は、{API name}Response形式である必要があります。 たとえば、SaveSingleTaskForCreatingOrderActivateに返されるオブジェクトはSaveSingleTaskForCreatingOrderActivateResponseです。
// Specify the runtime parameters.
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
4。 例外を処理するHandle an exception
SDK for Javaを使用するときに発生する可能性のある例外は、TeaUnretryableExceptionとTeaExceptionの2つのタイプに分類されます。
TeaUnretryableException: このタイプの例外は、ネットワークの問題によって発生します。 再試行の回数が上限に達すると、TeaUnretryableExceptionがスローされます。
TeaException: このタイプの例外は、ビジネスエラーが原因です。
重要この例では、エラーメッセージは参照用に表示されます。 実際のビジネスシナリオでは、プロジェクトの例外を無視しないでください。 例外のレポート、ログの記録、再試行などの操作を実行して、例外を適切に処理することを推奨します。 これにより、システムの堅牢性と安定性を確保できます。
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。 完全な例
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();
}
}
}