The sample programcom.amazonaws.internal.config.InternalConfig.loadはIllegalArgumentException URL = nullを
package bluemixtest;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.SDKGlobalConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.ibm.oauth.BasicIBMOAuthCredentials;
import java.util.List;
public class BlueMixTest {
private static AmazonS3 _s3Client;
public static void main(String[] args) {
SDKGlobalConfiguration.IAM_ENDPOINT = "https://iam.bluemix.net/oidc/token";
String bucketName = "********";
String api_key = "********";
String service_instance_id = "********";
String endpoint_url = "https://s3-api.us-geo.objectstorage.softlayer.net";
String location = "us";
_s3Client = createClient(api_key, service_instance_id, endpoint_url, location);
listObjects(bucketName, _s3Client);
listBuckets(_s3Client);
}
public static AmazonS3 createClient(String api_key, String service_instance_id, String endpoint_url, String location) {
AWSCredentials credentials;
if (endpoint_url.contains("objectstorage.softlayer.net")) {
credentials = new BasicIBMOAuthCredentials(api_key, service_instance_id);
} else {
String access_key = api_key;
String secret_key = service_instance_id;
credentials = new BasicAWSCredentials(access_key, secret_key);
}
ClientConfiguration clientConfig = new ClientConfiguration().withRequestTimeout(5000);
clientConfig.setUseTcpKeepAlive(true);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new EndpointConfiguration(endpoint_url, location)).withPathStyleAccessEnabled(true)
.withClientConfiguration(clientConfig).build();
return s3Client;
}
public static void listObjects(String bucketName, AmazonS3 s3Client) {
System.out.println("Listing objects in bucket " + bucketName);
ObjectListing objectListing = s3Client.listObjects(new ListObjectsRequest().withBucketName(bucketName));
for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
System.out.println(" - " + objectSummary.getKey() + " " + "(size = " + objectSummary.getSize() + ")");
}
System.out.println();
}
public static void listBuckets(AmazonS3 s3Client) {
System.out.println("Listing buckets");
final List<Bucket> bucketList = _s3Client.listBuckets();
for (final Bucket bucket : bucketList) {
System.out.println(bucket.getName());
}
System.out.println();
}
}
ClientConfiguration clientConfig = new ClientConfiguration()
はIllegalArgumentException
のStackTraceによって: com.amazonawsで
java.lang.IllegalArgumentExceptionが.internal.config.InternalConfig.loadfrom(InternalConfig.java:235) at com.amazonaws.internal.conf com.amazonaws.internal.config.InternalConfig $工場でig.InternalConfig.load(InternalConfig.java:249) 。(InternalConfig.java:304) com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.javaで: com.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100) com.amazonaws.ClientConfigurationで における142) でcom.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137) 。 (ClientConfiguration.java:65) スレッド "main"の例外java.lang.ExceptionInInitializerError at com.amazonaws.util.VersionInfoUtils.userAgent(VersionInfoUtils.java:142) com.amazonaws.util.VersionInfoUtils.initializeUserAgent(VersionInfoUtils.java:137) で でcom.amazonaws.util.VersionInfoUtils.getUserAgent(VersionInfoUtils.java:100) com.amazonaws.ClientConfigurationで。(ClientConfiguration.java :65) によって引き起こさbluemixtest.BlueMixTest.main(BlueMixTest.java:44)でbluemixtest.BlueMixTest.createClient(BlueMixTest.java:58)において: com.amazonaws.internal.configでjava.lang.IllegalArgumentExceptionが。 (内部構成。 config.InternalConfig $工場。(InternalConfig.java:304)
IBM-COS-javaの-SDK-コア-1.1.0とIBM-COS-javaの-SDK-s3-1.1.0
私はこの問題を解決したい。 フィールドからのリソース:ibm-cos-java-sdk
ibm-cos-java-sdkを使用してIBM Cloud Object Storageにアクセスしたいとします。
に次の依存関係を入れてください - 私たちがそれを理解すると仮定するのではなく、さもなければ、期待されるよりも有用な答えが少なくなるでしょう。 – azarc3
ibm-cos-java-sdkを使用してIBM Cloud Object Storageにアクセスしたいと思います。 – oku
mavenプロジェクトが作成されていませんでした。 – oku