ColdFusion と GCP Storage

概要

Google Cloud Storage では、データの保存と取得をいつでも行えます。Google Cloud Storage を使用すると、コンテンツの提供、障害回復やアーカイブを目的としたデータの格納、ダウンロード可能なデータの大規模クラスターの作成などが可能です。

ColdFusion(2021 リリース)では、AWS S3 ストレージAzure BLOB ストレージをサポートしています。ColdFusion(2023 リリース)では、GCP Storage サービスを追加することでマルチクラウドサービスの機能を拡張して、様々なクラウドストレージサービスにアクセスできるようになりました。

AWS S3 と同様に、GCP Storage もバケットとオブジェクトを扱います。

  • バケット:各プロジェクトには、複数のバケット(オブジェクトを格納するためのコンテナ)を含めることができます。例えば、アプリケーションで生成するすべての画像ファイル用に写真バケットを作成し、それとは別にビデオバケットを作成するといった場合です。
  • オブジェクト:個々のファイル(例えば、holiday.png という画像など)。

はじめに

gcpstorage パッケージのインストール

パッケージ gcpstorage をインストールするには、以下の方法のいずれかを使用します。

ColdFusion Administrator

  1. ColdFusion Administrator/パッケージマネージャーに移動します。
  2. 「利用可能なパッケージ」セクションで、gcpstorage を検索します。
  3. パッケージを選択して、「インストール 」をクリックします。

インストールされたパッケージは、「利用可能なパッケージ」セクションに表示されます。

ColdFusion パッケージマネージャー

次の手順に従います。

  1. <CF_HOME>/cfusion/bin に移動します。次のコマンドを入力します。
    1. Windows:cfpm.bat
    2. Windows 以外の場合:/cfpm.sh
  2. コマンド install gcpstorage を入力します。

パッケージがインストールされるまで待ちます。

GCP Storage にアクセスするための資格情報の取得

GCP を操作する場合、資格情報を検証し、リクエストしているリソースにアクセスするための権限を持っているかどうかをチェックするために、GCP セキュリティ資格情報を指定します。

GCP は、セキュリティ資格情報を使用して、リクエストを認証および承認します。

詳しくは、GCP API キーの概要を参照してください。

クラウドサービス資格情報および設定の追加

ColdFusion には、様々なクラウドサービスにアクセスするためのオブジェクトを作成するためにハンドルを提供するメソッド getCloudService() があります。

サービスハンドルのシンタックスを次に示します。

service=getCloudService(cloudCred,cloudConfig)。ここで、

  • cloudCred:クラウドサービスの資格情報を定義します。構造体または文字列です(資格情報エイリアスとも呼ばれます)。
  • cloudConfig:クラウドサービス設定の詳細を定義します。構造体または文字列です(設定エイリアスとも呼ばれます)。

ColdFusion Administrator

資格情報の設定

ColdFusion Administrator で、データとサービス/クラウド資格情報をクリックします。 

エイリアスは、クラウドサービスおよびその設定の詳細の名前付き表現です。ColdFusion Administrator を使用して設定エイリアスを設定できます。

詳細を入力したら、「資格情報を追加」をクリックします。

設定オプションの設定

ColdFusion Administrator で、データとサービス/クラウド設定をクリックします。 

設定エイリアス、ベンダー、サービスの名前など、次の詳細を入力します。

オブジェクトの作成

GCP 資格情報および設定オプションのエイリアスを作成したら、getCloudService API を使用してオブジェクトを作成し、次のコードを CFM に含めることができます。 

storageObject= getCloudService("gcpCred", "gcpConf")

Application.cfc

GCP 資格情報および設定オプションを記載したファイルを Application.cfc で指定できます。次に例を示します。

component{
    this.name =&quot;gcp&quot;
      void function onApplicationStart(){
    application.gcpCred = {
        projectId : &quot;my-project&quot;,
        credentialJsonFilePath : &quot;path-to-creds.json&quot;
    };
    alias.gcpConf = {
        serviceName : &quot;STORAGE&quot;,                      
          alias : &quot;gcpConfig&quot;,
          retrySettings : {
                   initialRetryDelay : &quot;2s&quot;,   
                   initialRpcTimeout : &quot;2s&quot;,   
                   maxAttempts : 5 ,    
                   maxRetryDelay : &quot;30s&quot;, 
                   maxRpcTimeout : &quot;30s&quot;, 
                   retryDelayMultiplier : 2 ,  
                   rpcTimeoutMultiplier : 2,  
                   totalTimeOut : &quot;60s&quot;
                  },
         transportOptions : {
                   connectTimeout : &quot;5000&quot;,   
                   readTimeout : &quot;5000&quot;  
                   }

    };
    }
}

オブジェクトを作成します。次のスニペットを参考にしてください。

storageObject = getCloudService(application.gcpCred, application.gcpConf)

CFM ページ上

CFM ページでは、以下に示す 4 とおりの方法のいずれかで GCP 資格情報および設定オプションを指定できます。

資格情報エイリアスと設定エイリアス

GCP 資格情報および設定オプション用のエイリアスを(Application.cfc または Administrator で)作成したら、次に示すように、getCloudService ハンドルでそれらのエイリアスを使用できます。

エイリアスの作成場所を、Application.cfc か Administrator のどちらかで指定します。

<cfscript> 
  // 資格情報エイリアスと設定エイリアスを ColdFusion Administrator で定義 
  storageObject=getCloudService(&quot;gcpCred&quot;,&quot;gcpConf&quot;) 
  // 以下にコードを記述 
  ........... 
</cfscript>

資格情報エイリアスと設定構造体

<cfscript> 
    // サービス資格情報エイリアスとサービス設定用構造体を使用 
    gcpConf = { 
            &quot;alias&quot;:&quot;gcpConf&quot;, 
            &quot;serviceName&quot; : &quot;STORAGE&quot;
          
    } 
    storageObject= getCloudService(&quot;gcpCred&quot;, gcpConf) 
   
    // 以下にコードを記述 
    ..................... 
</cfscript>

設定エイリアスと資格情報構造体

<cfscript> 
    // サービス設定エイリアスとサービス資格情報用構造体を使用 
    // GCP 資格情報 
    gcpCreds = { 
      &quot;vendorName&quot;:&quot;GCP&quot;, 
      &quot;alias&quot;: &quot;gcpCred&quot;, 
      &quot;projectId&quot;:&quot;1234&quot;, 
      &quot; credentialJsonFilePath &quot;: &quot;file path&quot;
    } 
    storageObject= getCloudService(gcpCreds, &quot;gcpConf&quot;) 
    // 以下にコードを記述 
    ..................................... 
