Installez le SDK serveur ApsaraVideo Live pour Java et appelez les opérations API à l'aide d'exemples de code.
Prérequis
Un utilisateur RAM autorisé à appeler les API ApsaraVideo Live. Créer et autoriser un utilisateur RAM.
Une paire AccessKey pour l'authentification. Créer une paire AccessKey.
Java 1.8 ou version ultérieure.
Utiliser le SDK
Installer le SDK
Ajoutez la dépendance Maven suivante à votre fichier pom.xml :
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibabacloud-live20161101</artifactId>
<version>2.0.1</version>
</dependency>
Appeler une opération API
L'exemple suivant interroge une configuration de snapshot.
// This file is auto-generated, don't edit it. Thanks.
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 Configuration
/*HttpClient httpClient = new ApacheAsyncHttpClientBuilder()
.connectionTimeout(Duration.ofSeconds(10)) // Set the connection timeout. Default value: 10 seconds.
.responseTimeout(Duration.ofSeconds(10)) // Set the response timeout. Default value: 20 seconds.
.maxConnections(128) // Set the connection pool size.
.maxIdleTimeOut(Duration.ofSeconds(50)) // Set the connection pool timeout. Default value: 30 seconds.
// Configure the proxy.
.proxy(new ProxyOptions(ProxyOptions.Type.HTTP, new InetSocketAddress("<YOUR-PROXY-HOSTNAME>", 9001))
.setCredentials("<YOUR-PROXY-USERNAME>", "<YOUR-PROXY-PASSWORD>"))
// For an HTTPS connection, you must configure a certificate or ignore the certificate by using .ignoreSSL(true).
.x509TrustManagers(new X509TrustManager[]{})
.keyManagers(new KeyManager[]{})
.ignoreSSL(false)
.build();*/
// Configure credentials.
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
// Ensure that the ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variables are set.
.accessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.accessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
//.securityToken(System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")) // Use an STS token.
.build());
// Configure the client.
AsyncClient client = AsyncClient.builder()
.region("<Your RegionId>") // region ID
//.httpClient(httpClient) // Use the configured HttpClient. Otherwise, the default Apache HttpClient is used.
.credentialsProvider(provider)
//.serviceConfiguration(Configuration.create()) // Configure the service level.
// Override the client-level configuration to set parameters such as the endpoint and HTTP request parameters.
.overrideConfiguration(
ClientOverrideConfiguration.create()
// For a list of endpoints, see https://api.alibabacloud.com/product/live.
.setEndpointOverride("live.aliyuncs.com")
//.setConnectTimeout(Duration.ofSeconds(30))
)
.build();
// Set the parameters for the API request.
DescribeLiveSnapshotConfigRequest describeLiveSnapshotConfigRequest = DescribeLiveSnapshotConfigRequest.builder()
.domainName("<Your DomainName>")
.appName("<Your AppName>")
// Override the request-level configuration to set HTTP request parameters.
// .requestConfiguration(RequestConfiguration.create().setHttpHeaders(new HttpHeaders()))
.build();
// Asynchronously get the API response.
CompletableFuture<DescribeLiveSnapshotConfigResponse> response = client.describeLiveSnapshotConfig(describeLiveSnapshotConfigRequest);
// Synchronously get the API response.
DescribeLiveSnapshotConfigResponse resp = response.get();
System.out.println(new Gson().toJson(resp));
// Asynchronously process the response.
/*response.thenAccept(resp -> {
System.out.println(new Gson().toJson(resp));
}).exceptionally(throwable -> { // Handle exceptions.
System.out.println(throwable.getMessage());
return null;
});*/
// Close the client.
client.close();
}
}
Remplacez les valeurs fictives entre chevrons (
<...>) par vos valeurs réelles.<region ID>: la région où votre service est déployé. Valeurs valides : Endpoints.<ALIBABA_CLOUD_ACCESS_KEY_ID>et<ALIBABA_CLOUD_ACCESS_KEY_SECRET>: votre paire AccessKey. Prérequis.DescribeLiveSnapshotConfigRequest est la classe de requête pour interroger une configuration de snapshot.
DescribeLiveSnapshotConfigResponse est la classe de réponse pour interroger une configuration de snapshot.
Paramètres de requête et de réponse : DescribeLiveSnapshotConfig.
Les appels API sont soumis à des limites QPS. Contrôle du flux.
L'exemple précédent désérialise la réponse dans un objet DescribeLiveSnapshotConfigResponse. Pour obtenir l'objet brut HttpResponse, appelez plutôt doAction.
HttpResponse httpResponse=client.doAction(describeLiveStreamSnapshotInfoRequest);
int status=httpResponse.getStatus();
Notes d'utilisation :
2xx : l'appel a réussi.
3xx ou 4xx : le SDK lance une ClientException.
5xx : le SDK lance une ServerException.
Choisissez client.getAcsResponse ou client.doAction selon vos besoins.
Convention de nommage : [APIName]Request est la classe de requête, et [APIName]Response est la classe de réponse.
Opérations API courantes :
|
API |
Classe de requête |
Classe de réponse |
|
DescribeLiveSnapshotConfig |
DescribeLiveSnapshotConfig |
|
|
AddLiveAppRecordConfig |
AddLiveAppRecordConfig |
|
|
DescribeLiveRecordConfig |
DescribeLiveRecordConfig |
|
|
AddLiveStreamTranscode |
AddLiveStreamTranscode |
|
|
DescribeLiveStreamTranscodeInfo |
DescribeLiveStreamTranscodeInfo |
|
|
BatchSetLiveDomainConfigs |
BatchSetLiveDomainConfigs |
|
|
DescribeLiveDomainConfigs |
DescribeLiveDomainConfigs |
|
|
Pour plus d'informations sur toutes les opérations API disponibles, consultez la présentation des API. |
||
Contrôle d'accès
Chaque opération API inclut des informations d'autorisation. Par exemple, l'opération AddLiveAppSnapshotConfig présente les détails suivants.
Action : live:AddLiveAppSnapshotConfig. Niveau d'accès : create. Type de ressource : Domain. Format ARN : acs:cdn:*:{#accountId}:domain/{#DomainName}. Aucune clé de condition ni opération associée.
Pour un contrôle d'accès plus granulaire, tel que la restriction d'un utilisateur RAM à un domaine spécifique, créez une politique personnalisée.
Détails du contrôle d'accès pour chaque opération : Autorisation RAM.