-3

Google Cloud Storage를 AWS 대신 사용할 수 있으므로 GCS에 대한 성능 테스트를 계획 중입니다. 테스트하고 싶은 기능 중 하나는 특정 경로에서 파일을 검색하는 것입니다. 안타깝게도 SDK에는 접두어를 검색 할 수있는 기능이 없습니다. 대신, 우리는 Java 클라이언트 API을 사용해야합니다.Google 클라우드 서비스 Java 클라이언트 구성

GcsService gcsService = GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance()); 
AppIdentityService appIdentity = AppIdentityServiceFactory.getAppIdentityService(); 

ListOptions.Builder b = new ListOptions.Builder(); 
b.setRecursive(true); 
b.setPrefix("folder/"); 

ListResult result = gcsService.list("rms-test-bucket", b.build()); 

특히, 코드는 NullPointerExceptiongcsService.list() 호출에 롤오버 : 여기 실패한 관련 코드이다. IntelliJ에 모든 소스를 첨부하고 코드를 밟아서 null 값을 반환해야 할 때 null을 반환하는 ApiProxy.getDelegate()에 대한 호출이 원인 인 것으로 나타났습니다.

무엇이 될지 명확하지 않지만 어딘가에 구성 문제가 있다고 의심됩니다.

답변

1

어디에서 코드를 실행하고 있습니까? 이는 AE 표준 또는 AE Flexible compat (App Engine 고유의 API이므로)에서 실행해야합니다. 다른 모든 경우에는 google-cloud-java client을 사용해야합니다. 사실 모든 플랫폼에서 지원되며 기능이 훨씬 풍부하므로 AE에서도 해당 클라이언트를 사용하도록 제안합니다. 자세한 내용은 here을 참조하십시오.

1

예제에 무엇이 문제가 있는지 잘 모르겠지만 특정 경로의 파일을 검색하여 GCS 성능을 엄격하게 테스트하려는 목표 인 경우 gsutil 명령 줄 유틸리티에는 해당 논리의 확실한 구현이 포함되어 있습니다. 성능을 평가할 때 사용할 수 있습니다. GCE 인스턴스에서 테스트 중이라면 이미 사전 설치되어 있습니다.

관련 문제