請注意:Amazon WorkDocs 不再提供新客戶註冊和帳戶升級。在此處了解遷移步驟:如何從 Amazon WorkDocs 遷移資料
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
上傳文件
注意
您必須是軟體開發人員,才能完成本節中的步驟。如需有關使用 Amazon WorkDocs 上傳檔案的資訊,請參閱《Amazon WorkDocs 使用者指南》中的上傳檔案。
使用下列程序將文件上傳至 Amazon WorkDocs。
若要上傳文件
-
建立
AmazonWorkDocsClient
執行個體,如下所示:如果您使用 IAM 使用者登入資料,請參閱使用 IAM 使用者登入資料和使用者查詢連線至 Amazon WorkDocs 。如果您擔任 IAM 角色,請參閱 透過擔任角色連線至 Amazon WorkDocs 以取得詳細資訊。
注意
為了提高安全性,請盡可能建立聯合身分使用者,而不是 IAM 使用者。
AWSCredentials longTermCredentials = new BasicAWSCredentials("
accessKey
", "secretKey
"); AWSStaticCredentialsProvider staticCredentialProvider = new AWSStaticCredentialsProvider(longTermCredentials); // Use the region specific to your WorkDocs site. AmazonWorkDocs amazonWorkDocsClient = AmazonWorkDocsClient.builder().withCredentials(staticCredentialProvider) .withRegion(Regions.US_WEST_2
).build(); -
為上傳取得簽章的 URL,如下所示:
InitiateDocumentVersionUploadRequest request = new InitiateDocumentVersionUploadRequest(); request.setParentFolderId("
parent-folder-id
"); request.setName("my-document-name
"); request.setContentType("application/octet-stream"); InitiateDocumentVersionUploadResult result = amazonWorkDocsClient.initiateDocumentVersionUpload(request); UploadMetadata uploadMetadata = result.getUploadMetadata(); String documentId = result.getMetadata().getId(); String documentVersionId = result.getMetadata().getLatestVersionMetadata().getId(); String uploadUrl = uploadMetadata.getUploadUrl(); -
使用簽章的 URL 上傳文件,如下所示:
URL url = new URL(uploadUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("PUT"); // Content-Type supplied here should match with the Content-Type set // in the InitiateDocumentVersionUpload request. connection.setRequestProperty("Content-Type","application/octet-stream"); connection.setRequestProperty("x-amz-server-side-encryption", "AES256"); File file = new File("
/path/to/file.txt
"); FileInputStream fileInputStream = new FileInputStream(file); OutputStream outputStream = connection.getOutputStream(); com.amazonaws.util.IOUtils.copy(fileInputStream, outputStream); connection.getResponseCode(); -
變更文件狀態為
ACTIVE
以完成上傳程序,如下所示:UpdateDocumentVersionRequest request = new UpdateDocumentVersionRequest(); request.setDocumentId("
document-id
"); request.setVersionId("document-version-id
"); request.setVersionStatus(DocumentVersionStatus.ACTIVE); amazonWorkDocsClient.updateDocumentVersion(request);