GCS에서 캐시를 비활성화하고 싶습니다.
3687 단어 GCSC#ASP.NET_Core
배경
이 상태에서 사용자의 이미지 아이콘을 변경했지만 당연히 이미지가 전환되지 않았습니다.
캐시가 유효하므로 비활성화해야 합니다.
[GCS 내용]
Google Cloud Storage 문서 - 객체 메타데이터
해결책
다음은 공개 링크로 하는 처리입니다만, 그 부분에 캐시 무효의 처리("no-cache")를 추기했습니다.
이것으로 공개 링크로 한 것과 동시에 캐시 대상외가 되어, 즉시의 화상 아이콘 변경을 할 수 있게 되었습니다.
using Google.Apis.Storage.v1.Data;
using Google.Cloud.Storage.V1;
private async Task PublicReadFileToGcs(string bucketName, string path, string fileName)
{
// Google Storage
var storage = await StorageClient.CreateAsync();
var storageObject = storage.GetObject(bucketName, $"{path}/{fileName}");
// キャッシュを無効にするように追加
storageObject.CacheControl = "no-cache";
storageObject.Acl = storageObject.Acl ?? new List<ObjectAccessControl>();
storage.UpdateObject(storageObject, new UpdateObjectOptions
{
PredefinedAcl = PredefinedObjectAcl.PublicRead
});
}
Google API 문서 - CacheControl
Reference
이 문제에 관하여(GCS에서 캐시를 비활성화하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/naotaro0123/items/b73e19cdfac2eda55104
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using Google.Apis.Storage.v1.Data;
using Google.Cloud.Storage.V1;
private async Task PublicReadFileToGcs(string bucketName, string path, string fileName)
{
// Google Storage
var storage = await StorageClient.CreateAsync();
var storageObject = storage.GetObject(bucketName, $"{path}/{fileName}");
// キャッシュを無効にするように追加
storageObject.CacheControl = "no-cache";
storageObject.Acl = storageObject.Acl ?? new List<ObjectAccessControl>();
storage.UpdateObject(storageObject, new UpdateObjectOptions
{
PredefinedAcl = PredefinedObjectAcl.PublicRead
});
}
Reference
이 문제에 관하여(GCS에서 캐시를 비활성화하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/naotaro0123/items/b73e19cdfac2eda55104텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)