</cfscript>

資格情報構造体と設定構造体

<cfscript> 
  // クラウド資格情報用構造体とクラウド設定用構造体を使用 
 gcpCreds = { 
      &quot;vendorName&quot;:&quot;GCP&quot;, 
      &quot;alias&quot;: &quot;gcpCred&quot;, 
      &quot;projectId&quot;:&quot;1234&quot;, 
      &quot; credentialJsonFilePath &quot;: &quot;file path&quot;
    }
    gcpConf = { 
            &quot;alias&quot;:&quot;gcpConf&quot;, 
            &quot;serviceName&quot; : &quot;STORAGE&quot;, 
            &quot;clientOverrideConfig&quot;:{ 
                &quot;retryPolicy&quot;:{ 
                  &quot;numRetries&quot;:4 
                } 
            }, 
            &quot;httpClientConfig&quot;:{ 
                &quot;maxConnections&quot;:50 
            } 
      }
  storageObject= getCloudService(gcpCreds, gcpConf) 
   
  // 以下にコードを記述 
  ................................................................... 
</cfscript>

CFSetup を使用した認証情報と設定の追加

追加:

  • cloudconfiguration:add cloudconfigutaion alias=gcp_config serviceName=STORAGE <cf_alias_name>
  • cloudconfiguration:add cloudconfigutaion alias=gcp_config serviceName=STORAGE maxRpcTimeout=50s retryDelayMultiplier=5 maxAttempts=8 maxRetryDelay=40s rpcTimeoutMultiplier=3 totalTimeout=50s <cf_alias_name>
  • cloudcredential:add cloudcredential vendorName=”GCP” alias=<cloudcredential_alias> projectId=<project_id> credentialJSONFilePath=<credential_JSON_File_Path> <cf_alias_name>

表示:

  • cloudconfiguration:show cloudconfiguration <cf_alias_name>
  • cloudcredential:show cloudcredential <cloudcredential_name>

設定:

  • cloudconfiguration:set cloudconfiguration <cloudconfiguration_name> initialRetryDelay=2s initialRpcTimeout=40s maxAttempts=5 maxRetryDelay=30s maxRpcTimeout=40s retryDelayMultiplier=3 rpcTimeoutMultiplier=2 totalTimeout=40s <cf_alias_name>
  • cloudcredential:set cloudcredential <cloudcredential_name> projectId=<project_id> credentialJSONFilePath=<credential_JSON_File_Path> <cf_alias_name>

取得:

  • cloudconfiguration:get cloudconfiguration <cloudconfiguration_name> <cf_alias_name>
  • cloudcredential:get cloudcredential <cloudcredential_name> <cf_alias_name>

ストレージオブジェクト用の API

説明

ルートオブジェクトを作成します。ルートが存在しない場合は、ルートが作成されます。

シンタックス

root(bucketname,createIfNotExists)

戻り値

バケットオブジェクト。

パラメーター

  • bucketname:作成するバケットの名前。
  • createIfNotExists:true または false。バケットが存在しない場合は、作成されます。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	rootObj=storageService.root(&quot;bucket_test&quot;,true);
</cfscript>

説明

追加のパラメーターを使用してルートオブジェクトを取得します。

シンタックス

createRoot(requestParameters)

戻り値

バケットオブジェクト。

パラメーター

パラメーター

説明

必須

name

作成するバケットの名前。

はい

acl

バケットとオブジェクトにアクセスできるユーザーと、ユーザーのアクセスレベルを指定します。有効な値は次のとおりです。

  • Reader
  • Writer
  • Owner

詳しくは、GCP Storage アクセス制御リストを参照してください。

いいえ

defaultAcl

毎回 ACL をセットアップするのを避けるには、デフォルトのオブジェクト ACL を設定します。デフォルトのオブジェクト ACL を変更してから、バケットにオブジェクトを追加できます。詳しくは、デフォルトの ACL を参照してください。

いいえ

enable

バケットのバージョン管理を有効にします。true または false。

いいえ

requesterPays

バケットでリクエスト元による支払いを有効にします。

いいえ

indexPage

バケットの作成を確認するページの URL。

いいえ

notFoundPage

バケットの作成に失敗したときに表示されるページの URL。

いいえ

rules

デュアルリージョン Cloud Storage バケットのレプリケーション設定を指定します。

いいえ

rpo

レプリケーションでバケットを作成します。有効な値は次のとおりです。

  • ASYNC_TURBO
  • DEFAULT

詳しくは、レプリケーションの設定を参照してください。

いいえ

storageClass

オブジェクトのストレージクラス。有効な値は STANDARD、NEARLINE、COLDLINE、ARCHIVE のいずれかです。詳しくは、ストレージクラスを参照してください。

いいえ

location

作成するバケットの場所。

いいえ

cors

バケットの CORS 設定。詳しくは、CORS の設定を参照してください。

いいえ

labels

バケットに一意のラベルとして割り当てられるキーと値のペア。

いいえ

defaultKmsKeyName

このオブジェクトの暗号化に使用されるクラウド KMS キー(オブジェクトがそのようなキーで暗号化されている場合)。

いいえ

defaultEventBasedHold

オブジェクトがイベントベースの保留の対象であるかどうかを示します。

いいえ

retentionPeriod

保持ポリシーに基づいてバケットを削除できる日時。

いいえ

iamConfiguration

バケットとオブジェクトへのアクセスを制御します。

いいえ

logging

バケットのログを有効にします。

いいえ

customPlacementConfig

デュアルリージョンバケットを構成するリージョンを設定または取得するためのクエリ文字列パラメーター。詳しくは、カスタムプレースメントを参照してください。

