-3

我們正在考慮使用Google Cloud Storage作爲AWS的替代方案,因此計劃對GCS進行一些性能測試。我們想測試的功能之一是在特定路徑上搜索文件。不幸的是,SDK無法搜索前綴。相反,我們被迫使用Java客戶端API。這裏是一個失敗的相關代碼:Google Cloud Service 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()); 

具體而言,編碼滑過上的呼叫以gcsService.list()NullPointerException。我在IntelliJ中附加了所有源代碼,遍歷代碼,發現原因是ApiProxy.getDelegate()返回null,當它應該返回非null值時。

我們懷疑某處存在配置問題,儘管它不清楚它可能是什麼。

回答

1

你從哪裏運行該代碼?這應該在AE標準或AE Flexible compat中運行(因爲該API是特定於App Engine的)。對於所有其他情況,您應該使用google-cloud-java client。事實上,即使在AE上,我也會建議使用該客戶端,因爲它在所有平臺上都受支持,而且其功能更豐富。欲瞭解更多信息,請參閱here

1

我不完全確定您的示例出了什麼問題,但如果您的目標嚴格按照特定路徑搜索文件來測試GCS性能,則gsutil命令行實用程序包含該邏輯的可靠實現。你可以用它來評估性能。如果您從GCE實例進行測試,則它已經預裝。

相關問題