アップロードが成功した後、Google Cloud Storageによって生成されたアップロードリンク自体が無効にならないのはなぜですか?

ロシャン・ウプレティ:

私はJAVAを取得するメソッドを持っています。URLこれを使用して、Google Cloud Storageのバケットにオブジェクトをアップロードできます。生成されたものURLは30秒間有効です(テスト済み)。

public String getSignedUploadLink(String bucketName, String objectName, String mimeType)
        throws Exception {
    try {
        // check if bucket exists, and create one with notification, if it doesn't.
        if (!bucketExists(bucketName)) {
            createBucket(bucketName);
        }

        // Define Resource
        BlobInfo blobInfo = BlobInfo.newBuilder(BlobId.of(bucketName, objectName)).build();

        // Specify the object's content type.
        Map<String, String> extensionHeaders = new HashMap<>();
        extensionHeaders.put("Content-Type", mimeType);

        //setting it to expire in 30 seconds
        return storage.signUrl(
                blobInfo,
                30,
                TimeUnit.SECONDS,
                Storage.SignUrlOption.httpMethod(HttpMethod.PUT),
                Storage.SignUrlOption.withExtHeaders(extensionHeaders),
                Storage.SignUrlOption.withV4Signature()).toString();
    } catch (Exception e) {
        // Handle the caught exception
    }
}

HTTP PUT上記の方法で生成されたリンクで使用すると、Google Cloud Storageにオブジェクトを正常にアップロードできます。奇妙なことに、有効期限が切れる前に同じオブジェクトに別のPUTリクエストを送信すると、もちろん同じコンテンツタイプの別のオブジェクトをアップロードすることもできますURL

このように動作するはずですか?アップロードリンクを使用して何かをアップロードすると、有効期限に関係なく、リンク自体が無効になるという印象を受けました。ここに何かが足りないのでしょうか?本当にこれでいくつかの助けを使うことができました。

Doug Stevenson:

はい、それはそれが機能する方法です。署名付きURLドキュメントには、作成時に指定した時間以外の条件で無効になることを示唆するものは何もありません30秒間有効であると言った場合、それはそのURLを使用できる期間です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