いいえ

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	createBucketStruct = {
		&quot;name&quot; : &quot;bucket_test&quot;,      
		&quot;storageClass&quot; : &quot;STANDARD&quot;,
		&quot;location&quot; : &quot;US&quot;,
		&quot;requesterPays&quot; : &quot;false&quot;, 
		&quot;enable&quot; : &quot;false&quot;,
		&quot;defaultEventBasedHold&quot; : &quot;false&quot;,
		&quot;labels&quot; : {
		    &quot;name&quot; : &quot;test_bucket&quot;,
		    &quot;owner&quot; : &quot;user1&quot;
	            },
		 &quot;retentionPeriod&quot; : &quot;10&quot;, 
		 &quot;customPlacementConfig&quot; : [&quot;US-EAST1&quot;,&quot;US-WEST1&quot;],
		 &quot;iamConfiguration&quot; : {
		        &quot;isUniformBucketLevelAccessEnabled&quot; : true,
		        &quot;publicAccessPrevention&quot; : &quot;INHERITED&quot;
		}
	}
	rootObj2=storageService.createRoot(createBucketStruct);
</cfscript>

説明

バケットを作成します。

シンタックス

bucket(bucketName,createIfNotExists)

戻り値

バケットオブジェクト。

パラメーター

  • bucketname:作成するバケットの名前。
  • createIfNotExists:true または false。バケットが存在しない場合は、作成されます。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
</cfscript>

説明

追加のパラメーターを使用してバケットを作成します。

シンタックス

createBucket(requestParameters)

戻り値

バケットオブジェクト。

パラメーター

パラメーター

説明

必須

name

作成するバケットの名前。

はい

acl

バケットとオブジェクトにアクセスできるユーザーと、ユーザーのアクセスレベルを指定します。有効な値は次のとおりです。

  • Reader
  • Writer
  • Owner

詳しくは、GCP Storage アクセス制御リストを参照してください。

いいえ

defaultAcl

毎回 ACL をセットアップするのを避けるには、デフォルトのオブジェクト ACL を設定します。デフォルトのオブジェクト ACL を変更してから、バケットにオブジェクトを追加できます。詳しくは、デフォルトの ACL を参照してください。

いいえ

enable

バケットのバージョン管理を有効にします。true または false。

いいえ

requesterPays

バケットでリクエスト元による支払いを有効にします。

いいえ

indexPage

バケットの作成を確認するページの URL。

いいえ

notFoundPage

バケットの作成に失敗したときに表示されるページの URL。

いいえ

rules

デュアルリージョン Cloud Storage バケットのレプリケーション設定を指定します。

いいえ

rpo

レプリケーションでバケットを作成します。有効な値は次のとおりです。

  • ASYNC_TURBO
  • DEFAULT

詳しくは、レプリケーションの設定を参照してください。

いいえ

storageClass

オブジェクトのストレージクラス。有効な値は STANDARD、NEARLINE、COLDLINE、ARCHIVE のいずれかです。詳しくは、ストレージクラスを参照してください。

いいえ

location

作成するバケットの場所。

いいえ

cors

バケットの CORS 設定。詳しくは、CORS の設定を参照してください。

いいえ

labels

バケットに一意のラベルとして割り当てられるキーと値のペア。

いいえ

defaultKmsKeyName

このオブジェクトの暗号化に使用されるクラウド KMS キー(オブジェクトがそのようなキーで暗号化されている場合)。

いいえ

defaultEventBasedHold

オブジェクトがイベントベースの保留の対象であるかどうかを示します。

いいえ

retentionPeriod

保持ポリシーに基づいてバケットを削除できる日時。

いいえ

iamConfiguration

バケットとオブジェクトへのアクセスを制御します。

いいえ

logging

バケットのログを有効にします。

いいえ

customPlacementConfig

デュアルリージョンバケットを構成するリージョンを設定または取得するためのクエリ文字列パラメーター。詳しくは、カスタムプレースメントを参照してください。

いいえ

<cfscript >
    storageService = getCloudService(application.gcpCred, application.gcpConf)
	createBucketStruct = {
    &quot;name&quot;: &quot;bucket_test&quot;,
    &quot;storageClass&quot;: &quot;STANDARD&quot;,
    &quot;location&quot;: &quot;US&quot;,
    &quot;rules&quot;: [{
        &quot;action&quot;: {
            &quot;type&quot;: &quot;delete&quot;
        },
        &quot;condition&quot;: {
            &quot;daysSinceNoncurrentTime&quot;: 7
        }
    }],
    &quot;acl&quot;: [{
        &quot;entity&quot;: {
            &quot;project&quot;: {
                projectrole: &quot;EDITORS&quot;,
                projectid: &quot;101345678996&quot;
            }
        },
        &quot;role&quot;: &quot;READER&quot;
    }],
    &quot;defaultAcl&quot;: [{
        &quot;entity&quot;: {
            &quot;user&quot;: &quot;test@xyz.com&quot;
        },
        &quot;role&quot;: &quot;OWNER&quot;
    }]
}

	rootObj2 = storageService.createBucket(createBucketStruct); 
</cfscript>

説明

ストレージアカウント内のすべてのバケットのリストを取得します。

シンタックス

listAll()

戻り値

バケットのリスト。

<cfscript>
	cred = {
		projectId : &quot;my-gcp-project&quot;,
		credentialJsonFilePath : &quot;File-path-creds.json&quot;
	};
	conf = {
		serviceName : &quot;storage&quot;
	};
	st = getCloudService(cred, conf);
	
	arrayBuckets=st.listall()
	writeDump(arrayBuckets)
</cfscript>

説明

いくつかの条件に基づいて、ストレージアカウント内のバケットのリストを取得します。

シンタックス

listAll(requestParameters)

戻り値

バケットのリスト。

パラメーター

パラメーター

説明

必須

fields

フィールド(ACL、BILLING など)の配列。

いいえ

pageSize

1 つのページに表示するバケットの数を表す数値。

いいえ

pageToken

表示する大きな結果の一部を表します。

いいえ

prefix

この接頭辞で始まるバケットをフィルタリングします。

いいえ

userProject

返されるプロパティのセット。有効な値は次のとおりです。

  • full:すべてのプロパティが含まれます。
  • noAcl:owner、acl および defaultObjectAcl プロパティを省略します。

いいえ

