すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:サーバー SDK for Java の使用

最終更新日:Jun 11, 2026

ApsaraVideo Live サーバー SDK for Java をインストールし、コード例を使用して API オペレーションを呼び出します。

前提条件

  • ApsaraVideo Live API を呼び出す権限が付与された RAM ユーザー。詳細については、「RAM ユーザーの作成と認可」をご参照ください。

  • 認証用の AccessKey ペア。詳細については、「AccessKey ペアの作成」をご参照ください。

  • Java 1.8 以降。

SDK の使用

SDK のインストール

次の Maven 依存関係を pom.xml ファイルに追加します:

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>alibabacloud-live20161101</artifactId>
  <version>2.0.1</version>
</dependency>

API オペレーションの呼び出し

次の例では、スナップショット設定をクエリします。

// このファイルは自動生成されています。編集しないでください。
package demo;
import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.core.http.HttpClient;
import com.aliyun.core.http.HttpMethod;
import com.aliyun.core.http.ProxyOptions;
import com.aliyun.httpcomponent.httpclient.ApacheAsyncHttpClientBuilder;
import com.aliyun.sdk.service.live20161101.models.*;
import com.aliyun.sdk.service.live20161101.*;
import com.google.gson.Gson;
import darabonba.core.RequestConfiguration;
import darabonba.core.client.ClientOverrideConfiguration;
import darabonba.core.utils.CommonUtil;
import darabonba.core.TeaPair;
//import javax.net.ssl.KeyManager;
//import javax.net.ssl.X509TrustManager;
import java.net.InetSocketAddress;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.io.*;
public class DescribeLiveSnapshotConfig {
    public static void main(String[] args) throws Exception {
        // HttpClient の設定
        /*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
                .connectionTimeout(Duration.ofSeconds(10)) // 接続タイムアウトを設定します。デフォルト値:10 秒。
                .responseTimeout(Duration.ofSeconds(10)) // レスポンスタイムアウトを設定します。デフォルト値:20 秒。
                .maxConnections(128) // 接続プールサイズを設定します。
                .maxIdleTimeOut(Duration.ofSeconds(50)) // 接続プールのタイムアウトを設定します。デフォルト値:30 秒。
                // プロキシを設定します。
                .proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
                        .setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
                // HTTPS 接続の場合、証明書を設定するか、.ignoreSSL(true) を使用して証明書を無視する必要があります。
                .x509TrustManagers(new X509TrustManager[]{})
                .keyManagers(new KeyManager[]{})
                .ignoreSSL(false)
                .build();*/
        // 認証情報を設定します。
        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                // ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
                .accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                //.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // STS トークンを使用します。
                .build());
        // クライアントを設定します。
        AsyncClient client = AsyncClient.builder()
                .region("<Your RegionId>") // リージョン ID
                //.httpClient(httpClient) // 設定した HttpClient を使用します。設定しない場合は、デフォルトの Apache HttpClient が使用されます。
                .credentialsProvider(provider)
                //.serviceConfiguration(Configuration.create()) // サービスレベルを設定します。
                // クライアントレベルの設定を上書きして、エンドポイントや HTTP リクエストパラメーターなどを設定します。
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                  // エンドポイントの一覧については、https://api.aliyun.com/product/live を参照してください。
                                .setEndpointOverride("live.aliyuncs.com")
                        //.setConnectTimeout(Duration.ofSeconds(30))
                )
                .build();
        // API リクエストのパラメーターを設定します。
        DescribeLiveSnapshotConfigRequest describeLiveSnapshotConfigRequest = DescribeLiveSnapshotConfigRequest.builder()
                .domainName("<Your DomainName>")
                .appName("<Your AppName>")
                // リクエストレベルの設定を上書きして、HTTP リクエストパラメーターを設定します。
                // .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
                .build();
        // 非同期で API レスポンスを取得します。
        CompletableFuture<DescribeLiveSnapshotConfigResponse> response = client.describeLiveSnapshotConfig(describeLiveSnapshotConfigRequest);
        // 同期で API レスポンスを取得します。
        DescribeLiveSnapshotConfigResponse resp = response.get();
        System.out.println(new Gson().toJson(resp));
        // 非同期でレスポンスを処理します。
        /*response.thenAccept(resp -> {
            System.out.println(new Gson().toJson(resp));
        }).exceptionally(throwable -> { // 例外を処理します。
            System.out.println(throwable.getMessage());
            return null;
        });*/
        // クライアントを閉じます。
        client.close();
    }
}
説明
  • 山括弧 (<...>) 内のプレースホルダーを実際の値に置き換えてください。

  • <region ID>:サービスがデプロイされているリージョン。有効な値: エンドポイント

  • <ALIBABA_CLOUD_ACCESS_KEY_ID><ALIBABA_CLOUD_ACCESS_KEY_SECRET>: AccessKey ペア。 前提条件をご参照ください。

  • DescribeLiveSnapshotConfigRequest は、スナップショット設定をクエリするためのリクエストクラスです。

  • DescribeLiveSnapshotConfigResponse は、スナップショット設定をクエリするためのレスポンスクラスです。

  • リクエストとレスポンスのパラメーターについては、「DescribeLiveSnapshotConfig」をご参照ください。

  • API 呼び出しには QPS 制限が適用されます。詳細については、「フロー制御」をご参照ください。

