Getting Error: " the constructor AmazonKinesisFirehoseClient(AWSCredentials) is deprecated"
Getting Error: " the constructor AmazonKinesisFirehoseClient(AWSCredentials) is deprecated"
我正在尝试将一些数据放入我的 AWS Firehose Stream,但遇到了一些困难。我还收到一条错误消息,指出无法找到我的流名称,即使它确实存在于该名称下。我还尝试了另一个活动流,但遇到了同样的问题。我不确定这个错误是否与我在构造函数被弃用时遇到的错误有关。
Firehose project-stream not found under account xxxxxxxxxxx.
(Service: AmazonKinesisFirehose; Status Code: 400; Error Code:
ResourceNotFoundException; Request ID: xxxxxxxxxxxxxxxxxxxxxx
在第一次尝试捕获后尝试创建 "firehoseClient," 时出现以下错误:
the constructor AmazonKinesisFirehoseClient(AWSCredentials) is
deprecated
我试图查看 AWS 的 API,但找不到有效的构造函数。
package com.amazonaws.samples;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.ByteBuffer;
import java.util.Collection;
import com.amazonaws.*;
import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.kinesisfirehose.model.PutRecordRequest;
import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseClient;
import com.amazonaws.services.kinesisfirehose.model.Record;
import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseClient;
import com.amazonaws.services.kinesisfirehose.*;
public class FirehoseExample {
public static void main(String[] args) {
AWSCredentials credentials = null;
try {
credentials = new ProfileCredentialsProvider().getCredentials();
}
catch (Exception e) {
throw new AmazonClientException("Cannot load the credentials from the credential profiles file. "
+ "Please make sure that your credentials file is at the correct "
+ "location (/Users/elybenari/.aws/credentials), and is in valid format.", e);
}
AmazonKinesisFirehoseClient firehoseClient = new AmazonKinesisFirehoseClient(credentials);
PutRecordRequest request = new PutRecordRequest();
request.setDeliveryStreamName("project-stream");
Record record = new Record();
for (int i = 0; i < 10*60; i++){
try {
URL url = new URL("https://www.google.com/finance/info?q=NASDAQ:AMZN");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString().replace("\n", "").replaceAll(" ", ""));
System.out.println("****\n");
ByteBuffer buff = ByteBuffer.wrap(response.toString().replace("\n", "").replaceAll(" ", "").getBytes());
record.setData(buff);
request.setRecord(record);
firehoseClient.putRecord(request);
Thread.sleep(2000);
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
使用静态 builder() 方法代替已弃用的构造函数。
javadoc 文档建议使用这种方法而不是使用已弃用的构造函数:
AmazonKinesisFirehoseClient client = AmazonKinesisFirehoseClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();
// You can now use the client as you normally would...
client.putRecord(xyz);
我正在尝试将一些数据放入我的 AWS Firehose Stream,但遇到了一些困难。我还收到一条错误消息,指出无法找到我的流名称,即使它确实存在于该名称下。我还尝试了另一个活动流,但遇到了同样的问题。我不确定这个错误是否与我在构造函数被弃用时遇到的错误有关。
Firehose project-stream not found under account xxxxxxxxxxx. (Service: AmazonKinesisFirehose; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: xxxxxxxxxxxxxxxxxxxxxx
在第一次尝试捕获后尝试创建 "firehoseClient," 时出现以下错误:
the constructor AmazonKinesisFirehoseClient(AWSCredentials) is deprecated
我试图查看 AWS 的 API,但找不到有效的构造函数。
package com.amazonaws.samples;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.ByteBuffer;
import java.util.Collection;
import com.amazonaws.*;
import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.kinesisfirehose.model.PutRecordRequest;
import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseClient;
import com.amazonaws.services.kinesisfirehose.model.Record;
import com.amazonaws.services.kinesisfirehose.AmazonKinesisFirehoseClient;
import com.amazonaws.services.kinesisfirehose.*;
public class FirehoseExample {
public static void main(String[] args) {
AWSCredentials credentials = null;
try {
credentials = new ProfileCredentialsProvider().getCredentials();
}
catch (Exception e) {
throw new AmazonClientException("Cannot load the credentials from the credential profiles file. "
+ "Please make sure that your credentials file is at the correct "
+ "location (/Users/elybenari/.aws/credentials), and is in valid format.", e);
}
AmazonKinesisFirehoseClient firehoseClient = new AmazonKinesisFirehoseClient(credentials);
PutRecordRequest request = new PutRecordRequest();
request.setDeliveryStreamName("project-stream");
Record record = new Record();
for (int i = 0; i < 10*60; i++){
try {
URL url = new URL("https://www.google.com/finance/info?q=NASDAQ:AMZN");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString().replace("\n", "").replaceAll(" ", ""));
System.out.println("****\n");
ByteBuffer buff = ByteBuffer.wrap(response.toString().replace("\n", "").replaceAll(" ", "").getBytes());
record.setData(buff);
request.setRecord(record);
firehoseClient.putRecord(request);
Thread.sleep(2000);
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
使用静态 builder() 方法代替已弃用的构造函数。
javadoc 文档建议使用这种方法而不是使用已弃用的构造函数:
AmazonKinesisFirehoseClient client = AmazonKinesisFirehoseClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();
// You can now use the client as you normally would...
client.putRecord(xyz);