<cfscript>
    cred = {
		projectId : &quot;my-gcp-project&quot;,
		credentialJsonFilePath : &quot;File-path-creds.json&quot;
	};
	conf = {
		serviceName : &quot;STORAGE&quot;
	};
	storageService = getCloudService(cred, conf);
        paramStruct={&quot;prefix&quot;:&quot;cfbucket&quot;,&quot;pageSize&quot;:50}
	writeDump(&quot;#storageService.listAll(paramStruct)#&quot;);	
</cfscript>

説明

バケットの削除.

シンタックス

delete(bucketName)

戻り値

ステータスを含んだ構造体。

パラメーター

  • bucketName:削除するバケットの名前。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketList=storageService.delete(&quot;bucket_test&quot;);
</cfscript>

例:delete(構造体の場合)

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketOption = {
		bucketName : &quot;bucket_test&quot;,
		versions : true,
		forceDelete : {
			timeout : 60,
			unit : &quot;SECONDS&quot;  
		}
	}
       delresponse= storageService.delete(bucketOption)
</cfscript>

バケットオブジェクト用の API

説明

バケット内のすべてのオブジェクトのリストを取得します。

シンタックス

listAll()

戻り値

オブジェクトのリストを含んだ構造体。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)			
	bucketList=storageService.listAll();
</cfscript>

説明

構造体を渡して、バケット内のすべてのオブジェクトをリストします。

戻り値

オブジェクトのリストを含んだ構造体。

パラメーター

パラメーター

説明

fields

フィールド(ACL、BILLING、CORS など)の配列。

pageSize

1 つのページに表示するレコードの数。

pageToken

返されたリスト内の最後の項目(バケット)の名前を含んだエンコード済みのフィールド。

prefix

この接頭辞で始まる名前を持つバケットが表示されます。

userProject

GCP プロジェクトの名前。

<cfscript >
        storageService = getCloudService(application.gcpCred, application.gcpConf)
	bucketObj = storageService.bucket(&quot;bucket_test&quot;, true);

	liststruct = {
    	    currentDirectory: true,
    	    prefix: &quot;key&quot;,
    	    delimeter: &quot;1&quot;,
    	    pagesize: 1,
    	    versions: true,
    	    fields: [&quot;BUCKET&quot;, &quot;ETAG&quot;],
    	    userproject: &quot;project_id&quot;,
    	    startoffset: &quot;key23/43&quot;,
    	    endoffset: &quot;key34&quot;
	}

	objList1 = bucketObj.listAll(liststruct);

</cfscript>

説明

バケット内のオブジェクトを削除します。

シンタックス

delete(objectKey)

戻り値

ステータスを含んだ構造体。

パラメーター

  • objectKey:オブジェクトを識別するキー。

<cfscript >
    storageService = getCloudService(application.gcpCred, application.gcpConf)
	bucketObj = storageService.bucket(&quot;bucket_test&quot;, true);

	uploadStruct = {
    	&quot;srcFile&quot;: SRC_FILE_PATH,
    	&quot;blobInfo&quot;: {
        &quot;blobId&quot;: {
            &quot;name&quot;: &quot;key123&quot;
    	    }
    	}
	}

	uploadResponse = bucketObj.uploadFile(uploadStruct);

	delResponse = bucketObj.delete(key123);

</cfscript>

説明

バケット内のオブジェクトを削除します。メソッドでリクエストパラメーターの構造体を使用します。

シンタックス

delete(requestParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター

説明

bucketName

削除するバケットの名前。

metaGenerationMatch

メタデータのバージョンを識別します。一致する場合は true。

metagenerationNotMatch

true または false。

versions

オブジェクトのバージョン。

userProject

GCP プロジェクトの名前。

forceDelete

true または false。オブジェクトを強制的に削除します。

<cfscript >
    storageService = getCloudService(application.gcpCred, application.gcpConf)
	bucketObj = storageService.bucket(&quot;bucket_test&quot;, true);

	uploadStruct = {
   	 &quot;srcFile&quot;: SRC_FILE_PATH,
    	&quot;blobInfo&quot;: {
        &quot;blobId&quot;: {
            &quot;name&quot;: &quot;key123&quot;
        	}
    	}
	}
	uploadResponse = bucketObj.uploadFile(uploadStruct);

	deleteOptions = {
    	blobId: {
        	name: &quot;key123&quot;,
        	generation: GENERATION_ID
    	}
	}
	delResponse = bucketObj.delete(deleteOptions); 
</cfscript>

説明

バケットの場所を取得します。

シンタックス

getLocation()

戻り値

ステータスと場所を含んだ構造体。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);			
	objLocation=bucketObj.getLocation();
</cfscript>

説明

ファイルをバケットにアップロードします。 

シンタックス

UploadFile(structParameters) 

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター

説明

必須

srcFile 

バケットにアップロードしたいファイルのパス。 

はい 

buffersize 

バッファーオブジェクトのサイズ。 

 

key 

オブジェクトの一意の識別子。 

はい 

blobInfo 

次のメンバーを持つ blobId の構造体。

 

  • bucket 
  • name 
  • generation 

はい 

acl 

バケットに対するアクセス制御。詳しくは、こちらのドキュメントを参照してください。

いいえ 

cacheControl 

ここで定義されているように、キャッシュ動作を指定します。 

いいえ 

contentDisposition 

ここで定義されているように、オブジェクトのコンテンツ形式を指定します。 

いいえ 

contentEncoding 

ここで定義されているように、オブジェクトのエンコーディングタイプを指定します。 

いいえ 

contentLanguage 

アップロードするオブジェクトの言語。 

いいえ 

contentType 

応答オブジェクトの HTTPS コンテンツタイプ。 

いいえ 

crc32 

オブジェクトの crc32 ハッシュ。 

いいえ 

crc32HexString 

オブジェクトの crc32 16 進文字列。 

いいえ 

eventBasedHold 

オブジェクトに設定されているメタデータフラグであるオブジェクト保留。詳しくは、オブジェクト保留を参照してください。次の 2 種類の保留があります。

  • イベントベース
  • 一時的

いいえ 

md5

オブジェクトの MD5 チェックサム。 

いいえ 

md5HexString 

オブジェクトの MD5 16 進文字列。 

いいえ 

metadata 

オブジェクトのキーと値のペアを表す構造体。 

いいえ 

storageClass 

オブジェクトのストレージクラス。有効な値は STANDARD、NEARLINE、COLDLINE、ARCHIVE のいずれかです。詳しくは、ストレージクラスを参照してください。

いいえ 

temporaryHold 

オブジェクトに一時的な保留を設定するかどうか。 

いいえ 

timestorageclassupdated 

オブジェクトのストレージクラスが最後に変更された時刻。 

いいえ 

customtime 

オブジェクトのユーザー定義タイムスタンプ。 

いいえ 

blobWriteOption 

