4

リスト(System Presets)からプリセットを取得する必要があります。次のようなプリセットを取得すると、最初のプリセットが返されます。しかし、私はPresetIdに "System preset:Generic 320x240"という名前を付ける必要があります。Amazon Elastic Transcoder - 名前を使用してプリセットを取得する方法

BasicAWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey); 
AmazonS3 s3Client = AmazonS3ClientBuilder.standard() 
           .withCredentials(new AWSStaticCredentialsProvider(creds)).build(); 
AmazonElasticTranscoder amazonElasticTranscoder = AmazonElasticTranscoderClientBuilder.standard() 
           .withCredentials(new AWSStaticCredentialsProvider(creds)).withRegion(s3Client.getRegionName()) 
           .build(); 
List<Preset> presets = amazonElasticTranscoder.listPresets().getPresets(); 
String presetId = presets.iterator().next().withName("System preset: Generic 320x240").getId(); 

上記のコードを返す "1351620000001から000001" の代わりに "1351620000001から000061"

私のpom.xml、

 <parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.7.RELEASE</version> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <start-class>com.xxx.Application</start-class> 
    <java.version>1.8</java.version> 
    <aws.version>1.11.194</aws.version> 
    <aws.messaging.version>1.0.4</aws.messaging.version> 

</properties> 

<dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk-s3</artifactId> 
      <version>${aws.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk-elastictranscoder</artifactId> 
      <version>${aws.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk-sqs</artifactId> 
      <version>${aws.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>amazon-sqs-java-messaging-lib</artifactId> 
      <version>${aws.messaging.version}</version> 
     </dependency> 

の私はAWS弾性からすべてのプリセットを取得しようとしていますトランスコーダですが、次のコードは62のうち50だけを返します

List<Preset> presets = amazonElasticTranscoder.listPresets().getPresets(); 

プリセットを動的に取得する方法ng java? すべてのプリセット(カスタムプリセットを含む)を取得する方法。

答えて

3

私はPython SDKにもっと精通しています(Javaの人ではありません)。しかし、この動作は、API呼び出し結果の最初のページ(50の結果)のみを取得しているように見えます。結果。 listPresetsへ 最初の呼び出し()NextPageTokenを取得し、その要求を反復おく必要があります。here

擬似コード例は

PageToken 
When Elastic Transcoder returns more than one page of results, use PageToken in subsequent GET requests to get each successive page of results. 

NextPageToken 
A value that you use to access the second and subsequent pages of results, if any. When the presets fit on one page or when you've reached the last page of results, the value of NextPageToken is null. 

ルックを参照してください。 NextPageTokenがnullのときにローカル変数に結果を追加します。

関連する問題