転送実行のための設定。
JSON 表現 |
---|
{ "objectConditions": { object ( |
フィールド | |
---|---|
objectConditions |
これらのオブジェクト条件を満たすオブジェクトのみが、データソース オブジェクトとデータシンク オブジェクトのセットに含まれます。オブジェクトの「最終更新日時」に基づくオブジェクト条件では、データシンク内のオブジェクトは除外されません。 |
transferOptions |
オプション |
transferManifest |
マニフェスト ファイルには、データソースから転送するオブジェクトのリストが指定されます。このフィールドは、マニフェスト ファイルの場所を指定します。指定しない場合は、ソースバケット全体が使用されます。ObjectConditions は引き続き適用されます。 |
sourceAgentPoolName |
posix データソースに関連付けられたエージェント プール名を指定します。指定しない場合、デフォルト名が使用されます。 |
sinkAgentPoolName |
posix データシンクに関連付けられているエージェント プール名を指定します。指定しない場合、デフォルト名が使用されます。 |
共用体フィールド data_sink 。データの書き込みシンク。data_sink は次のいずれかになります。 |
|
gcsDataSink |
Cloud Storage データシンク。 |
posixDataSink |
POSIX ファイル システムのデータシンク。 |
共用体フィールド data_source 。データの読み取り元。data_source は次のいずれかになります。 |
|
gcsDataSource |
Cloud Storage データソース。 |
awsS3DataSource |
AWS S3 データソース。 |
httpDataSource |
HTTP URL データソース。 |
posixDataSource |
POSIX ファイル システムのデータソース。 |
azureBlobStorageDataSource |
Azure Blob Storage データソース。 |
awsS3CompatibleDataSource |
AWS S3 互換のデータソース。 |
hdfsDataSource |
HDFS クラスタ データソース。 |
共用体フィールド
|
|
gcsIntermediateDataLocation |
ファイル システム間の転送の場合は、データを転送する中間ロケーションとして使用する Cloud Storage バケットを指定します。 詳細については、ファイル システム間でデータを転送するをご覧ください。 |
PosixFilesystem
POSIX ファイル システム リソース。
JSON 表現 |
---|
{ "rootDirectory": string } |
フィールド | |
---|---|
rootDirectory |
ファイル システムのルート ディレクトリ パス。 |
AwsS3Data
AwsS3Data リソースはデータソースとして使用できますが、データシンクとして使用することはできません。AwsS3Data リソースでは、オブジェクトの名前は S3 オブジェクトのキー名です。
JSON 表現 |
---|
{ "bucketName": string, "awsAccessKey": { object ( |
フィールド | |
---|---|
bucketName |
必須。S3 バケット名(バケットの作成を参照)。 |
awsAccessKey |
入力のみのAWS S3 バケットへの API リクエストの署名に使用される AWS アクセスキー。バケットに対する権限は、AWS アクセスキーのアクセス ID に付与する必要があります。 ユーザー認証情報に関するデータ保持ポリシーについては、ユーザー認証情報をご覧ください。 |
path |
オブジェクトを転送するルートパス。 空の文字列または / で終わるフルパス名にする必要があります。このフィールドはオブジェクトの接頭辞として扱われます。そのため、通常は先頭を「/」にしないことをおすすめします。 |
roleArn |
ロール ARN が指定されている場合、Transfer Service は、このプロジェクトの |
cloudfrontDomain |
省略可。このバケットを指す CloudFront ディストリビューション ドメイン名。フェッチ時に使用します。 詳細については、CloudFront 経由で S3 から転送するをご覧ください。 形式: |
credentialsSecret |
省略可。Secret Manager 内のシークレットのリソース名。 AWS 認証情報は、Secret Manager に JSON 形式で保存する必要があります。 { "accessKeyId": "ACCESS_KEY_ID", "secretAccessKey": "SECRET_ACCESS_KEY" }
詳細については、送信元へのアクセスを構成する: Amazon S3 をご覧ください。
形式: |
共用体フィールド
|
|
managedPrivateNetwork |
Google が管理するプライベート ネットワーク経由の下り(外向き)バイト数。このネットワークは、Storage Transfer Service の他のユーザーと共有されます。 |
AwsAccessKey
AWS アクセスキー(AWS セキュリティの認証情報をご覧ください)。
ユーザー認証情報に関するデータ保持ポリシーについては、ユーザー認証情報をご覧ください。
JSON 表現 |
---|
{ "accessKeyId": string, "secretAccessKey": string } |
フィールド | |
---|---|
accessKeyId |
必須。AWS アクセスキー ID。 |
secretAccessKey |
必須。AWS シークレット アクセスキー。このフィールドは RPC レスポンスで返されません。 |
HttpData
HttpData リソースは、HTTP 経由で転送されるウェブ上のオブジェクトのリストを指定します。転送されるオブジェクトの情報は、URL で参照されるファイルに格納されます。ファイルの 1 行目は、ファイルの形式を指定する "TsvHttpData-1.0"
にする必要があります。以降の行には、オブジェクトのリストの情報を指定します。リストのエントリごとに 1 つのオブジェクトです。各エントリには、次のタブ区切りのフィールドがあります。
HTTP URL - オブジェクトの場所。
長さ - オブジェクトのサイズ(バイト単位)。
MD5 - オブジェクトの base64 でエンコードされた MD5 ハッシュ。
有効な TSV ファイルの例については、URL からデータを転送するをご覧ください。
URL リストに基づいてデータを転送する場合は、次のことに注意してください。
http(s)://hostname:port/<URL-path>
にあるオブジェクトがデータシンクに転送されると、データシンク内のオブジェクトの名前は<hostname>/<URL-path>
になります。オブジェクトの指定サイズが、フェッチされたオブジェクトの実際のサイズと一致しない場合、オブジェクトは転送されません。
指定された MD5 が、転送されたバイトから計算された MD5 と一致しない場合、オブジェクトの転送は失敗します。
指定した各 URL が一般公開されていることを確認します。たとえば、Cloud Storage では、オブジェクトを一般公開で共有し、そのオブジェクトへのリンクを取得できます。
Storage Transfer Service は
robots.txt
ルールに準拠しており、送信元 HTTP サーバーがRange
リクエストをサポートし、各レスポンスでContent-Length
ヘッダーを返すことを要求します。転送するオブジェクトをフィルタする場合、
ObjectConditions
は効果がありません。
JSON 表現 |
---|
{ "listUrl": string } |
フィールド | |
---|---|
listUrl |
必須。オブジェクト リスト エントリを格納するファイルを指す URL。このファイルは一般公開を許可する必要があります。現在、サポートされているのは HTTP と HTTPS のスキームを持つ URL のみです。 |
AzureBlobStorageData
AzureBlobStorageData リソースはデータソースとして使用できますが、データシンクとして使用することはできません。AzureBlobStorageData リソースは 1 つの Azure コンテナを表します。ストレージ アカウントは、Azure エンドポイントを決定します。AzureBlobStorageData リソースでは、blob の名前は Azure Blob Storage blob のキー名です。
JSON 表現 |
---|
{
"storageAccount": string,
"azureCredentials": {
object ( |
フィールド | |
---|---|
storageAccount |
必須。Azure Storage アカウントの名前。 |
azureCredentials |
必須。入力のみのAzure への API リクエストの認証に使用される認証情報。 ユーザー認証情報に関するデータ保持ポリシーについては、ユーザー認証情報をご覧ください。 |
container |
必須。Azure Storage アカウントから転送するコンテナ。 |
path |
オブジェクトを転送するルートパス。 空の文字列または / で終わるフルパス名にする必要があります。このフィールドはオブジェクトの接頭辞として扱われます。そのため、通常は先頭を「/」にしないことをおすすめします。 |
credentialsSecret |
省略可。Secret Manager 内のシークレットのリソース名。 Azure SAS トークンは、Secret Manager に JSON 形式で保存する必要があります。 { "sasToken" : "SAS_TOKEN" }
詳細については、ソースへのアクセスを構成する: Microsoft Azure Blob Storage をご覧ください。
形式: |
AzureCredentials
Azure 認証情報
ユーザー認証情報に関するデータ保持ポリシーについては、ユーザー認証情報をご覧ください。
JSON 表現 |
---|
{ "sasToken": string } |
フィールド | |
---|---|
sasToken |
必須。Azure Shared Access Signature(SAS)。 SAS の詳細については、Shared Access Signature(SAS)を使用した Azure Storage リソースへのアクセスの制限を付与するをご覧ください。 |
AwsS3CompatibleData
AwsS3CompatibleData リソース。
JSON 表現 |
---|
{ "bucketName": string, "path": string, "endpoint": string, "region": string, // Union field |
フィールド | |
---|---|
bucketName |
必須。バケットの名前を指定します。 |
path |
オブジェクトを転送するルートパスを指定します。 空の文字列または / で終わるフルパス名にする必要があります。このフィールドはオブジェクトの接頭辞として扱われます。そのため、通常は先頭を「/」にしないことをおすすめします。 |
endpoint |
必須。ストレージ サービスのエンドポイントを指定します。 |
region |
リクエストに署名するリージョンを指定します。リクエストに空のリージョンで署名する場合は、空白のままにします。 |
共用体フィールド data_provider 。S3 互換データ プロバイダのメタデータを指定します。各プロバイダには、すべての S3 互換データ プロバイダに適用されない属性が含まれている場合があります。指定しない場合、デフォルトで S3CompatibleMetadata が使用されます。data_provider は次のいずれかになります。 |
|
s3Metadata |
S3 互換のメタデータ。 |
S3CompatibleMetadata
S3CompatibleMetadata には、S3 互換データ プロバイダの基本タイプに適用されるメタデータ フィールドが含まれています。
JSON 表現 |
---|
{ "authMethod": enum ( |
フィールド | |
---|---|
authMethod |
ストレージ サービスで使用される認証方法と認可方法を指定します。指定しない場合、Transfer Service は使用する適切な認証方法を特定しようとします。 |
requestModel |
ストレージ サービスの呼び出しに使用する API リクエスト モデルを指定します。指定しない場合、RequestModel の REQUEST_MODEL_VIRTUAL_HOSTED_STYLE のデフォルト値が使用されます。 |
protocol |
エージェントのネットワーク プロトコルを指定します。指定しない場合、NetworkProtocol NETWORK_PROTOCOL_HTTPS のデフォルト値が使用されます。 |
listApi |
オブジェクトの検出に使用する Listing API。指定しない場合、Transfer Service は使用する適切な API を特定しようとします。 |
AuthMethod
ストレージ サービスで使用される認証と承認の方法。
列挙型 | |
---|---|
AUTH_METHOD_UNSPECIFIED |
AuthMethod が指定されていません。 |
AUTH_METHOD_AWS_SIGNATURE_V4 |
AWS SigV4 でリクエストを認証します。 |
AUTH_METHOD_AWS_SIGNATURE_V2 |
AWS SigV2 でリクエストを認証します。 |
RequestModel
API のリクエスト モデル。
列挙型 | |
---|---|
REQUEST_MODEL_UNSPECIFIED |
RequestModel が指定されていません。 |
REQUEST_MODEL_VIRTUAL_HOSTED_STYLE |
仮想ホスト型を使用してリクエストを実行します。例: https://bucket-name.s3.region.amazonaws.com/key-name |
REQUEST_MODEL_PATH_STYLE |
パススタイルを使用してリクエストを実行します。例: https://s3.region.amazonaws.com/bucket-name/key-name |
NetworkProtocol
ストレージ サービスにアクセスするエージェント ネットワーク プロトコル。
列挙型 | |
---|---|
NETWORK_PROTOCOL_UNSPECIFIED |
NetworkProtocol が指定されていません。 |
NETWORK_PROTOCOL_HTTPS |
HTTPS を使用してリクエストを実行します。 |
NETWORK_PROTOCOL_HTTP |
推奨されない: データはクリアテキストで送信されます。これは、閉鎖したネットワーク内または一般公開されているデータにのみ適しています。HTTP を使用してリクエストを実行します。 |
ListApi
オブジェクトの検出に使用する Listing API。
列挙型 | |
---|---|
LIST_API_UNSPECIFIED |
ListApi が指定されていません。 |
LIST_OBJECTS_V2 |
ListObjectsV2 API を使用して一覧表示を実行します。 |
LIST_OBJECTS |
以前の ListObjects API。 |
HdfsData
HdfsData リソースは、HDFS エンティティ(クラスタなど)内のパスを指定します。クラスタ固有の設定(名前ノードやポートなど)はすべて、リクエストを処理する転送エージェントで構成されるため、HdfsData には転送中のデータのルートパスのみが含まれます。
JSON 表現 |
---|
{ "path": string } |
フィールド | |
---|---|
path |
ファイルを転送するルートパス。 |
TransferManifest
マニフェストの場所を指定します。
JSON 表現 |
---|
{ "location": string } |
フィールド | |
---|---|
location |
Cloud Storage 内のマニフェストへのパスを指定します。転送用の Google 管理サービス アカウントには、このオブジェクトに対する |