次のメンバーを持つ構造体。

  • crc32cMatch : false または true,         
  • detectContentType : false または true, 
  • disableGzipContent : false または true, 
  •  doesNotExist : false または true, 
  • generationMatch : false または true, 
  • gnerationNotMatch : false または true, 
  • metagenerationMatch : false または true,         
  • metagenerationNotMatch : false または true, 
  • encryptionKey : "", 
  • userProject : "", 
  •  kmskeyname : "" 

いいえ 

<cfscript>
			storageService = getCloudService(application.gcpCred,application.gcpConf)
			bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
			uploadRequest={
				&quot;srcFile&quot; : <SRC_FILE_PATH>,
				&quot;blobInfo&quot; : {		
							&quot;blobId&quot; : {
										&quot;bucket&quot; : &quot;bucket_test&quot;,
										&quot;name&quot; : &quot;key12&quot;
									   },
							&quot;crc32&quot; : &quot;aR2qLw==&quot;,
							&quot;crc32HexString&quot; : &quot;615232714c773d3d&quot;,                   
							&quot;eventBasedHold&quot; : false,
							&quot;md5&quot; : &quot;sQqNsWTgdUEFt6mb5y4/5Q==&quot;,
							&quot;md5HexString&quot; : &quot;7351714e735754676455454674366d623579342f35513d3d&quot;,
							&quot;metadata&quot; : {
											&quot;key1&quot; : &quot;value1&quot;
										 },
							&quot;storageClass&quot; : &quot;STANDARD&quot;,
							&quot;temporaryHold&quot; : &quot;false&quot;,
							&quot;acl&quot; : [{
								  &quot;entity&quot; : {
											  &quot;group&quot; : GROUP_ID
											 },        
								  &quot;role&quot; : &quot;READER&quot;     
							}]
				},
				&quot;blobWriteOption&quot; : [{
					crc32cMatch : true,
					detectContentType : true,
					encryptionKey:&quot;TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g=&quot;,
					userProject: &quot;projectid&quot;
				}]
			}
        	uploadResponse=bucketObj.uploadFile(uploadRequest);
			
</cfscript>

説明

オブジェクトをバケットにアップロードします。

シンタックス

uploadObject(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

object 

バケットにアップロードするオブジェクト。 

はい 

blobInfo 

次の構造体。

"blobId" : { 
                "name" : "" 
   } 

はい 

blobWriteOption 

BLOB の書き込みオプション。 

いいえ 

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	uploadStruct = {
                &quot;object&quot; : serializeJSON({empName=&quot;James&quot;, age=&quot;26&quot;}),
                &quot;blobInfo&quot; : {
                    &quot;blobId&quot; : {
                        &quot;name&quot; : &quot;key123&quot;
                    },
                    &quot;storageClass&quot; : &quot;STANDARD&quot;,
                    &quot;temporaryHold&quot; : &quot;false&quot;
                }
            }
                    
        uploadResponse=bucketObj.uploadObject(uploadStruct); 
			
</cfscript>

説明

1 つのバケットから 1 つのファイルをダウンロードします。

シンタックス

downloadToFile(structParameters)

戻り値

ステータスを含んだ構造体

パラメーター

パラメーター 

説明 

必須 

destinationfilepath 

ファイルのダウンロード先のパス。 

はい 

key 

GCP を操作する場合、資格情報を検証し、リクエストしているリソースにアクセスするための権限を持っているかどうかをチェックするために、GCP セキュリティ資格情報を指定します。  

GCP は、セキュリティ資格情報を使用して、リクエストを認証および承認します。 

詳しくは、GCP API キーの概要を参照してください。 

はい 

decryptionkey 

顧客提供の decryptionkey で暗号化されている Cloud Storage に格納されているオブジェクトをダウンロードする場合に指定します。 

いいえ 

userproject 

GCP のプロジェクト ID。 

いいえ 

shouldreturnrawinputstream 

リクエストがデータを展開せずに未処理の入力ストリームを返す必要があるかどうか。 

いいえ 

<cfscript>
			storageService = getCloudService(application.gcpCred,application.gcpConf)
			bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
			downloadStruct = {
		        &quot;destinationfilepath&quot; : DESTINATION_PATH,
		        &quot;key&quot; : &quot;key12&quot;,
				&quot;decryptionkey&quot;:&quot;TIbv/fjexq+VmtXzAlc63J4z5kFmWJ6NdAPQulQBT7g=&quot;
		    }
			downloadResponse=rootObj.downloadToFile(downloadStruct);
			
</cfscript>

説明

バケットからオブジェクトをダウンロードします。

シンタックス

downloadObject(structParameters)

戻り値

ステータスとオブジェクトを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

blobInfo 

次の構造体。

      "blobId" : { 

            "name" : "key-name" 

        } 

}

はい 

blobSourceOption 

次のメンバーを持つ構造体。

decryptionKey : "",  

generationMatch : "",  

generationNotMatch : "",  

metatGenerationMatch : "",  

metaGenerationNotMatch : "",  

shouldReturnRawInputStream : "",  

userProject : "" 

いいえ 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
			downloadStruct = {
                &quot;blobInfo&quot; : {
                    &quot;blobId&quot; : {
                        &quot;name&quot; : &quot;key12&quot;
                    }
                },
		blobSourceOption : [{          
                         userProject : PROJECT_ID
                           }]
            }
                    
            downloadResponse=bucketObj.downloadObject(downloadStruct); 
		
</cfscript>

説明

バケット内のデータを更新します。 

シンタックス