上記の例では、レスポンスを DescribeLiveSnapshotConfigResponse オブジェクトにデシリアライズします。生の HttpResponse オブジェクトを取得するには、代わりに doAction を呼び出します。

HttpResponse httpResponse=client.doAction(describeLiveSnapshotConfigRequest);
int status=httpResponse.getStatus();

使用上の注意:

  • 2xx:呼び出しは成功です。

  • 3xx または 4xx:SDK は ClientException をスローします。

  • 5xx:SDK は ServerException をスローします。

必要に応じて、client.getAcsResponse または client.doAction を選択してください。

重要

命名規則: [APIName]Requestリクエストクラス[APIName]Responseレスポンスクラスです。

一般的な API オペレーション:

API

リクエストクラス

レスポンスクラス

DescribeLiveSnapshotConfig

DescribeLiveSnapshotConfigRequest

DescribeLiveSnapshotConfigResponse

AddLiveAppRecordConfig

AddLiveAppRecordConfigRequest

AddLiveAppRecordConfigResponse

DescribeLiveRecordConfig

DescribeLiveRecordConfigRequest

DescribeLiveRecordConfigResponse

AddLiveStreamTranscode

AddLiveStreamTranscodeRequest

AddLiveStreamTranscodeResponse

DescribeLiveStreamTranscodeInfo

DescribeLiveStreamTranscodeInfoRequest

DescribeLiveStreamTranscodeInfoResponse

BatchSetLiveDomainConfigs

BatchSetLiveDomainConfigsRequest

BatchSetLiveDomainConfigsResponse

DescribeLiveDomainConfigs

DescribeLiveDomainConfigsRequest

DescribeLiveDomainConfigsResponse

利用可能なすべての API オペレーションについては、「API overview」をご参照ください。

アクセス制御

各 API オペレーションには認可情報が含まれます。たとえば、AddLiveAppSnapshotConfig API の詳細は次のとおりです:

Action: live:AddLiveAppSnapshotConfig。アクセスレベル: create。リソースタイプ: Domain。ARN 形式: acs:live:*:{#accountId}:domain/{#DomainName}。条件キーまたは関連オペレーションはありません。

特定のドメインに対して RAM ユーザーを制限するなど、よりきめ細かな アクセス制御 を行うには、カスタムポリシー を作成してください。

説明

各オペレーションのアクセス制御の詳細については、「RAM 認可」をご参照ください。