updateBucket(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

bucketinfo 

以下の情報を含んだ構造体。

  • enable:バケットを有効にするかどうか。 
  • requesterPays:バケットでリクエスター支払いを有効にします。 
  • labels:バケットに一意のラベルとして割り当てられるキーと値のペア。 
  • indexPage:バケットの作成を確認するページの URL。 
  • notfoundPage:バケットの作成に失敗したときに表示されるページの URL。 
  • logging:バケットのログを有効にします。logbucket と logobjectprefix の構造体です。 
  •  rules:デュアルリージョン Cloud Storage バケットのレプリケーション設定を指定します。 
  • acl:バケットとオブジェクトにアクセスできるユーザーと、ユーザーのアクセスレベルを指定します。有効な値は Reader、Writer、Owner のいずれかです。
  • defaultkmskeyname:このオブジェクトの暗号化に使用されるクラウド KMS キー(オブジェクトがそのようなキーで暗号化されている場合)。 
  • rpo:レプリケーションでバケットを作成します。有効な値は ASYNC_TURBO か DEFAULT です。 
  • cors:バケットの CORS 設定。 
  •  iamconfiguration:バケットとオブジェクトへのアクセスを制御します。 
  • defaulteventbasedhold:オブジェクトがイベントベースの保留の対象であるかどうか。詳しくは、https://cloud.google.com/storage/docs/object-holds#hold-types を参照してください。
  • retentionperiod:保持ポリシーに基づいてバケットを削除できる日時。詳しくは、https://cloud.google.com/storage/docs/bucket-lock#retention-policy を参照してください。
  • storageclass:オブジェクトのストレージクラス。有効な値は STANDARD、NEARLINE、COLDLINE、ARCHIVE のいずれかです。詳しくは、https://cloud.google.com/storage/docs/storage-classes を参照してください。
注意:

バケット内のオブジェクトの保持期間を管理する、Cloud Storage バケットのデータ保持ポリシーです。また、この機能では、データ保持ポリシーをロックして、ポリシーが変更されたり削除されたりしないようにすることもできます。

いいえ 

buckettargetOption 

次のメンバーを持つ構造体。

  • userProject:GCP プロジェクトの名前。 
  • metagenerationmatch:メタデータのバージョンを識別します。一致する場合は true。 
  • metagenerationnotmatch:true または false 

いいえ 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		updatestruct= {
				bucketinfo:{
					&quot;requesterPays&quot; : &quot;false&quot;,
					&quot;labels&quot; : {
					   &quot;name&quot; : &quot;bucket_test&quot;,
					   &quot;owner&quot; : &quot;abc&quot;
					  }, 
					&quot;acl&quot; : [{
						  &quot;entity&quot; : {
									  &quot;user&quot; : &quot;xyz@abc.com&quot;
									 },        
						  &quot;role&quot; : &quot;OWNER&quot;     
						  }  
						]
				},
				&quot;buckettargetOption&quot; : {
                    &quot;userProject&quot;: PROJECT_ID
					}
			}
				
		bucketObj.updateBucket(updatestruct);
			
</cfscript>

説明

バケット内のオブジェクトデータを更新します。

シンタックス

updateObject(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター

説明

必須

blobInfo 

次のメンバーを持つ構造体。

  • acl:バケットに対するアクセス制御。詳しくは、こちらのドキュメントを参照してください。
  • contentEncoding 
  • contentLanguage 
  • contentType 
  • cacheControl 
  • contentDisposition 
  • metadata 
  • eventBasedHold 
  • temporaryHold 

はい 

blobTargetOption 

次のメンバーを持つ構造体。

  • detectContentType  
  • disableGzipContent 
  • doesNotExist  
  • generationMatch 
  • generationNotMatch 
  • metagenerationMatch 
  • metagenerationNotMatch 
  • encryptionKey 
  • userProject 
  • kmskeyname 

 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		updatestruct={
				blobinfo:{	
					&quot;blobId&quot; :{
						&quot;name&quot; : &quot;key123&quot;       
					 },
					&quot;contentLanguage&quot; : &quot;en&quot;,
					&quot;metadata&quot; :{
						&quot;owner&quot; : &quot;hannah&quot;,
						&quot;case&quot; : &quot;1&quot;
				    }
				},
				&quot;blobTargetOption&quot; : {               
					&quot;userProject&quot;: PROJECT_ID
			    }
			}
					
		bucketObj.updateObject(updatestruct);
			
</cfscript>

説明

バケットにタグを追加します。

シンタックス

addTags(structParameter)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

key 

タグを識別するキーの名前。 

はい 

tags 

name と owner の構造体。 

はい 

<cfscript>
    cred = {
		projectId : &quot;project-id&quot;,
		credentialJsonFilePath : &quot;path-to-creds.json&quot;
	};
	conf = {
		serviceName : &quot;STORAGE&quot;
	};
	storageService = getCloudService(cred, conf)
        createBucketStruct = {
          &quot;name&quot; : &quot;b_d_009&quot;,      
          &quot;storageClass&quot; : &quot;STANDARD&quot;      
	}
        bucketObj = storageService.createBucket(createBucketStruct)
        src = &quot;#ExpandPath('..')#/files/test.txt&quot;;
        key = &quot;key12&quot;
			
	uploadStruct = {
	    &quot;srcFile&quot; : src,
	    &quot;key&quot; : key
        }
	uploadResponse=bucketObj.uploadFile(uploadStruct);
	writeDump(uploadResponse)
	//break;
        addTagStruct =
	{
		&quot;key&quot;:&quot;key12&quot;,
		&quot;tags&quot;: 
		{
		    &quot;key&quot; : &quot;key12&quot;, 
			&quot;tags&quot; : {&quot;name&quot; : &quot;test_bucket&quot;,&quot;owner&quot; : &quot;john&quot;}
		}
	}
	tagResponse=bucketObj.addTags(addTagStruct)
	writedump(tagResponse);
</cfscript>

説明 

バケットでリクエスター支払いを有効にします。 

シンタックス 

enableRequesterpay(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター 

パラメーター 

説明 

必須 

bucketGetOption 

userProject を含んだ構造体。 

はい 

buckettargetOption 

userProject を含んだ構造体。 

はい 

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	rpstruct = {
				bucketGetOption : [{
					userProject : PROJECT_ID
				}],
				 buckettargetOption : [{
					userProject : PROJECT_ID
				 }]
			};
	bucketObj.enableRequesterPay(rpstruct);
			
</cfscript>

説明

バケットに対するリクエスター支払いを無効にします。

シンタックス

disableRequesterpay(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

bucketGetOption

userProject を含んだ構造体。 

はい 

buckettargetOption

userProject を含んだ構造体。 

はい 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		rpstruct = {
				bucketGetOption : [{
					userProject : PROJECT_ID
				}],
				 buckettargetOption : [{
					userProject : PROJECT_ID
				 }]
			};
				
		bucketObj.disableRequesterPay(rpstruct);
			
</cfscript>

説明

バケットでリクエスター支払いが有効になっているかどうかを確認します。

シンタックス

getRequesterPayStatus(structParameters)

戻り値

リクエスター支払いのステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

bucketGetOption

userProject を含んだ構造体。 

はい 

buckettargetOption

userProject を含んだ構造体。 

はい 

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	rpstruct = {
				bucketGetOption : [{
					userProject : PROJECT_ID
				}],
				 buckettargetOption : [{
					userProject : PROJECT_ID
				 }]
			};
		
	writedump(bucketObj.getRequesterPayStatus(rpstruct));
			
</cfscript>

説明

バケット間でオブジェクトをコピーします。

シンタックス

copy(requestParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

megaBytesCopiedPerChunk 

チャンクごとにコピーされるオブジェクトのサイズ。 

いいえ 

source 

バケットの名前とキーの名前を含んだ構造体。

はい 

target 

次の構造体。

{

      "blobId" : { 

            "name" : "key-name"

        }

}

 

はい 

blobTargetOption

プロジェクトの名前と、BLOB が存在するかどうかを含んだ構造体。 

blobTargetOption: {  

         userProject, 

          DoesNotExist 

}                     

いいえ 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		copyRequest ={
				megaBytesCopiedPerChunk : 2,
				source : {
					bucket : &quot;source_bucket_name&quot;,
					name : &quot;source_key&quot;
				},
				sourceOptions :{
                    userProject : PROJECT_ID
                },
				target : {
					blobInfo: {
						blobId : {
							name : &quot;key123&quot;
						 }
					},
					blobTargetOption: [{
						userProject : PROJECT_ID
					}]
				}
			}
			
		bucketObj.copy(copyRequest);
			
</cfscript>

説明

オブジェクトに関する情報を取得します。

シンタックス

getObjectDetails(objectName)

戻り値

オブジェクトのメタデータを含んだ構造体。

パラメーター

  • objectName:オブジェクトの名前。

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		uploadRequest={
				&quot;srcFile&quot; : <SRC_FILE_PATH>,
				&quot;blobInfo&quot; : {		
					&quot;blobId&quot; : {
						&quot;bucket&quot; : &quot;bucket_test&quot;,
						&quot;name&quot; : &quot;key12&quot;
					}
				}
			}
        	uploadResponse=bucketObj.uploadFile(uploadRequest);
			
		writedump(bucketObj.getObjectDetails(&quot;key12&quot;)):
			
</cfscript>

説明

様々なオブジェクトを 1 つに結合します。

シンタックス

composeObject(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

addSource 

結合するオブジェクトのキーの配列。 

はい 

setTarget 

次の構造体。

{

      "blobId" : { 

            "name" : "key-name"

        }

}

 

はい 

setTargetOptions 

GCP プロジェクトの名前。

いいえ 

<cfscript>
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
		uploadStruct1 = {
                &quot;srcFile&quot; : src1,
				&quot;blobInfo&quot; : {
                    &quot;blobId&quot; : {
                        &quot;name&quot; : &quot;key1&quot;
                    }
				}
            }
			
		uploadStruct2 = {
                &quot;srcFile&quot; : src2,
				&quot;blobInfo&quot; : {
                    &quot;blobId&quot; : {
                        &quot;name&quot; : &quot;key2&quot;
                    }
				}
            }
            
            bucketObj.uploadFile(uploadStruct1);
            bucketObj.uploadFile(uploadStruct2);
			
		composeRequest = {
					addSource : [&quot;key1&quot;,&quot;key2&quot;],
					setTarget : {
						BlobId : {
							Name : &quot;key12&quot;
									}           
								 }
				}           
	    bucketObj.composeObject(composeRequest);
			
</cfscript>

説明

オブジェクトがうっかり削除されたり置き換えられたりするおそれがある場合は、クラウドストレージ内のデータを保護します。

バケット内のオブジェクトのバージョン管理を有効にすると、オブジェクトの以前のバージョンを保持できるようになります。

シンタックス

enableVersioning()

戻り値

ステータスを含んだ構造体。

<cfscript>
		cred = {
			projectId : &quot;project-id&quot;,
			credentialJsonFilePath : &quot;path-to-creds-file.json&quot;
		};
		conf = {
			serviceName : &quot;STORAGE&quot;
		};
		 
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test_22&quot;,true);
			
		bucketObj.enableVersioning();
			
		list= bucketObj.listallversions();
			
		writedump(bucketObj.getVersioningStatus());
			
		bucketObj.suspendversioning();
			
	</cfscript>

説明

バケット内のオブジェクトのすべてのバージョンをリストします。

シンタックス

listAllVersions() 

戻り値

バージョンのリストを含んだ構造体。

<cfscript>
		cred = {
			projectId : &quot;project-id&quot;,
			credentialJsonFilePath : &quot;path-to-creds-file.json&quot;
		};
		conf = {
			serviceName : &quot;STORAGE&quot;
		};
		 
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test_22&quot;,true);
			
		bucketObj.enableVersioning();
			
		list= bucketObj.listallversions();
			
		writedump(bucketObj.getVersioningStatus());
			
		bucketObj.suspendversioning();
			
	</cfscript>

説明

バケットでのバージョン管理を一時停止します。

シンタックス

suspendVersioning()

戻り値

ステータスを含んだ構造体。

<cfscript>
		cred = {
			projectId : &quot;project-id&quot;,
			credentialJsonFilePath : &quot;path-to-creds-file.json&quot;
		};
		conf = {
			serviceName : &quot;STORAGE&quot;
		};
		 
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test_22&quot;,true);
			
		bucketObj.enableVersioning();
			
		list= bucketObj.listallversions();
			
		writedump(bucketObj.getVersioningStatus());
			
		bucketObj.suspendversioning();
			
	</cfscript>

説明

バケットのバージョン管理のステータスを取得します(true または false)。

シンタックス

getVersioningStatus()

戻り値

バージョン管理のステータスを含んだ構造体。

<cfscript>
		cred = {
			projectId : &quot;project-id&quot;,
			credentialJsonFilePath : &quot;path-to-creds-file.json&quot;
		};
		conf = {
			serviceName : &quot;STORAGE&quot;
		};
		 
		storageService = getCloudService(application.gcpCred,application.gcpConf)
		bucketObj=storageService.bucket(&quot;bucket_test_22&quot;,true);
			
		bucketObj.enableVersioning();
			
		list= bucketObj.listallversions();
			
		writedump(bucketObj.getVersioningStatus());
			
		bucketObj.suspendversioning();
			
	</cfscript>

説明

バケットにライフサイクル設定を定義します。この設定には、バケット内の現在および将来のオブジェクトに適用される一連のルールが含まれています。オブジェクトがいずれかのルールの条件を満たす場合、Cloud Storage は、そのオブジェクトに対して指定のアクションを自動的に実行します。

setRules メソッドを使用すると、バケットにライフサイクルルールを追加できます。

シンタックス 

setRules(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

rules 

バケットに設定するライフサイクル設定。詳しくは、オブジェクトライフサイクル管理を参照してください。

はい 

action 

オブジェクトのアクションを指定します。サポートされている値は次のとおりです。

  • Delete 
  • SetStorageClass 
  • AbortIncompleteMultipartUpload 

はい 

condition 

ルールに定義されているアクションがオブジェクトで実行されるためにオブジェクトが満たす必要がある条件。詳しくは、ライフサイクルの条件を参照してください。

はい 

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	rules = { rules :[{
					    &quot;action&quot; : {
							&quot;type&quot; : &quot;delete&quot;
						},
					    &quot;condition&quot; :{			
							&quot;daysSinceNoncurrentTime&quot;: 7
						}
					},
				    {
					    &quot;action&quot; : {
						    &quot;type&quot;: &quot;SetStorageClass&quot;,
						    &quot;storageClass&quot;: &quot;NEARLINE&quot;
						},
					    &quot;condition&quot; : {
							&quot;age&quot; : 11,
							&quot;matchesPrefix&quot; : [&quot;blob&quot;,&quot;delete&quot;],
							&quot;matchesSuffix&quot; : [&quot;test&quot;,&quot;edu&quot;]
						}
				  }]}
			
		bucketObj.setRules(rules);
			
</cfscript>

説明

ライフサイクルルールをオブジェクトから削除します。

シンタックス

deleteRules()

戻り値

ステータスを含んだ構造体。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	bucketObj.deleteRules();
</cfscript>

説明

オブジェクトのライフサイクルルールを取得します。

シンタックス

getRules()

戻り値

ルールとステータスを含んだ構造体。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);
			
	writedump(bucketObj.getRules());
</cfscript>	

説明

バケットにポリシーを追加します。ID およびアクセス管理について詳しくは、IAM を参照してください。

シンタックス

setIamPolicy(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター 

説明 

必須 

addIdentity 

次のメンバーを持つ構造体。

{

     role : <>, 

     identity : [{<identity_Type> : <identity_Value>} 

   ] 

 }

いいえ 

removeIdentity 

次のメンバーを持つ構造体。

{

     role : <>,

     identity : [{<identity_Type> : <identity_Value>}

   ]

 }

 

いいえ 

bindings 

役割(一連の権限を持っている)とその位置が割り当てられているプリンシパル間の関係。 

いいえ 

etag 

ポリシーの HTTP 1.1 エンティティタグ 

いいえ 

version 

IAM ポリシーのバージョン。 

いいえ 

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);

	addMemberRequest ={
        addIdentity : {
            Identity: [{&quot;user&quot;:&quot;mukumar@adobe.com&quot;}],role: &quot;roles/storage.objectViewer&quot; 
            }                 
        }
	writedump(bucketObj.setIamPolicy(addMemberRequest));
	writeDump(bucketObj.getIamPolicy())
</cfscript>

説明

バケットに適用された IAM ポリシーを取得します。

シンタックス

getIamPolicies()

戻り値

ステータスを含んだ構造体。

<cfscript>
	storageService = getCloudService(application.gcpCred,application.gcpConf)
	bucketObj=storageService.bucket(&quot;bucket_test&quot;,true);

	addMemberRequest ={
        addIdentity : {
            Identity: [{&quot;user&quot;:&quot;mukumar@adobe.com&quot;}],role: &quot;roles/storage.objectViewer&quot; 
            }                 
        }
	writedump(bucketObj.setIamPolicy(addMemberRequest));
	writeDump(bucketObj.getIamPolicy())
</cfscript>

説明

オブジェクトを取得するための URL を生成します。

シンタックス

signUrl(structParameters)

戻り値

ステータスを含んだ構造体。

パラメーター

パラメーター

説明

必須

key 

バケット内のオブジェクトを識別するためのキー。 

いいえ 

duration 

署名済み URL の有効期間。

いいえ 

timeUnit 

期間の時間単位。 

いいえ 

cffunction 

署名済み URL で使用する HTTP メソッド。デフォルト値は GET です。 

いいえ 

version 

オブジェクトのバージョン。 

いいえ 

signer 

URL に署名するサービスアカウント署名者。 

いいえ 

withBucketBoundHostname 

バケットにバインドされているホスト名。詳しくは、こちらのドキュメントを参照してください。

いいえ 

withContentType 

署名に BLOB のコンテンツタイプを含めるかどうかを指定します。 

いいえ 

withExtHeaders 

署名に BLOB のヘッダーを含めるかどうかを指定します。 

いいえ 

hostName 

バケットに使用するホスト名。 

いいえ 

withMd5 

署名に BLOB の MD5 を含めるかどうかを指定します。 

いいえ 

withPathStyle 

パススタイルの URL を生成します。 

いいえ 

queryParams 

URL に追加のクエリパラメーターを含めるかどうかを指定します。 

いいえ 

signatureVersion 

使用する署名のバージョン(v2 または v4)。 

いいえ 

withVirtualHostedStyle 

仮想ホストスタイルのホスト名を使用します。 

いいえ 

<cfscript>
    storageService = getCloudService(application.gcpCred,application.gcpConf)
    bucketObj = storageService.bucket(&quot;<bucketName>&quot;);
    // オブジェクトをダウンロードするための V4 署名済み URL を生成。   
    signUrlOption = {
        key : &quot;<objectName>&quot;,
        duration : 15,
        timeUnit : &quot;MINUTES&quot;,
        signatureVersion : &quot;V4&quot;
    }
    writedump(bucketObj.signUrl(signUrlOption));
    // オブジェクトのアップロードに使用される PUT 署名済み URL を生成。
    signUrlOption = {
        key : &quot;abc.txt&quot;,
        duration : 15,
        timeUnit : &quot;MINUTES&quot;,
        httpMethod : &quot;PUT&quot;,
        withExtHeaders : {
            &quot;Content-Type&quot;: &quot;application/octet-stream&quot;
        },
        signatureVersion : &quot;V4&quot;
    }
    writedump(bucketObj.signUrl(signUrlOption))
</cfscript>

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト