CData Cloud offers access to Amazon S3 across several standard services and protocols, in a cloud-hosted solution. Any application that can connect to a MySQL or SQL Server database can connect to Amazon S3 through CData Cloud.
CData Cloud allows you to standardize and configure connections to Amazon S3 as though it were any other OData endpoint, or standard SQL Server/MySQL database.
CData Cloud は、Amazon S3 メタデータのナビゲーション専用にデザインされています。Amazon S3 データに関連するさまざまなストアドプロシージャもサポートされています。
このメタデーには通常、ファイル名やフォルダ名など、保存されているオブジェクトに関する詳細が含まれ、発見可能なファイルの実際のコンテンツは含まれていません。
ファイルのメタデータとファイルの実際のコンテンツの両方にアクセスする必要がある場合は、CData Cloud は、Amazon S3 に格納されているファイルの種類に関連するファイルストリーミングドライバーと併せて使用する必要があります。
以下のファイルストリーミングドライバーが利用可能です。
Amazon S3 に保存されているファイルに接続するための設定方法については、関連するCData ファイルストリーミングドライバーのドキュメントを参照してください。
This page provides a guide to 接続の確立 to Amazon S3 in CData Cloud, as well as information on the available resources, and a reference to the available connection properties.
接続の確立 shows how to authenticate to Amazon S3 and configure any necessary connection properties to create a database in CData Cloud
Accessing data from Amazon S3 through the available standard services and CData Cloud administration is documented in further details in the CData Cloud Documentation.
Connect to Amazon S3 by selecting the corresponding icon in the Database tab. Required properties are listed under Settings. The Advanced tab lists connection properties that are not typically required.
Specify the following to connect to data:
There are several authentication methods available for connecting to Amazon S3 including: authenticating with Root Credentials, Temporary Credentials, as an AWS Role (from an EC2 Instance or by specifying the root credentials), using SSO and using a Credential File.
IAM ユーザーの資格情報を取得するには、以下の手順に従ってください。
AWS ルートアカウントの資格情報を取得するには、以下の手順に従ってください。
アカウントのルート資格情報で認証するには、次を設定します。
Note: この認証スキームの使用は、簡単なテスト以外ではAmazon では推奨されていません。アカウントのルート資格情報はユーザーの完全な権限を持つため、これが最も安全性の低い認証方法になります。
一時的認証情報で認証するには、次を設定します。
Cloud は、一時的認証情報の有効期間中、長期的な認証情報(IAM ユーザー認証情報など)によって提供されるものと同じ権限を使用してリソースをリクエストできるようになりました。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
EC2 インスタンスからCloud を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、 認証にIAM ロールを使用できます。これを行うには、次のプロパティを設定して認証します。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
IMDSv2 サポート
Amazon S3 Cloud は、IMDSv2 をサポートしています。IMDSv1 と異なり、新しいバージョンでは認証トークンが必要です。エンドポイントおよびレスポンスは、両バージョンで同じです。 IMDSv2 では、Amazon S3 Cloud はまずIMDSv2 メタデータトークンの取得を試み、それを使用してAWS メタデータエンドポイントを呼び出します。 トークンを取得できない場合、Cloud はIMDSv1 を使用します。
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。
AWS ロールとして認証するには、次を設定します。
Note: AWS ルートユーザーのAWSAccessKey およびAWSSecretKey を指定する場合、ロールは使用できません。
AuthScheme をADFS に設定します。次の接続プロパティを設定する必要があります。
AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam::1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam::1234:saml-provider/ADFSProvider;
ADFS 統合
To use the ADFS Integrated flow, specify the SSOLoginURL and leave the username and password empty.
AuthScheme をOkta に設定します。Okta を介した認証には、次の接続プロパティを使用します。
接続文字列の例:
AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam::1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam::1234:saml-provider/OktaProvider;
AuthScheme をPingFederate に設定します。次の接続プロパティを設定する必要があります。
authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam::215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam::215338515180:role/SSOTest2;
多要素認証を必要とするユーザーおよびロールには、以下を指定して認証してください。
一時的な認証情報の有効期間(デフォルトは3600秒)は、TemporaryTokenDuration プロパティを介して制御できます。
認証にはクレデンシャルファイルを使用することができます。AccessKey/SecretKey 認証、一時クレデンシャル、ロール認証、またはMFA に関連するすべての設定が使用されます。 これを行うには、次のプロパティを設定して認証します。
AWS Cognito のユーザープールに登録されたユーザーでCloud を使用する場合は、以下のプロパティを設定して認証してください。
To connect to Wasabi set AccessKey and SecretKey in the connection string.
To refine data access, set the Region to where your Wasabi data is hosted.
CustomURL should be created in this specific form:
https://s3.region.wasabisys.com/;
For more on regions, see Wasabi Regions URL
We recommend using predefined roles for services rather than creating custom IAM policies, but if you want to create custom polices, use the roles described in the table below. Note that the specific policies required by the Amazon S3 driver are subject to change in future releases.
Amazon S3 requires at a minimum the following permissions:
IAM Role | Description | |
Tables: Buckets | ||
SELECT | ListAllMyBuckets | |
INSERT | CreateBucket | |
DELETE | GetBucketLocation and DeleteBucket | |
Tables: Objects | ||
SELECT | GetBucketLocation and ListBucket | |
DELETE | GetBucketLocation and DeleteObject | |
Views (All views require GetBucketLocation in addition to the permission listed below) | ||
BucketsACL | ListBucket | |
BucketsAnalytics | GetAnalyticsConfiguration | |
BucketsCORS | GetBucketCORS | |
BucketsInventory | GetInventoryConfiguration | |
BucketsLifeCycle | GetLifecycleConfiguration | |
BucketsReplication | GetReplicationConfiguration | |
ObjectsACL | GetObjectAcl | |
PublicAccessBlock | GetBucketPublicAccessBlock | |
Stored Procedures (All procedures require GetBucketLocation in addition to the permission listed below) | ||
CopyObject | GetObject at source bucket and PutObject at destination bucket | |
DownloadObjectTorrent | GetObjectTorrent | |
DownloadObjects | GetObject | |
UploadObjects | PutObject |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetBucketPublicAccessBlock", "s3:GetLifecycleConfiguration", "s3:GetInventoryConfiguration", "s3:CreateBucket", "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:GetObjectTorrent", "s3:ListAllMyBuckets", "s3:GetBucketCORS", "s3:GetAnalyticsConfiguration", "s3:DeleteObject", "s3:GetBucketLocation", "s3:DeleteBucket" ], "Resource": "*" } ]" }In the above example, "Resource" is set to * to allow access to all buckets, but you can limit access to only one specific bucket.
Date | Build Number | Change Type | Description |
09/01/2022 | 8279 | Amazon S3 | Removed
|
08/30/2022 | 8277 | Amazon S3 | Added
|
08/17/2022 | 8264 | General | Changed
|
05/05/2022 | 8160 | Amazon S3 | Added
|
03/16/2022 | 8110 | Amazon S3 | Added
|
03/01/2022 | 8095 | Amazon S3 | Added
|
09/02/2021 | 7915 | General | Added
|
08/07/2021 | 7889 | General | Changed
|
08/06/2021 | 7888 | General | Changed
|
07/23/2021 | 7874 | General | Changed
|
07/23/2021 | 7874 | Amazon S3 | Added
Removed
|
07/08/2021 | 7859 | General | Added
|
05/17/2021 | 7807 | Amazon S3 | Added
|
04/23/2021 | 7785 | General | Added
|
04/23/2021 | 7783 | General | Changed
|
04/16/2021 | 7776 | General | Added
Changed
|
04/15 /2021 | 7775 | General | Changed
|
このセクションでは、Amazon S3 Cloud の高度な機能を厳選して説明します。
Cloud を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Cloud が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようCloud を設定します。トンネル接続を設定することもできます。
Cloud は、Amazon S3 にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
CData Cloud を使用すると、事前設定されたクエリによって内容が決定される仮想テーブルを定義できます。これらはユーザー定義ビューと呼ばれ、ツール からドライバーを使用する場合など、ドライバーに発行されるクエリを直接制御できない場合に役立ちます。 ユーザー定義ビューを使用して、常に適用されるプレディケートを定義することができます。ビューへのクエリで追加のプレディケートを指定すると、それらはビューの一部としてすでに定義されているクエリと結合されます。
ユーザー定義ビューを作成する方法は2つあります。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがCloud によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM Buckets WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"
SELECT * FROM Customers WHERE City = 'Raleigh';ドライバーへのクエリは次のようになります。
SELECT * FROM UserViews.RCustomers WHERE Status = 'Active';ソースへの効果的なクエリは次のようになります。
SELECT * FROM Customers WHERE City = 'Raleigh' AND Status = 'Active';これは、ビュークエリとビュー定義を効果的に組み合わせた、ユーザー定義ビューへのクエリの非常にシンプルな例です。これらのクエリをはるかに複雑なパターンで構成することが可能です。すべてのSQL 操作は両方のクエリでサポートされ、必要に応じて組み合わされます。
デフォルトでは、Cloud はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
SQL-92をサポートしないソースに対しては、Cloud はAmazon S3 にSQLステートメントの処理を可能な限りオフロードし、残りのクエリをクライアントサイドのインメモリで処理します。その結果、最適なパフォーマンスを得ることができます。
限られたクエリ能力のデータソースに対しては、Cloud はSQL クエリの変換をおこない、Cloud がより単純になるよう処理します。 目標はデータソースのクエリ能力に基づいて賢く判断し可能な限り計算を抑えることです。Amazon S3 のクエリ評価コンポーネントはSQL クエリを検証し、Cloud がネイティブに実行できないクエリ部分を示す情報を返します。
Amazon S3 のクエリスライサーコンポーネントはより具体的なケースにおいて1つのクエリを複数の独立したクエリに分割するために使用されます。クライアントサイドのクエリエンジンはクエリの簡素化、複数のクエリへの分割、結果セットのサイズを最小化しながらクライアントサイドで集約のプッシュダウンや計算をするなどの決定を行います。
クエリを部分的にでもクライアントサイドで評価するということには大きなトレードオフがあります。このモデルでは効果的に実行することが不可能なクエリは常に存在し、この方法で計算すると特にコストが高くなるものもあります。CData は可能な限り効率的なクエリを生成し、最も柔軟なクエリ機能を提供するために常にデータソースに対して実行可能な限りのクエリをプッシュダウンしています。
Cloud のログを取得しておくことで、エラーメッセージや想定外の振る舞いを診断する際に役立ちます。
2つの接続プロパティを設定するだけで、Cloud のログを取得できます。
このプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、Cloud がログファイルを生成します。指定したファイルが存在しない場合は作成されます。
Verbosity レベルは、Cloud がLogfile にどの程度の詳細さで記載するかを決定します。1 から5 までのVerbosity レベルがサポートされています。次のリストで、これらについて説明します。
1 | Verbosity を1に設定すると、クエリ、返された行数、実行開始とかかった時間、エラーが記録されます。 |
2 | Verbosity を2に設定すると、Verbosity 1に含まれるすべておよびリクエストに関する追加の情報が記録されます。 |
3 | Verbosity を3に設定すると、2 に加えてHTTP ヘッダーおよびリクエストとレスポンスの本文が記録されます。 |
4 | Verbosity を4に設定すると、3 に加えてデータソースとのトランスポートレベルの通信が記録されます。これには、SSL ネゴシエーションが含まれます。 |
5 | Verbosity を5に設定すると、データソースとのやり取りおよび問題のトラブルシューティングに役立つ追加情報も記録されます。これには、インターフェースコマンドが含まれます。 |
通常の実行では、Verbosity を2以上に設定しないでください。高い詳細レベルでは、大量のデータが記録されて、実行に遅れが生じる恐れがあります。
特定の情報に関するカテゴリを表示または非表示にしてログ内容を調整するには、LogModules を参照してください。
データセキュリティのベストプラクティス
パスワードなどのセンシティブデータは、接続文字列やログ内のすべてのリクエストでマスクされますが、組織外で共有する前に機密情報がないかログを確認することをお勧めします。
ログファイルに記録される情報を、正確に絞り込みたい場合があるかもしれません。これは、LogModules プロパティを使用することで可能です。
このプロパティを使えば、セミコロン区切りでリスト化されたログモジュールを使用してログ内容をフィルタできます。
すべてのモジュール名は4文字です。注意点として、3文字のモジュール名は、必ず最後に空白文字を含みます。利用可能なモジュールは次のとおりです。
LogModules=INFO;EXEC;SSL ;SQL ;META;
これらのモジュールはVerbosity を考慮して、取得中の情報の詳細レベルを変更します。
構文のリファレンスと例については、SELECT ステートメント を参照してください。
Amazon S3 API 機能の詳細については、データモデル を参照してください。
EXECUTE またはEXEC ステートメントを使用して、ストアドプロシージャを実行します。構文のリファレンスと例については、EXECUTE ステートメント を参照してください。
SELECT ステートメントは次の基本的な句で構成できます。
次の構文ダイアグラムは、Cloud のSQL エンジン:
SELECT {
[ TOP <numeric_literal> | DISTINCT ]
{
*
| {
<expression> [ [ AS ] <column_reference> ]
| { <table_name> | <correlation_name> } .*
} [ , ... ]
}
[ INTO csv:// [ filename= ] <file_path> [ ;delimiter=tab ] ]
{
FROM <table_reference> [ [ AS ] <identifier> ]
} [ , ... ]
[ [
INNER | { { LEFT | RIGHT | FULL } [ OUTER ] }
] JOIN <table_reference> [ ON <search_condition> ] [ [ AS ] <identifier> ]
] [ ... ]
[ WHERE <search_condition> ]
[ GROUP BY <column_reference> [ , ... ]
[ HAVING <search_condition> ]
[ UNION [ ALL ] <select_statement> ]
[
ORDER BY
<column_reference> [ ASC | DESC ] [ NULLS FIRST | NULLS LAST ]
]
[
LIMIT <expression>
[
{ OFFSET | , }
<expression>
]
]
}
<expression> ::=
| <column_reference>
| @ <parameter>
| ?
| COUNT( * | { [ DISTINCT ] <expression> } )
| { AVG | MAX | MIN | SUM | COUNT } ( <expression> )
| NULLIF ( <expression> , <expression> )
| COALESCE ( <expression> , ... )
| CASE <expression>
WHEN { <expression> | <search_condition> } THEN { <expression> | NULL } [ ... ]
[ ELSE { <expression> | NULL } ]
END
| <literal>
| <sql_function>
<search_condition> ::=
{
<expression> { = | > | < | >= | <= | <> | != | LIKE | NOT LIKE | IN | NOT IN | IS NULL | IS NOT NULL | AND | OR | CONTAINS | BETWEEN } [ <expression> ]
} [ { AND | OR } ... ]
でサポートされている構文の概要を示します。
SELECT * FROM Buckets
SELECT [OwnerId] AS MY_OwnerId FROM Buckets
SELECT CAST(AnnualRevenue AS VARCHAR) AS Str_AnnualRevenue FROM Buckets
SELECT * FROM Buckets WHERE Name = 'TestBucket'
SELECT COUNT(*) AS MyCount FROM Buckets
SELECT COUNT(DISTINCT OwnerId) FROM Buckets
SELECT DISTINCT OwnerId FROM Buckets
SELECT OwnerId, MAX(AnnualRevenue) FROM Buckets GROUP BY OwnerId詳しくは、集計関数 を参照してください。
SELECT Customers.ContactName, Orders.OrderDate FROM Customers, Orders WHERE Customers.CustomerId=Orders.CustomerId詳しくは、JOIN クエリ を参照してください。
SELECT Name, OwnerId FROM Buckets ORDER BY OwnerId ASC
SELECT Name, OwnerId FROM Buckets LIMIT 10
SELECT * FROM Buckets WHERE Name = @param
SELECT ステートメントで入力専用フィールドを使用できます。これらのフィールド(疑似カラム)は、結果には
通常のカラムとして表示されることはありませんが、WHERE 句の一部として指定できます。疑似カラムを使用して、Amazon S3 から追加機能にアクセスできます。
SELECT * FROM Buckets WHERE Query = 'Value > 100'
クエリ条件に一致する行の数を返します。
SELECT COUNT(*) FROM Buckets WHERE Name = 'TestBucket'
クエリ条件に一致する、null 以外の個別のフィールド値の数を返します。
SELECT COUNT(DISTINCT Name) AS DistinctValues FROM Buckets WHERE Name = 'TestBucket'
カラムの値の平均を返します。
SELECT OwnerId, AVG(AnnualRevenue) FROM Buckets WHERE Name = 'TestBucket' GROUP BY OwnerId
カラムの値の最小値を返します。
SELECT MIN(AnnualRevenue), OwnerId FROM Buckets WHERE Name = 'TestBucket' GROUP BY OwnerId
カラムの値の最大値を返します。
SELECT OwnerId, MAX(AnnualRevenue) FROM Buckets WHERE Name = 'TestBucket' GROUP BY OwnerId
カラムの値の合計を返します。
SELECT SUM(AnnualRevenue) FROM Buckets WHERE Name = 'TestBucket'
CData Cloud は次の例のような標準SQL の結合をサポートします。
内部結合は、結合条件に合う行のみを両テーブルから選択します。
SELECT Customers.ContactName, Orders.OrderDate FROM Customers, Orders WHERE Customers.CustomerId=Orders.CustomerId
左結合は、FROM テーブルのすべての行とJOIN テーブルの条件に合う行のみを選択します。
SELECT Customers.ContactName, Orders.OrderDate FROM Customers LEFT OUTER JOIN Orders ON Customers.CustomerId=Orders.CustomerId
次の日付リテラル関数を使用して、相対間隔を使って日付フィールドをフィルタできます。これらの関数では、<、>、および = 演算子がサポートされていますが、<= および >= はサポートされていないことに注意してください。
現在の日。
SELECT * FROM MyTable WHERE MyDateField = L_TODAY()
前の日。
SELECT * FROM MyTable WHERE MyDateField = L_YESTERDAY()
次の日。
SELECT * FROM MyTable WHERE MyDateField = L_TOMORROW()
前の週のすべての日。
SELECT * FROM MyTable WHERE MyDateField = L_LAST_WEEK()
現在の週のすべての日。
SELECT * FROM MyTable WHERE MyDateField = L_THIS_WEEK()
次の週のすべての日。
SELECT * FROM MyTable WHERE MyDateField = L_NEXT_WEEK()以下も利用可能です:
現在の日を除く過去n 日。
SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_DAYS(3)
現在の日を含む次のn 日。
SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_DAYS(3)以下も利用可能です:
現在の週のn 週前から始まり、前の週で終わる、すべての週のすべての日。
SELECT * FROM MyTable WHERE MyDateField = L_LAST_N_WEEKS(3)
次の週から始まり、n 週後に終わる、すべての週のすべての日。
SELECT * FROM MyTable WHERE MyDateField = L_NEXT_N_WEEKS(3)以下も利用可能です:
SELECT INTO ステートメントを使って、書式付きデータをファイルにエクスポートできます。
次のクエリは、comma-separated values(CSV)ファイルフォーマットにデータをエクスポートします。
SELECT Name, OwnerId INTO [csv://Buckets.txt] FROM [Buckets] WHERE Name = 'TestBucket'ファイルURI で他のフォーマットを指定できます。利用可能な区切り文字はタブ、セミコロン、カンマです。デフォルトはカンマです。次の例は、tab-separated values(TSV)にエクスポートします。
SELECT Name, OwnerId INTO [csv://Buckets.txt;delimiter=tab] FROM [Buckets] WHERE Name = 'TestBucket'URI で他のファイルフォーマットを指定できます。以下の例は、tab-separated values(TSV)にエクスポートします。
Cloud には、ほとんどの標準的なデータベースで使用できる関数と同様の関数が用意されています。これらの関数は、CData プロバイダーエンジンで実装されるため、同じ一貫したAPI を使用してすべてのデータソースに渡って使用できます。関数にはstring、date、math の3つのカテゴリがあります。
Cloud はすべてのSQL 関数入力を文字列またはカラム識別子のいずれかとして解釈するため、すべてのリテラルを単一引用符で文字列としてエスケープする必要があります。例えば、DATENAME 関数のSQL Server 構文とCloud 構文を比較すると次のようになります。
SELECT DATENAME(yy,GETDATE())
SELECT DATENAME('yy',GETDATE())
これらの関数は、文字列操作を実行し、文字列値を返します。詳しくは、文字列関数 を参照してください。
SELECT CONCAT(firstname, space(4), lastname) FROM Buckets WHERE Name = 'TestBucket'
これらの関数は、日付および日時操作を実行します。詳しくは、日付関数 を参照してください。
SELECT CURRENT_TIMESTAMP() FROM Buckets
これらの関数は、数値演算を提供します。詳しくは、算術関数 を参照してください。
SELECT RAND() FROM Buckets
SELECT CONCAT('Mr.', SPACE(2), firstname, SPACE(4), lastname) FROM Buckets
文字式の左端の文字のASCII コード値を返します。
SELECT ASCII('0'); -- Result: 48
整数のASCII コードを対応する文字に変換します。
SELECT CHAR(48); -- Result: '0'
指定した文字列式の開始位置を返します。
SELECT CHARINDEX('456', '0123456'); -- Result: 4 SELECT CHARINDEX('456', '0123456', 5); -- Result: -1
式内にあるUTF-8 文字の数を返します。
SELECT CHAR_LENGTH('sample text') FROM Account LIMIT 1 -- Result: 11
2つ以上の文字列値を連結した文字列を返します。
SELECT CONCAT('Hello, ', 'world!'); -- Result: 'Hello, world!'
expressionToSearch 中にexpressionToFind が見つかった場合は1を、それ以外は0を返します。
SELECT CONTAINS('0123456', '456'); -- Result: 1 SELECT CONTAINS('0123456', 'Not a number'); -- Result: 0
character_expression がcharacter_suffix で終わる場合は1を、それ以外は0を返します。
SELECT ENDSWITH('0123456', '456'); -- Result: 1 SELECT ENDSWITH('0123456', '012'); -- Result: 0
指定されたファイルパスのファイルに存在するバイト数を返します。
SELECT FILESIZE('C:/Users/User1/Desktop/myfile.txt'); -- Result: 23684
指定された書式で値をフォーマットして返します。
SELECT FORMAT(12.34, '#'); -- Result: 12 SELECT FORMAT(12.34, '#.###'); -- Result: 12.34 SELECT FORMAT(1234, '0.000E0'); -- Result: 1.234E3 SELECT FORMAT('2019/01/01', 'yyyy-MM-dd'); -- Result: 2019-01-01 SELECT FORMAT('20190101', 'yyyyMMdd', 'yyyy-MM-dd'); -- Result: '2019-01-01'
unix_timestamp 引数を、現在のタイムゾーンで表されたYYYY-MM-DD HH:MM:SS の値で返します。
SELECT FROM_UNIXTIME(1540495231, 1); -- Result: 2018-10-25 19:20:31 SELECT FROM_UNIXTIME(1540495357385, 0); -- Result: 2018-10-25 19:22:37
指定されたアルゴリズムを使用して、入力値のハッシュをバイト配列として返します。サポートされているアルゴリズムはMD5、SHA1、SHA2_256、SHA2_512、SHA3_224、SHA3_256、SHA3_384、およびSHA3_512 です。
SELECT HASHBYTES('MD5', 'Test'); -- Result (byte array): 0x0CBC6611F5540BD0809A388DC95A615B
指定した文字列式の開始位置を返します。
SELECT INDEXOF('0123456', '456'); -- Result: 4 SELECT INDEXOF('0123456', '456', 5); -- Result: -1
null を指定した置換値に置き換えます。
SELECT ISNULL(42, 'Was NULL'); -- Result: 42 SELECT ISNULL(NULL, 'Was NULL'); -- Result: 'Was NULL'
JSON オブジェクト内のJSON 配列の平均値を計算します。配列へのパスはjsonpath 引数で指定します。戻り値は数値またはnull です。
SELECT JSON_AVG('[1,2,3,4,5]', '$[x]'); -- Result: 3 SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]'); -- Result: 3 SELECT JSON_AVG('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]'); -- Result: 4.5
JSON オブジェクト内のJSON 配列のエレメント数を返します。配列へのパスはjsonpath 引数で指定します。戻り値は数値またはnull です。
SELECT JSON_COUNT('[1,2,3,4,5]', '$[x]'); -- Result: 5 SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]'); -- Result: 5 SELECT JSON_COUNT('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]'); -- Result: 2
JSON 配列またはオブジェクトのあらゆる値を選択します。配列へのパスはjsonpath 引数で指定します。戻り値は数値またはnull です。
SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test'); -- Result: '{"data":1}' SELECT JSON_EXTRACT('{"test": {"data": 1}}', '$.test.data'); -- Result: 1 SELECT JSON_EXTRACT('{"test": {"data": [1, 2, 3]}}', '$.test.data[1]'); -- Result: 2
JSON オブジェクト内のJSON 配列の最大値を取得します。配列へのパスはjsonpath 引数で指定します。戻り値は数値またはnull です。
SELECT JSON_MAX('[1,2,3,4,5]', '$[x]'); -- Result: 5 SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]'); -- Result: 5 SELECT JSON_MAX('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[..3]'); -- Result: 4
JSON オブジェクト内のJSON 配列の最小値を取得します。配列へのパスはjsonpath 引数で指定します。戻り値は数値またはnull です。
SELECT JSON_MIN('[1,2,3,4,5]', '$[x]'); -- Result: 1 SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]'); -- Result: 1 SELECT JSON_MIN('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]'); -- Result: 4
JSONPath 式に応じたJSON のサマリー値を計算します。戻り値は数値またはnull です。
SELECT JSON_SUM('[1,2,3,4,5]', '$[x]'); -- Result: 15 SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[x]'); -- Result: 15 SELECT JSON_SUM('{"test": {"data": [1,2,3,4,5]}}', '$.test.data[3..]'); -- Result: 9
指定された文字列の左端から指定された数の文字を返します。
SELECT LEFT('1234567890', 3); -- Result: '123'
指定された文字列式の文字数を返します。
SELECT LEN('12345'); -- Result: 5
部分文字列が表示される文字列の文字数を表す整数を返します。
SELECT LOCATE('sample','XXXXXsampleXXXXX'); -- Result: 6
大文字データを小文字に変換した文字式を返します。
SELECT LOWER('MIXED case'); -- Result: 'mixed case'
先頭の空白を除いた文字式を返します。
SELECT LTRIM(' trimmed'); -- Result: 'trimmed'
start_index とend_index の間の文字を文字列内のmask_character に置き換えます。
SELECT MASK('1234567890','*',); -- Result: '**********' SELECT MASK('1234567890','*', 4); -- Result: '1234******' SELECT MASK('1234567890','*', 4, 2); -- Result: '1234****90'
Unicode 標準の定義に従って、指定された整数コードのUnicode 文字を返します。
式内にあるバイト数を返します。
SELECT OCTET_LENGTH('text') FROM Account LIMIT 1 -- Result: 4
式内に最初に見つかったパターンの開始位置を返します。パターンが見つからなかった場合は0を返します。
SELECT PATINDEX('123%', '1234567890'); -- Result: 1 SELECT PATINDEX('%890', '1234567890'); -- Result: 8 SELECT PATINDEX('%456%', '1234567890'); -- Result: 4
指定した文字列式の開始位置を返します。
SELECT POSITION('456' IN '123456'); -- Result: 4 SELECT POSITION('x' IN '123456'); -- Result: 0
指定されたUnicode 文字列に必要な区切り記号を追加することで、有効なSQL Server の区切り付き識別子を返します。
SELECT QUOTENAME('table_name'); -- Result: '[table_name]' SELECT QUOTENAME('table_name', '"'); -- Result: '"table_name"' SELECT QUOTENAME('table_name', '['); -- Result: '[table_name]'
見つかった文字列をすべて別の文字列に置換します。
SELECT REPLACE('1234567890', '456', '|'); -- Result: '123|7890' SELECT REPLACE('123123123', '123', '.'); -- Result: '...' SELECT REPLACE('1234567890', 'a', 'b'); -- Result: '1234567890'
文字列値を指定された回数だけ繰り返します。
SELECT REPLACE('x', 5); -- Result: 'xxxxx'
文字列式を逆順序で返します。
SELECT REVERSE('1234567890'); -- Result: '0987654321'
文字列の右側から指定された数の文字を返します。
SELECT RIGHT('1234567890', 3); -- Result: '890'
末尾の空白を削除した後の文字式を返します。
SELECT RTRIM('trimmed '); -- Result: 'trimmed'
文字列の音声表現に基づいて、4文字のSoundex コードを返します。
SELECT SOUNDEX('smith'); -- Result: 'S530'
空白の繰り返しで構成される文字列を返します。
SELECT SPACE(5); -- Result: ' '
区切り文字の間の文字列のセクションを返します。
SELECT SPLIT('a/b/c/d', '/', 1); -- Result: 'a' SELECT SPLIT('a/b/c/d', '/', -2); -- Result: 'c'
character_expression がcharacter_prefix で始まる場合は1を、それ以外は0を返します。
SELECT STARTSWITH('0123456', '012'); -- Result: 1 SELECT STARTSWITH('0123456', '456'); -- Result: 0
数値データから変換された文字データを返します。例えば、STR(123.45, 6, 1) は123.5 を返します。
SELECT STR('123.456'); -- Result: '123' SELECT STR('123.456', 2); -- Result: '**' SELECT STR('123.456', 10, 2); -- Result: '123.46'
文字列を別の文字列内に挿入します。まず、最初の文字列の指定された開始位置から指定された長さの文字を削除し、次に、2番目の文字列を最初の文字列の指定された開始位置に挿入します。
SELECT STUFF('1234567890', 3, 2, 'xx'); -- Result: '12xx567890'
文字列のうち、指定されたインデックスから始まる指定された長さの部分を返します。
SELECT SUBSTRING('1234567890' FROM 3 FOR 2); -- Result: '34' SELECT SUBSTRING('1234567890' FROM 3); -- Result: '34567890'
インスタンスの値を同様の文字列表現に変換します。
SELECT TOSTRING(123); -- Result: '123' SELECT TOSTRING(123.456); -- Result: '123.456' SELECT TOSTRING(null); -- Result: ''
左および/または右の空白を除いた文字式を返します。
SELECT TRIM(' trimmed '); -- Result: 'trimmed' SELECT TRIM(LEADING FROM ' trimmed '); -- Result: 'trimmed ' SELECT TRIM('-' FROM '-----trimmed-----'); -- Result: 'trimmed' SELECT TRIM(BOTH '-' FROM '-----trimmed-----'); -- Result: 'trimmed' SELECT TRIM(TRAILING '-' FROM '-----trimmed-----'); -- Result: '-----trimmed'
インプット式の最初の文字のUnicode 標準で定義された整数の値を返します。
文字式の小文字データを大文字に変換して返します。
SELECT UPPER('MIXED case'); -- Result: 'MIXED CASE'
指定されたXPath を使ってXML ドキュメントを抽出して、XML をフラット化します。デフォルトでは、出力の区切りにはカンマが使用されますが、これは3番目のパラメータを指定することで変更できます。
SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch'); -- Result: 'a,e,i,o,u' SELECT XML_EXTRACT('<vowels><ch>a</ch><ch>e</ch><ch>i</ch><ch>o</ch><ch>u</ch></vowels>', '/vowels/ch', ';'); -- Result: 'a;e;i;o;u'
現在のdate 値を返します。
SELECT CURRENT_DATE(); -- Result: 2018-02-01
現在のデータベースシステムのタイムスタンプをdatetime 値で返します。この値はGETDATE およびSYSDATETIME と等しく、常にローカルタイムゾーンになります。
SELECT CURRENT_TIMESTAMP(); -- Result: 2018-02-01 03:04:05
date の指定されたdatepart に、指定されたnumber(符号付き整数)を加算したdatetime 値を返します。
SELECT DATEADD('d', 5, '2018-02-01'); -- Result: 2018-02-06 SELECT DATEADD('hh', 5, '2018-02-01 00:00:00'); -- Result: 2018-02-01 05:00:00
指定されたstartdate とenddate の差(符号付き整数)を返します。
SELECT DATEDIFF('d', '2018-02-01', '2018-02-10'); -- Result: 9 SELECT DATEDIFF('hh', '2018-02-01 00:00:00', '2018-02-01 12:00:00'); -- Result: 12
指定された年、月、および日のdatetime 値を返します。
SELECT DATEFROMPARTS(2018, 2, 1); -- Result: 2018-02-01
指定されたdate の指定されたdatepart を表す文字列を返します。
SELECT DATENAME('yy', '2018-02-01'); -- Result: '2018' SELECT DATENAME('dw', '2018-02-01'); -- Result: 'Thursday'
指定されたdate の指定されたdatepart を表す文字列を返します。
SELECT DATEPART('yy', '2018-02-01'); -- Result: 2018 SELECT DATEPART('dw', '2018-02-01'); -- Result: 5
指定されたdatepart のdatetime 値を返します。
SELECT DATETIME2FROMPARTS(2018, 2, 1, 1, 2, 3, 456, 3); -- Result: 2018-02-01 01:02:03.456
指定されたdatepart のdatetime 値を返します。
SELECT DATETIMEFROMPARTS(2018, 2, 1, 1, 2, 3, 456); -- Result: 2018-02-01 01:02:03.456
指定されたdatepart の精度に日付を切り捨てます。Oracle TRUNC 関数をモデルにしています。
SELECT DATE_TRUNC('05-04-2005', 'YY'); -- Result: '1/1/2005' SELECT DATE_TRUNC('05-04-2005', 'MM'); -- Result: '5/1/2005'
指定されたdatepart の精度に日付を切り捨てます。PostgreSQL date_trunc 関数をモデルにしています。
SELECT DATE_TRUNC2('year', '2020-02-04'); -- Result: '2020-01-01' SELECT DATE_TRUNC2('week', '2020-02-04', 'monday'); -- Result: '2020-02-02', which is the previous Monday
指定されたdate の日コンポーネントを指定する整数を返します。
SELECT DAY('2018-02-01'); -- Result: 1
SELECT DAYOFMONTH('04/15/2000'); -- Result: 15
SELECT DAYOFWEEK('04/15/2000'); -- Result: 7
SELECT DAYOFYEAR('04/15/2000'); -- Result: 106
指定されたdate を含む月、またはオプションでその月からオフセットされた月の最終日を返します。
SELECT EOMONTH('2018-02-01'); -- Result: 2018-02-28 SELECT LAST_DAY('2018-02-01'); -- Result: 2018-02-28 SELECT EOMONTH('2018-02-01', 2); -- Result: 2018-04-30
SELECT FDWEEK('02-08-2018'); -- Result: 2/4/2018
SELECT FDMONTH('02-08-2018'); -- Result: 2/1/2018
SELECT FDQUARTER('05-08-2018'); -- Result: 4/1/2018
関連ファイルの変更日に関連付けられたタイムスタンプを返します。
SELECT FILEMODIFIEDTIME('C:/Documents/myfile.txt'); -- Result: 6/25/2019 10:06:58 AM
1582-10-15以降の日数から派生した日付を返します(グレゴリオ暦に基づく)。これはMYSQL FROM_DAYS 関数と同等です。
SELECT FROM_DAYS(736000); -- Result: 2/6/2015
現在のデータベースシステムのタイムスタンプをdatetime 値で返します。この値はCURRENT_TIMESTAMP およびSYSDATETIME と等しく、常にローカルタイムゾーンになります。
SELECT GETDATE(); -- Result: 2018-02-01 03:04:05
UTC datetime 値としてフォーマットされた現在のデータベースシステムのタイムスタンプを返します。SYSUTCDATETIME と同じです。
SELECT GETUTCDATE(); -- For example, if the local timezone is Eastern European Time (GMT+2) -- Result: 2018-02-01 05:04:05
指定されたdatetime から時間コンポーネントを返します。
SELECT HOUR('02-02-2020 11:30:00'); -- Result: 11
この値が有効なdate、time、またはdatetime 値である場合は1を返します。それ以外の場合は0を返します。
SELECT ISDATE('2018-02-01', 'yyyy-MM-dd'); -- Result: 1 SELECT ISDATE('Not a date'); -- Result: 0
現在の日付のちょうど一週間前のタイムスタンプを返します。
SELECT LAST_WEEK(); //Assume the date is 3/17/2020 -- Result: 3/10/2020
現在の日付のちょうど一ヶ月前のタイムスタンプを返します。
SELECT LAST_MONTH(); //Assume the date is 3/17/2020 -- Result: 2/17/2020
現在の日付のちょうど一年前のタイムスタンプを返します。
SELECT LAST_YEAR(); //Assume the date is 3/17/2020 -- Result: 3/10/2019
指定された週の最終日を返します。
SELECT LDWEEK('02-02-2020'); -- Result: 2/8/2020
指定された月の最終日を返します。
SELECT LDMONTH('02-02-2020'); -- Result: 2/29/2020
指定された四半期の最終日を返します。
SELECT LDQUARTER('02-02-2020'); -- Result: 3/31/2020
年と日数から日付値を返します。
SELECT MAKEDATE(2020, 1); -- Result: 2020-01-01
指定されたdatetime から分コンポーネントを返します。
SELECT MINUTE('02-02-2020 11:15:00'); -- Result: 15
指定されたdatetime から月コンポーネントを返します。
SELECT MONTH('02-02-2020'); -- Result: 2
指定されたdatetime に関連付けられた四半期を返します。
SELECT QUARTER('02-02-2020'); -- Result: 1
指定されたdatetime から秒コンポーネントを返します。
SELECT SECOND('02-02-2020 11:15:23'); -- Result: 23
指定された日時のdatetime 値を返します。
SELECT SMALLDATETIMEFROMPARTS(2018, 2, 1, 1, 2); -- Result: 2018-02-01 01:02:00
指定された文字列値をパースし、対応する日時を返します。
SELECT STRTODATE('03*04*2020','dd*MM*yyyy'); -- Result: 4/3/2020
現在のタイムスタンプをデータベースシステムのdatetime 値として返します。この値はGETDATE およびCURRENT_TIMESTAMP と等しく、常にローカルタイムゾーンになります。
SELECT SYSDATETIME(); -- Result: 2018-02-01 03:04:05
現在のシステム日時をUTC datetime 値として返します。GETUTCDATE と同じです。
SELECT SYSUTCDATETIME(); -- For example, if the local timezone is Eastern European Time (GMT+2) -- Result: 2018-02-01 05:04:05
指定されたhour、minute、およびsecond のtime 値を指定した有効桁数で返します。
SELECT TIMEFROMPARTS(1, 2, 3, 456, 3); -- Result: 01:02:03.456
0000-00-01以降の日数を返します。1582-10-15以降の日付に対してのみ値を返します(グレゴリオ暦に基づく)。これはMYSQL TO_DAYS 関数と同等です。
SELECT TO_DAYS('02-06-2015'); -- Result: 736000
指定されたdatetime に関連付けられた(その年の)週を返します。
SELECT WEEK('02-17-2020 11:15:23'); -- Result: 8
指定されたdate の年を表す整数を返します。
SELECT YEAR('2018-02-01'); -- Result: 2018
指定された数値の絶対値(正の値)を返します。
SELECT ABS(15); -- Result: 15 SELECT ABS(-15); -- Result: 15
指定された浮動小数点式がコサインの値となる角度をラジアン単位で返します。これは、アークコサインとも呼ばれます。
SELECT ACOS(0.5); -- Result: 1.0471975511966
指定された浮動小数点式がサインの値となる角度をラジアン単位で返します。これは、アークサインとも呼ばれます。
SELECT ASIN(0.5); -- Result: 0.523598775598299
指定された浮動小数点式がタンジェントの値となる角度をラジアン単位で返します。これは、アークタンジェントとも呼ばれます。
SELECT ATAN(10); -- Result: 1.47112767430373
正のx 軸と原点から点(y, x) までの線との間の角度をラジアン単位で返します。x とy は、指定された2つの浮動小数点式です。
SELECT ATN2(1, 1); -- Result: 0.785398163397448
指定された数値式以上で最小の整数を返します。
SELECT CEILING(1.3); -- Result: 2 SELECT CEILING(1.5); -- Result: 2 SELECT CEILING(1.7); -- Result: 2
指定された式で示されるラジアン単位の角度の三角関数コサインを返します。
SELECT COS(1); -- Result: 0.54030230586814
指定された浮動小数点式で示されるラジアン単位の角度の三角関数コタンジェントを返します。
SELECT COT(1); -- Result: 0.642092615934331
ラジアン単位で指定された角度に相当する度単位の角度を返します。
SELECT DEGREES(3.1415926); -- Result: 179.999996929531
指定された浮動小数点値の指数値を返します。例えば、EXP(LOG(20)) は20です。
SELECT EXP(2); -- Result: 7.38905609893065
式を評価します。
SELECT EXPR('1 + 2 * 3'); -- Result: 7 SELECT EXPR('1 + 2 * 3 == 7'); -- Result: true
指定された数値式以下で最大の整数を返します。
SELECT FLOOR(1.3); -- Result: 1 SELECT FLOOR(1.5); -- Result: 1 SELECT FLOOR(1.7); -- Result: 1
指定された整数の最大値を返します。
SELECT GREATEST(3,5,8,10,1) -- Result: 10
入力値に相当する16進数を返します。
SELECT HEX(866849198); -- Result: 33AB11AE SELECT HEX('Sample Text'); -- Result: 53616D706C652054657874
指定された整数の最小値を返します。
SELECT LEAST(3,5,8,10,1) -- Result: 1
指定された浮動小数点式の自然対数を返します。
SELECT LOG(7.3890560); -- Result: 1.99999998661119
指定された浮動小数点式の10を底とする対数を返します。
SELECT LOG10(10000); -- Result: 4
被除数を除数で除算したときの余剰に関連付けられた整数値を返します。
SELECT MOD(10,3); -- Result: 1
実数入力のopposite を返します。
SELECT NEGATE(10); -- Result: -10 SELECT NEGATE(-12.4) --Result: 12.4
PI の定数値を返します。
SELECT PI() -- Result: 3.14159265358979
指定された式の指定されたべき乗値を返します。
SELECT POWER(2, 10); -- Result: 1024 SELECT POWER(2, -2); -- Result: 0.25
数値式が度単位で入力されたときのラジアン値を返します。
SELECT RADIANS(180); -- Result: 3.14159265358979
0と1の間の(0と1は除く)の疑似乱数(浮動小数点値)を返します。
SELECT RAND(); -- This result may be different, since the seed is randomized -- Result: 0.873159630165044 SELECT RAND(1); -- This result will always be the same, since the seed is constant -- Result: 0.248668584157093
指定された長さまたは有効桁数に丸められた数値を返します。
SELECT ROUND(1.3, 0); -- Result: 1 SELECT ROUND(1.55, 1); -- Result: 1.6 SELECT ROUND(1.7, 0, 0); -- Result: 2 SELECT ROUND(1.7, 0, 1); -- Result: 1 SELECT ROUND (1.24); -- Result: 1.0
指定された式の符号を、正(+1)、ゼロ(0)、または負(-1)で返します。
SELECT SIGN(0); -- Result: 0 SELECT SIGN(10); -- Result: 1 SELECT SIGN(-10); -- Result: -1
指定された角度の三角関数のサイン値をラジアン単位で返します。
SELECT SIN(1); -- Result: 0.841470984807897
指定された浮動小数点値の平方根を返します。
SELECT SQRT(100); -- Result: 10
指定された浮動小数点値の2乗を返します。
SELECT SQUARE(10); -- Result: 100 SELECT SQUARE(-10); -- Result: 100
入力式のタンジェントを返します。
SELECT TAN(1); -- Result: 1.5574077246549
指定された小数精度に切り捨てられた、指定された10進数を返します。
SELECT TRUNC(10.3423,2); -- Result: 10.34
ストアドプロシージャを実行するには、EXECUTE またはEXEC ステートメントを使用できます。
EXEC およびEXECUTE は、名前で参照されたストアドプロシージャのインプットを値またはパラメータ名に割当てます。
ストアドプロシージャをSQL ステートメントとして実行するには、次の構文を使用します。
{ EXECUTE | EXEC } <stored_proc_name>
{
[ @ ] <input_name> = <expression>
} [ , ... ]
<expression> ::=
| @ <parameter>
| ?
| <literal>
名前によるストアドプロシージャのインプットの参照:
EXECUTE my_proc @second = 2, @first = 1, @third = 3;
パラメータ化されたストアドプロシージャ構文の実行:
EXECUTE my_proc second = @p1, first = @p2, third = @p3;
PIVOT and UNPIVOT can be used to change a table-valued expression into another table.
"SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days, [0], [1], [2], [3], [4]
FROM
(
SELECT DaysToManufacture, StandardCost
FROM Production.Product
) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;"
"SELECT VendorID, Employee, Orders
FROM
(SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5
FROM pvt) p
UNPIVOT
(Orders FOR Employee IN
(Emp1, Emp2, Emp3, Emp4, Emp5)
)AS unpvt;"
For further information on PIVOT and UNPIVOT, see FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL)
このセクションでは、Cloud がAmazon S3 API をリレーショナルビューおよびストアドプロシージャとしてモデル化する方法を説明します。
バケット、バケット情報、オブジェクトなどAmazon S3 データへの読み取り専用アクセスには、事前定義されたビュー を使用できます。
ストアドプロシージャを使用すると、オブジェクトのダウンロードやアップロードなど、Amazon S3 の操作を実行できます。
システムテーブル には、データベースに属するオブジェクトとリソースに関する情報が含まれています。
Cloud はAmazon S3 のデータを、標準のSQL ステートメントを使用してクエリできるテーブルのリストにモデル化します。
一般的には、Amazon S3 テーブルのクエリは、リレーショナルデータベースのテーブルのクエリと同じです。時には特別なケースもあります。例えば、テーブルの特定のカラムデータを取得するために特定のカラムをWHERE 句に含める必要がある場合などです。これは通常、特定のカラムを取得するために行ごとに個別のリクエストを行う必要がある場合に必要です。これらの特別な状況は、以下にリンクされているテーブルページの上部に明確に文書化されています。
Name | Description |
Buckets | Returns information for buckets. Buckets are used to store objects, which consist of data and its metadata. |
Objects | Returns information for objects inside a specific bucket. |
Returns information for buckets. Buckets are used to store objects, which consist of data and its metadata.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Name column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM Buckets SELECT * FROM Buckets WHERE Name = 'TestBucket'
To insert a Bucket, specify the primary key of the Bucket in the INSERT query. For example, the following query inserts a bucket from Amazon S3:
INSERT INTO Buckets (Bucket) VALUES ('TestBucket')
To delete a Bucket, specify the primary key of the Bucket in the DELETE query. For example, the following query deletes a bucket from Amazon S3:
DELETE FROM Buckets WHERE Bucket = 'MyBucket'
Name | Type | ReadOnly | Description |
Bucket [KEY] | String | False |
The bucket's name. |
CreationDate | Timestamp | False |
The date the bucket was created. |
OwnerId | String | False |
The bucket owner's canonical user ID. |
OwnerDisplayName | String | False |
The bucket owner's display name. |
Returns information for objects inside a specific bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Object and Bucket columns. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM Objects SELECT * FROM Objects WHERE Object = 'TestObject' SELECT * FROM Objects WHERE Bucket = 'TestBucket' SELECT * FROM Objects WHERE Object = 'TestObject' AND Bucket = 'TestBucket'
INSERT queries are not supported to create new Objects. In order to create new Objects in Amazon S3, use the Stored Procedure UploadObject.
To delete an Object, specify the primary keys of the Object in the DELETE query. For example, the following query deletes an object from Amazon S3:
DELETE FROM Objects WHERE Object = 'MyObject' AND Bucket = 'MyBucket'
Name | Type | ReadOnly | Description |
Object [KEY] | String | False |
Objects's name. |
Description | String | False |
Object's description. |
LastModified | Datetime | False |
Date the object was last modified. |
OwnerId | String | False |
Objects owner's canonical user ID. |
OwnerDisplayName | String | False |
Objects owner's display name. |
Size | String | False |
Objects size. |
Etag | String | False |
Objects Etag. |
Bucket [KEY] | String | False |
Bucket in which the object is located. |
ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。
ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。
ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。
Name | Description |
BucketsACL | Returns the access control list (ACL) of a bucket. An ACL allows you to set permissions on each object in a specific bucket. |
BucketsAnalytics | Returns an analytics configuration (identified by the analytics configuration ID) from the bucket. |
BucketsCompliance | Returns information for a bucket's compliance. |
BucketsCORS | Returns the CORS configuration information set for the bucket. CORS allows cross-domain communication. |
BucketsInventory | Returns an inventory configuration (identified by the inventory configuration ID) from the bucket. |
BucketsLifecycle | Returns the lifecycle configuration information set on the bucket. |
BucketsReplication | Returns a bucket's replication configuration. |
ObjectsACL | Returns the access control list (ACL) of an object. |
ObjectsCompliance | Returns information for objects compliance inside a specific bucket. |
PublicAccessBlock | Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. |
Returns the access control list (ACL) of a bucket. An ACL allows you to set permissions on each object in a specific bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsACL SELECT * FROM BucketsACL WHERE Bucket = 'TestBucket'
Name | Type | Description |
GranteeType | String | The display name of the user. |
GranteeId | String | The ID of the user. |
GranteeDisplayName | String | The display name of the user. |
GranteeURI | String | The display name of the user. |
Permission | String | Permission given to the user or group. |
Bucket | String | The name of the bucket that the ACL belongs to. |
Returns an analytics configuration (identified by the analytics configuration ID) from the bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsAnalytics SELECT * FROM BucketsAnalytics WHERE Bucket = 'TestBucket'
Name | Type | Description |
Id [KEY] | String | The ID that identifies the analytics configuration. |
FilterPrefix | String | The prefix that an object must have to be included in the analytics results. |
OutputSchemaVersion | String | The version of the output schema to use when exporting data. Must be V_1. |
DestinationBucket | String | The Amazon Resource Name (ARN) of the bucket where analytics results are published. |
DestinationFormat | String | Specifies the output format of the analytics results. |
DestinationPrefix | String | The prefix that is prepended to all analytics results. |
Bucket | String | The name of the current bucket. |
Returns information for a bucket's compliance.
Name | Type | Description |
Status | String | Either 'enabled' or 'disabled' to turn compliance on and off, respectively. |
LockTime | String | The time at which the compliance settings are 'locked'. |
IsLocked | Boolean | Indicator if the Bucket is locked. |
ConditionalHold | Boolean | A Boolean value indicating if newly created objects are placed on conditional hold, meaning that they cannot be deleted until the conツュditional hold is explicitly turned off. |
DeleteAfterRetention | Boolean | A Boolean value indicating if the object should be deleted automatically at the end of the retention period. |
RetentionDays | Integer | An integer for the minimum number of days that objects are always retained after their creation date or release from conditional hold. |
Bucket | String | Bucket in which the object is located. |
Returns the CORS configuration information set for the bucket. CORS allows cross-domain communication.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsCORS SELECT * FROM BucketsCORS WHERE Bucket = 'TestBucket'
Name | Type | Description |
Id [KEY] | String | An optional unique identifier for the rule. |
AllowedOrigin | String | One or more response headers that you want customers to be able to access from their applications. |
AllowedMethod | String | Identifies an HTTP method that the domain/origin specified in the rule is allowed to execute. |
MaxAgeSeconds | String | The time in seconds that your browser is to cache the preflight response for the specified resource. |
AllowedHeader | String | Specifies which headers are allowed in a pre-flight OPTIONS request through the Access-Control-Request-Headers header. |
ExposeHeader | String | One or more headers in the response that you want customers to be able to access from their applications. |
Bucket | String | The name of the bucket that CORS belongs to. |
Returns an inventory configuration (identified by the inventory configuration ID) from the bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsInventory SELECT * FROM BucketsInventory WHERE Bucket = 'TestBucket'
Name | Type | Description |
Id [KEY] | String | The ID that identifies the inventory configuration. |
IsEnabled | String | Specifies whether the inventory is enabled or disabled. |
DestinationFormat | String | Specifies the output format of the inventory results. |
DestinationBucket | String | The Amazon Resource Name (ARN) of the bucket where inventory results are published. |
DestinationEncryption | String | Contains the type of server-side encryption used to encrypt the inventory results. |
ScheduleFrequency | String | Specifies how frequently inventory results are produced. |
IncludedObjectVersions | String | Object versions to include in the inventory list. |
Bucket | String | The name of the current bucket. |
Returns the lifecycle configuration information set on the bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsLifecycle SELECT * FROM BucketsLifecycle WHERE Bucket = 'TestBucket'
Name | Type | Description |
Id [KEY] | String | Unique identifier for the rule. |
Filter | String | Container element describing one or more filters used to identify a subset of objects to which the lifecycle rule applies. |
Status | String | If enabled, Amazon S3 executes the rule as scheduled. If disabled, Amazon S3 ignores the rule. |
Transition | Long | Specifies a period in the objects' lifetime when Amazon S3 should transition them to the STANDARD_IA, ONEZONE_IA, or GLACIER storage class. |
Storage | String | Specifies the Amazon S3 storage class to which you want to transition the object. |
Expiration | Long | Specifies a period in the object's lifetime when Amazon S3 should take the appropriate expiration action. |
Bucket | String | The name of the current bucket. |
Returns a bucket's replication configuration.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM BucketsReplication SELECT * FROM BucketsReplication WHERE Bucket = 'TestBucket'
Name | Type | Description |
Id [KEY] | String | The unique identifier for the rule. |
Priority | String | If you specify multiple rules with overlapping filters, identifies the rule priority. |
Status | String | Whether a rule is enabled. If Status is not set to Enabled, Amazon S3 ignores the rule |
DeleteMarkerStatus | String | A container that describes whether Amazon S3 replicates the delete markers. |
DestinationBucket | String | The name of the bucket where Amazon S3 stores replicas of objects identified by the rule. |
Bucket | String | The name of the current bucket. |
Returns the access control list (ACL) of an object.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Object and Bucket columns. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM ObjectsACL SELECT * FROM ObjectsACL WHERE Object = 'TestObject' SELECT * FROM ObjectsACL WHERE Bucket = 'TestBucket' SELECT * FROM ObjectsACL WHERE Object = 'TestObject' AND Bucket = 'TestBucket'
Name | Type | Description |
GranteeType | String | Display name of the user. |
GranteeId | String | The ID of the user. |
GranteeDisplayName | String | Display name of the user. |
GranteeURI | String | Display name of the user. |
Permission | String | Permission given to the user or group. |
Bucket | String | Name of the bucket which includes this object. |
Object | String | Name of the object which includes this ACL. |
Returns information for objects compliance inside a specific bucket.
Name | Type | Description |
Object [KEY] | String | Objects's name. |
RetentionTime | Timestamp | An ISO time giving a new retention time for the object in which the object cannot be deleted before this time. |
ConditionalHold | Boolean | A Boolean value set to 'false' to release the object from the conditional hold setting in the bucket policy. |
LegalHold | Boolean | A Boolean value to set the legal hold status. |
SHA256 | String | An integer for the minimum number of days that objects are always retained after their creation date or release from conditional hold. |
Bucket | String | Bucket in which the object is located. |
Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket.
The Cloud uses the Amazon S3 API to process search criteria that refers to the Bucket column. The Cloud processes other filters client side within the Cloud. For example, the following queries are processed server side.
SELECT * FROM PublicAccessBlock SELECT * FROM PublicAccessBlock WHERE Bucket = 'TestBucket'
Name | Type | Description |
BlockPublicAcls | Boolean | Specifies whether Amazon S3 will block public access control lists (ACLs) for this bucket and objects in this bucket. |
IgnorePublicAcls | Boolean | Specifies whether Amazon S3 will ignore public ACLs for this bucket and objects in this bucket. |
BlockPublicPolicy | Boolean | Specifies whether Amazon S3 will block public bucket policies for this bucket. |
RestrictPublicBuckets | Boolean | Specifies whether Amazon S3 will restrict public bucket policies for this bucket. |
Bucket | String | The name of the bucket that Lifecycle belongs to. |
ストアドプロシージャはファンクションライクなインターフェースで、Amazon S3 の単純なSELECT 処理にとどまらずCloud の機能を拡張します。
ストアドプロシージャは、パラメータのリストを受け取り、目的の機能を実行し、該当する場合は、プロシージャが成功したか失敗したかを示すとともにAmazon S3 から関連するレスポンスデータを返します。
Name | Description |
CopyObject | Copies an object from one bucket to another. |
Copies an object from one bucket to another.
Name | Type | Required | Description |
BucketSource | String | True | Bucket name where the object to be copied is located. |
ObjectSource | String | True | Object name of the object that will be copied. |
BucketDestination | String | True | Bucket name where the object will be copied to. |
ObjectDestination | String | False | New name of the object in the new bucket. If not specified, the name will be the same. |
Name | Type | Description |
Status | String | Stored procedure execution status. |
Passes the name of a bucket and object to download.
Name | Type | Required | Accepts Output Streams | Description |
Bucket | String | True | False | Bucket name where the object is located. |
Object | String | False | False | Object name for the object that should be retrieved. If not specified, all the objects from the specified bucket will be retrieved. |
LocalFolderPath | String | False | False | The path, or URI, to the file that will receive the data of the object. |
ByteRangeStart | Long | False | False | The start of the byte range to download. |
ByteRangeEnd | Long | False | False | The end of the byte range to download. |
UpdatedStartDate | Datetime | False | False | The start of the date range to download objects. If not specified, objects will be downloaded from the beginning of the time until the UpdatedEndDate. |
UpdatedEndDate | Datetime | False | False | The end of the date range to download objects. If not specified, objects will be downloaded from the specified UpdatedStartDate until the present day. |
FileStream | String | False | True | An instance of an output stream where file data is written to. Only used if LocalFolderPath is not set. |
Name | Type | Description |
Status | String | Stored procedure execution status. |
Content | String | If the LocalFolderPath input is empty the file content will be outputted as base64. |
Uploads objects in a single operation.
Name | Type | Required | Accepts Input Streams | Description |
Bucket | String | True | False | Bucket name of the object location. |
FolderPath | String | False | False | The path to the folder that receives the data of the object. |
ChunkSize | Integer | False | False | The chunk size in MB for multi-part uploads. The value must be 5 MB or larger.
デフォルト値は15です。 |
LocalFilePath | String | False | False | The path to the file that is uploaded in the bucket. If this is a path to a folder, then all the files in the folder are uploaded in the bucket. |
Access | String | False | False | The access policy for this object.
使用できる値は次のとおりです。PRIVATE, ANONREAD, ANONREADWRITE, AUTHREAD デフォルト値はPRIVATEです。 |
ObjectInformationAggregate | String | False | False | An aggregate representing the object information. Can be in the form of XML, JSON or a #TEMP table. |
Content | String | False | True | The content as InputStream to be uploaded when LocalFilePath or FolderPath is not specified. |
FileName | String | False | False | FileName uploaded in Amazon S3. Required when FileContent is specified. |
Name | Type | Description |
Status | String | Stored procedure execution status. |
このセクションで説明されているシステムテーブルをクエリして、スキーマ情報、データソース機能に関する情報、およびバッチ操作の統計にアクセスできます。
以下のテーブルは、Amazon S3 のデータベースメタデータを返します。
以下のテーブルは、データソースへの接続方法およびクエリ方法についての情報を返します。
次のテーブルは、データ変更クエリのクエリ統計を返します。
利用可能なデータベースをリストします。
次のクエリは、接続文字列で決定されるすべてのデータベースを取得します。
SELECT * FROM sys_catalogs
Name | Type | Description |
CatalogName | String | データベース名。 |
利用可能なスキーマをリストします。
次のクエリは、すべての利用可能なスキーマを取得します。
SELECT * FROM sys_schemas
Name | Type | Description |
CatalogName | String | データベース名。 |
SchemaName | String | スキーマ名。 |
利用可能なテーブルをリストします。
次のクエリは、利用可能なテーブルおよびビューを取得します。
SELECT * FROM sys_tables
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベース。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | テーブル名またはビュー名。 |
TableType | String | テーブルの種類(テーブルまたはビュー)。 |
Description | String | テーブルまたはビューの説明。 |
IsUpdateable | Boolean | テーブルが更新可能かどうか。 |
利用可能なテーブルのカラムについて説明します。
次のクエリは、Buckets テーブルのカラムとデータ型を返します。
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Buckets'
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベースの名前。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | カラムを含むテーブルまたはビューの名前。 |
ColumnName | String | カラム名。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | カラムのストレージサイズ。 |
DisplaySize | Int32 | 指定されたカラムの通常の最大幅(文字数)。 |
NumericPrecision | Int32 | 数値データの最大桁数。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | カラムのスケール(小数点以下の桁数)。 |
IsNullable | Boolean | カラムがNull を含められるかどうか。 |
Description | String | カラムの簡単な説明。 |
Ordinal | Int32 | カラムのシーケンスナンバー。 |
IsAutoIncrement | String | カラムに固定増分値が割り当てられるかどうか。 |
IsGeneratedColumn | String | 生成されたカラムであるかどうか。 |
IsHidden | Boolean | カラムが非表示かどうか。 |
IsArray | Boolean | カラムが配列かどうか。 |
利用可能なストアドプロシージャをリストします。
次のクエリは、利用可能なストアドプロシージャを取得します。
SELECT * FROM sys_procedures
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベース。 |
SchemaName | String | ストアドプロシージャを含むスキーマ。 |
ProcedureName | String | ストアドプロシージャの名前。 |
Description | String | ストアドプロシージャの説明。 |
ProcedureType | String | PROCEDURE やFUNCTION などのプロシージャのタイプ。 |
ストアドプロシージャパラメータについて説明します。
次のクエリは、DownloadObjects ストアドプロシージャのすべての入力パラメータについての情報を返します。
SELECT * FROM sys_procedureparameters WHERE ProcedureName='DownloadObjects' AND Direction=1 OR Direction=2
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベースの名前。 |
SchemaName | String | ストアドプロシージャを含むスキーマの名前。 |
ProcedureName | String | パラメータを含むストアドプロシージャの名前。 |
ColumnName | String | ストアドプロシージャパラメータの名前。 |
Direction | Int32 | パラメータのタイプに対応する整数値:input (1)。input/output (2)、またはoutput(4)。input/output タイプパラメータは、入力パラメータと出力パラメータの両方になれます。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | 文字データの場合は、許可される文字数。数値データの場合は、許可される桁数。 |
NumericPrecision | Int32 | 数値データの場合は最大精度。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | 数値データの小数点以下の桁数。 |
IsNullable | Boolean | パラメータがNull を含められるかどうか。 |
IsRequired | Boolean | プロシージャの実行にパラメータが必要かどうか。 |
IsArray | Boolean | パラメータが配列かどうか。 |
Description | String | パラメータの説明。 |
Ordinal | Int32 | パラメータのインデックス。 |
主キーおよび外部キーについて説明します。
次のクエリは、Buckets テーブルの主キーを取得します。
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Buckets'
Name | Type | Description |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
IsKey | Boolean | カラムがTableName フィールドで参照されるテーブル内の主キーかどうか。 |
IsForeignKey | Boolean | カラムがTableName フィールドで参照される外部キーかどうか。 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
外部キーについて説明します。
次のクエリは、他のテーブルを参照するすべての外部キーを取得します。
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
名前 | タイプ | 説明 |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
ForeignKeyType | String | 外部キーがインポート(他のテーブルを指す)キーかエクスポート(他のテーブルから参照される)キーかを指定します。 |
利用可能なインデックスについて説明します。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。
次のクエリは、主キーでないすべてのインデックスを取得します。
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Name | Type | Description |
CatalogName | String | インデックスを含むデータベースの名前。 |
SchemaName | String | インデックスを含むスキーマの名前。 |
TableName | String | インデックスを含むテーブルの名前。 |
IndexName | String | インデックス名。 |
ColumnName | String | インデックスに関連付けられたカラムの名前。 |
IsUnique | Boolean | インデックスが固有の場合はTrue。そうでない場合はFalse。 |
IsPrimary | Boolean | インデックスが主キーの場合はTrue。そうでない場合はFalse。 |
Type | Int16 | インデックスタイプに対応する整数値:statistic (0)、clustered (1)、hashed (2)、またはother (3)。 |
SortOrder | String | 並べ替え順序:A が昇順、D が降順。 |
OrdinalPosition | Int16 | インデックスのカラムのシーケンスナンバー。 |
利用可能な接続プロパティと、接続文字列に設定されている接続プロパティに関する情報を返します。
このテーブルをクエリする際は、config 接続文字列を使用する必要があります。
jdbc:cdata:amazons3:config:
この接続文字列を使用すると、有効な接続がなくてもこのテーブルをクエリできます。
次のクエリは、接続文字列に設定されている、あるいはデフォルト値で設定されているすべての接続プロパティを取得します。
SELECT * FROM sys_connection_props WHERE Value <> ''
Name | Type | Description |
Name | String | 接続プロパティ名。 |
ShortDescription | String | 簡単な説明。 |
Type | String | 接続プロパティのデータ型。 |
Default | String | 明示的に設定されていない場合のデフォルト値。 |
Values | String | 可能な値のカンマ区切りリスト。別な値が指定されていると、検証エラーがスローされます。 |
Value | String | 設定した値またはあらかじめ設定されたデフォルト。 |
Required | Boolean | プロパティが接続に必要かどうか。 |
Category | String | 接続プロパティのカテゴリ。 |
IsSessionProperty | String | プロパティが、現在の接続に関する情報を保存するために使用されるセッションプロパティかどうか。 |
Sensitivity | String | プロパティの機密度。これは、プロパティがロギングおよび認証フォームで難読化されているかどうかを通知します。 |
PropertyName | String | キャメルケースの短縮形の接続プロパティ名。 |
Ordinal | Int32 | パラメータのインデックス。 |
CatOrdinal | Int32 | パラメータカテゴリのインデックス。 |
Hierarchy | String | このプロパティと一緒に設定する必要がある、関連のある依存プロパティを表示します。 |
Visible | Boolean | プロパティが接続UI に表示されるかどうかを通知します。 |
ETC | String | プロパティに関するその他のさまざまな情報。 |
Cloud がデータソースにオフロードできるSELECT クエリ処理について説明します。
SQL 構文の詳細については、SQL 準拠 を参照してください。
以下はSQL 機能のサンプルデータセットです。 次の結果セットは、Cloud がデータソースにオフロードできる、またはクライアントサイドで処理できるSELECT 機能を示します。データソースは追加のSQL 構文をサポートすることがあります。 SELECT 機能のいくつかの側面がサポートされている場合には、カンマ区切りのリストで返されます。サポートされていない場合、カラムにはNO が入ります。
名前 | 説明 | 有効な値 |
AGGREGATE_FUNCTIONS | サポートされている集計関数。 | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
COUNT | COUNT 関数がサポートされているかどうか。 | YES, NO |
IDENTIFIER_QUOTE_OPEN_CHAR | 識別子をエスケープするための開始文字。 | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | 識別子をエスケープするための終了文字。 | ] |
SUPPORTED_OPERATORS | サポートされているSQL 演算子。 | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
GROUP_BY | GROUP BY がサポートされているかどうか。サポートされている場合、どのレベルでサポートされているか。 | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
OJ_CAPABILITIES | サポートされている外部結合の種類。 | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
OUTER_JOINS | 外部結合がサポートされているかどうか。 | YES, NO |
SUBQUERIES | サブクエリがサポートされているかどうか。サポートされていれば、どのレベルでサポートされているか。 | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
STRING_FUNCTIONS | サポートされている文字列関数。 | LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE |
NUMERIC_FUNCTIONS | サポートされている数値関数。 | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE |
TIMEDATE_FUNCTIONS | サポートされている日付および時刻関数。 | NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT |
REPLICATION_SKIP_TABLES | レプリケーション中にスキップされたテーブルを示します。 | |
REPLICATION_TIMECHECK_COLUMNS | レプリケーション中に更新判断のカラムとして使用するかどうかを、(指定された順に)チェックするカラムのリストを含む文字列の配列。 | |
IDENTIFIER_PATTERN | 識別子としてどの文字列が有効かを示す文字列値。 | |
SUPPORT_TRANSACTION | プロバイダーが、コミットやロールバックなどのトランザクションをサポートしているかどうかを示します。 | YES, NO |
DIALECT | 使用するSQL ダイアレクトを示します。 | |
KEY_PROPERTIES | Uniform データベースを特定するプロパティを示します。 | |
SUPPORTS_MULTIPLE_SCHEMAS | プロバイダー用に複数のスキームが存在するかどうかを示します。 | YES, NO |
SUPPORTS_MULTIPLE_CATALOGS | プロバイダー用に複数のカタログが存在するかどうかを示します。 | YES, NO |
DATASYNCVERSION | このドライバーにアクセスするために必要な、CData Sync のバージョン。 | Standard, Starter, Professional, Enterprise |
DATASYNCCATEGORY | このドライバーのCData Sync カテゴリ。 | Source, Destination, Cloud Destination |
SUPPORTSENHANCEDSQL | API で提供されている以上の、追加SQL 機能がサポートされているかどうか。 | TRUE, FALSE |
SUPPORTS_BATCH_OPERATIONS | バッチ操作がサポートされているかどうか。 | YES, NO |
SQL_CAP | このドライバーでサポートされているすべてのSQL 機能。 | SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX |
PREFERRED_CACHE_OPTIONS | 使用したいcacheOptions を指定する文字列値。 | |
ENABLE_EF_ADVANCED_QUERY | ドライバーがEntity Framework の高度なクエリをサポートしているかどうかを示します。サポートしていなければ、クエリはクライアントサイドで処理されます。 | YES, NO |
PSEUDO_COLUMNS | 利用可能な疑似カラムを示す文字列の配列。 | |
MERGE_ALWAYS | 値がtrue であれば、CData Sync 内でMerge Model が強制的に実行されます。 | TRUE, FALSE |
REPLICATION_MIN_DATE_QUERY | レプリケート開始日時を返すSELECT クエリ。 | |
REPLICATION_MIN_FUNCTION | サーバーサイドでmin を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
REPLICATION_START_DATE | レプリケート開始日を、プロバイダーが指定できるようになります。 | |
REPLICATION_MAX_DATE_QUERY | レプリケート終了日時を返すSELECT クエリ。 | |
REPLICATION_MAX_FUNCTION | サーバーサイドでmax を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | 初回のレプリケートで、レプリケートをチャンクに分割しないテーブルのリスト。 | |
CHECKCACHE_USE_PARENTID | CheckCache 構文を親キーカラムに対して実行するかどうかを示します。 | TRUE, FALSE |
CREATE_SCHEMA_PROCEDURES | スキーマファイルの生成に使用できる、ストアドプロシージャを示します。 |
次のクエリは、WHERE 句で使用できる演算子を取得します。
SELECT * FROM sys_sqlinfo WHERE Name='SUPPORTED_OPERATORS'
WHERE 句では、個々のテーブルの制限や要件が異なる場合がありますので注意してください。詳しくは、データモデル セクションを参照してください。
Name | Type | Description |
NAME | String | SQL 構文のコンポーネント、またはサーバー上で処理できる機能。 |
VALUE | String | サポートされるSQL またはSQL 構文の詳細。 |
試行された変更に関する情報を返します。
次のクエリは、バッチ処理で変更された行のId を取得します。
SELECT * FROM sys_identity
Name | Type | Description |
Id | String | データ変更処理から返された、データベース生成Id。 |
Batch | String | バッチの識別子。1 は単一処理。 |
Operation | String | バッチ内の処理の結果:INSERTED、UPDATED、またはDELETED。 |
Message | String | SUCCESS、またはバッチ内の更新が失敗した場合のエラーメッセージ。 |
プロパティ | 説明 |
CustomURL | The custom URL to the S3 based service. Specify this URL if the S3 based service has a different URL from the 'amazonaws.com'. Make sure to specify the full URL. For example: CustomURL=http://127.0.0.1:9000. Please note that in a custom S3 based service, views other than Buckets and Objects might not be supported to work with or might need to be configured on the custom service itself. |
SimpleUploadLimit | この設定はしきい値をバイト単位で設定します。このしきい値を超えると、provider は1つのリクエストですべてをアップロードするのではなく、マルチパートでアップロードを実行します。 |
UseVirtualHosting | True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://bucket-name.host/yourobjectFalse に設定した場合、Bean はパス形式のリクエストを使用します:http://host/bucket-name/yourobject。 |
プロパティ | 説明 |
AuthScheme | 認証で使用されるスキーム。許容されるエンティティは:Auto、、AwsRootKeys 、AwsIAMRoles 、AwsEC2Roles 、AwsMFA 、ADFS、Okta、PingFederate 、AwsCredentialsFile 、AwsCognitoBasic 、AwsCognitoSrpです。 |
AWSAccessKey | AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSSecretKey | AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSRoleARN | 認証時に使用するロールのAmazon リソースネーム。 |
AWSPrincipalARN | AWS アカウントのSAML ID プロバイダーのARN。 |
AWSRegion | Amazon Web サービスのホスティングリージョン。 |
AWSSessionToken | AWS のセッショントークン。 |
AWSExternalId | A unique identifier that might be required when you assume a role in another account. |
MFASerialNumber | MFA デバイスが使用されている場合は、そのシリアル番号。 |
MFAToken | MFA デバイスから利用できる一時トークン。 |
TemporaryTokenDuration | 一時トークンが持続する時間(秒単位)。 |
AWSCognitoRegion | AWS Cognito のホスティングリージョン。 |
AWSUserPoolId | ユーザープールのID。 |
AWSUserPoolClientAppId | ユーザープールのアプリクライアントID。 |
AWSUserPoolClientAppSecret | ユーザープールのアプリクライアントシークレット。(オプション) |
AWSIdentityPoolId | ID プールのID。 |
ServerSideEncryption | 有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。 |
プロパティ | 説明 |
User | SSO 経由でIDP の認証に使用するIDP ユーザー。 |
Password | SSO 経由でIDP ユーザーの認証に使用するパスワード。 |
SSOLoginURL | ID プロバイダーのログインURL。 |
SSOProperties | セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。 |
SSOExchangeUrl | SAML 応答を処理して、Amazon S3 の資格情報と交換するために使用するURL。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
Logfile | ログファイルの名前と場所を指定するファイルパス。 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
LogModules | ログファイルに含めるコアモジュール。 |
MaxLogFileSize | ログファイルの最大バイトサイズ(例えば、10MB)を指定する文字列。 |
MaxLogFileCount | ログファイルの最大ファイル数を指定する文字列。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
プロパティ | 説明 |
AutoCache | SELECT クエリの結果を、 CacheLocation 、または CacheConnection と CacheProvider の両方で指定されたキャッシュデータベースに自動的にキャッシュします。 |
CacheLocation | キャッシュデータベースへのパスとファイル名を指定します。 |
CacheTolerance | AutoCache 使用時のキャッシュ内の失効データに対する許容範囲の秒数。 |
Offline | オフラインモードを使用して、ライブソースではなくキャッシュからデータを取得します。 |
CacheMetadata | このプロパティは、テーブルメタデータをファイルストアにキャッシュするかどうかを決定します。 |
プロパティ | 説明 |
CreateFoldersOnDownload | Automatically create the destination folder during execution of DownloadObjects Stored Procedure. |
EncodeFilename | Determines if the local file path in DownloadObjects Stored Procedure should be encoded. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
MaxThreads | 同時リクエスト数を指定します。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
RTK | ライセンス供与で使用されるランタイムキー。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
このセクションでは、本プロバイダーの接続文字列で設定可能なConnection プロパティの全リストを提供します。
プロパティ | 説明 |
CustomURL | The custom URL to the S3 based service. Specify this URL if the S3 based service has a different URL from the 'amazonaws.com'. Make sure to specify the full URL. For example: CustomURL=http://127.0.0.1:9000. Please note that in a custom S3 based service, views other than Buckets and Objects might not be supported to work with or might need to be configured on the custom service itself. |
SimpleUploadLimit | この設定はしきい値をバイト単位で設定します。このしきい値を超えると、provider は1つのリクエストですべてをアップロードするのではなく、マルチパートでアップロードを実行します。 |
UseVirtualHosting | True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://bucket-name.host/yourobjectFalse に設定した場合、Bean はパス形式のリクエストを使用します:http://host/bucket-name/yourobject。 |
The custom URL to the S3 based service. Specify this URL if the S3 based service has a different URL from the 'amazonaws.com'. Make sure to specify the full URL. For example: CustomURL=http://127.0.0.1:9000. Please note that in a custom S3 based service, views other than Buckets and Objects might not be supported to work with or might need to be configured on the custom service itself.
string
""
The custom URL to the S3 based service. Specify this URL if the S3 based service has a different URL from the 'amazonaws.com'. Make sure to specify the full URL. For example: CustomURL=http://127.0.0.1:9000. Please note that in a custom S3 based service, views other than Buckets and Objects might not be supported to work with or might need to be configured on the custom service itself.
この設定はしきい値をバイト単位で設定します。このしきい値を超えると、provider は1つのリクエストですべてをアップロードするのではなく、マルチパートでアップロードを実行します。
string
""
この設定はしきい値をバイト単位で設定します。このしきい値を超えると、Cloud は1つのリクエストですべてをアップロードするのではなく、マルチパートでアップロードを実行します。
True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://bucket-name.host/yourobjectFalse に設定した場合、Bean はパス形式のリクエストを使用します:http://host/bucket-name/yourobject。
bool
true
True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://bucket-name.host/yourobjectFalse に設定した場合、Bean はパス形式のリクエストを使用します:http://host/bucket-name/yourobject。
このセクションでは、本プロバイダーの接続文字列で設定可能なAWS Authentication プロパティの全リストを提供します。
プロパティ | 説明 |
AuthScheme | 認証で使用されるスキーム。許容されるエンティティは:Auto、、AwsRootKeys 、AwsIAMRoles 、AwsEC2Roles 、AwsMFA 、ADFS、Okta、PingFederate 、AwsCredentialsFile 、AwsCognitoBasic 、AwsCognitoSrpです。 |
AWSAccessKey | AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSSecretKey | AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSRoleARN | 認証時に使用するロールのAmazon リソースネーム。 |
AWSPrincipalARN | AWS アカウントのSAML ID プロバイダーのARN。 |
AWSRegion | Amazon Web サービスのホスティングリージョン。 |
AWSSessionToken | AWS のセッショントークン。 |
AWSExternalId | A unique identifier that might be required when you assume a role in another account. |
MFASerialNumber | MFA デバイスが使用されている場合は、そのシリアル番号。 |
MFAToken | MFA デバイスから利用できる一時トークン。 |
TemporaryTokenDuration | 一時トークンが持続する時間(秒単位)。 |
AWSCognitoRegion | AWS Cognito のホスティングリージョン。 |
AWSUserPoolId | ユーザープールのID。 |
AWSUserPoolClientAppId | ユーザープールのアプリクライアントID。 |
AWSUserPoolClientAppSecret | ユーザープールのアプリクライアントシークレット。(オプション) |
AWSIdentityPoolId | ID プールのID。 |
ServerSideEncryption | 有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。 |
認証で使用されるスキーム。許容されるエンティティは:Auto、、AwsRootKeys 、AwsIAMRoles 、AwsEC2Roles 、AwsMFA 、ADFS、Okta、PingFederate 、AwsCredentialsFile 、AwsCognitoBasic 、AwsCognitoSrpです。
string
"Auto"
次のオプションを使って、認証スキームを選択してください。
AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
string
""
AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
string
""
AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
認証時に使用するロールのAmazon リソースネーム。
string
""
AWS の外部で認証する場合は、AWS アカウント認証情報ではなく、ロールを認証に使用するのが 一般的です。AWSRoleARN を入力すると、CData Cloud はAWSAccessKey とAWSSecretKey を直接 使用する代わりに、ロールベースの認証を実行します。この認証を実行するためには、AWSAccessKey と AWSSecretKey を指定する必要があります。RoleARN を設定するときは、AWS ルートユーザーの 認証情報を使用できません。AWSAccessKey およびAWSSecretKey はIAM ユーザーのものである必要があります。
AWS アカウントのSAML ID プロバイダーのARN。
string
""
AWS アカウントのSAML ID プロバイダーのARN。
Amazon Web サービスのホスティングリージョン。
string
"NORTHERNVIRGINIA"
Amazon Web サービスのホスティングリージョン。利用可能な値はOHIO、NORTHERNVIRGINIA、NORTHERNCALIFORNIA、OREGON、CAPETOWN、HONGKONG、MUMBAI、OSAKA、SEOUL、SINGAPORE、SYDNEY、TOKYO、CENTRAL、BEIJING、NINGXIA、FRANKFURT、IRELAND、LONDON、MILAN、PARIS、STOCKHOLM、BAHRAIN、SAOPAULO、GOVCLOUDEAST、GOVCLOUDWEST です。
AWS のセッショントークン。
string
""
AWS のセッショントークン。この値はさまざまな方法で取得できます。詳しくは、this link を参照してください。
A unique identifier that might be required when you assume a role in another account.
string
""
A unique identifier that might be required when you assume a role in another account.
MFA デバイスが使用されている場合は、そのシリアル番号。
string
""
AWS マネジメントコンソールにアクセスしてユーザーのセキュリティ認証情報を表示することで、IAM ユーザーのデバイスを見つけることができます。 仮想デバイスの場合、これは実際にはAmazon リソースネームです( arn:aws:iam::123456789012:mfa/user など)。
MFA デバイスから利用できる一時トークン。
string
""
MFA が必要な場合、この値はログインのためのテンポラリクレデンシャルを取得するためにMFASerialNumber とともに使用されます。 AWS から入手可能な一時的な認証情報はデフォルトで最長1時間しか持続しません(TemporaryTokenDuration を参照してください)。時間が経過したら、新しい認証情報を取得できるように、接続を 更新して新しいMFA トークンを指定する必要があります。
一時トークンが持続する時間(秒単位)。
string
"3600"
一時トークンは、MFA 認証とロールベース認証の両方で使用されます。一時トークンは、やがてタイムアウトします。 そのときには、新しい一時トークンを取得する必要があります。MFA が使用されていない状況では、これは大したこと ではありません。一時トークンが期限切れになると、CData Cloud は内部的に新しい一時トークンをリクエストします。
ただし、MFA が必要な接続の場合は、新しい一時トークンを取得するために新しいMFAToken を接続で指定 する必要があります。これは、ユーザーによる接続の更新が必要になるため、より煩わしい問題です。指定できる 最大値と最小値は、使用されている接続によって大きく異なります。
ロールベース認証の場合は、最小期間は900秒(15分)で、最大期間は3600秒(1時間)です。 ロールベース認証でMFA が使用されている場合でも、3600秒が依然として最大です。
MFA 認証自体では(IAM ユーザーまたはルートユーザーを使用)、最小値は900秒(15分)、 最大値は129600(36時間)です。
AWS Cognito のホスティングリージョン。
string
"NORTHERNVIRGINIA"
AWS Cognito のホスティングリージョン。利用可能な値は次のとおりです。OHIO, NORTHERNVIRGINIA, NORTHERNCALIFORNIA, OREGON, CAPETOWN, HONGKONG, MUMBAI, OSAKA, SEOUL, SINGAPORE, SYDNEY, TOKYO, CENTRAL, BEIJING, NINGXIA, FRANKFURT, IRELAND, LONDON, MILAN, PARIS, STOCKHOLM, BAHRAIN, SAOPAULO, GOVCLOUDEAST, GOVCLOUDWEST
ユーザープールのID。
string
""
[AWS Cognito]->[Manage User Pools(ユーザープールの管理)]->[select your user pool(ユーザープールを選択)]->[General settings(全般設定)]->[Pool ID(プールのID)]で確認できます。
ユーザープールのアプリクライアントID。
string
""
[AWS Cognito]->[Manage Identity Pools(ID プールの管理)]->[select your user pool(ユーザープールを選択)]->[General settings(全般設定)]->[App clients(アプリクライアント)]->[App client ID(アプリクライアントID)]で確認できます。
ユーザープールのアプリクライアントシークレット。(オプション)
string
""
[AWS Cognito]->[Manage Identity Pools(ID プールの管理)]->[select your user pool(ユーザープールを選択)]->[General settings(全般設定)]->[App clients(アプリクライアント)]->[App client secret(アプリクライアントシークレット)]で確認できます。
ID プールのID。
string
""
[AWS Cognito]->[Manage Identity Pools(ID プールの管理)]->[select your identity pool(ID プールを選択)]->[Edit identity pool(ID プールの編集)]->[Identity Pool(ID プール)]で確認できます。
有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。
string
"OFF"
サーバー側の暗号化とは、データを受信するアプリケーションまたはサービスによって、送信先でデータを暗号化することです。Amazon S3は、データセンターのディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、ユーザーがデータにアクセスするときに復号します。詳しくは、こちらを参照してください。https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/serv-side-encryption.html
このセクションでは、本プロバイダーの接続文字列で設定可能なSSO プロパティの全リストを提供します。
プロパティ | 説明 |
User | SSO 経由でIDP の認証に使用するIDP ユーザー。 |
Password | SSO 経由でIDP ユーザーの認証に使用するパスワード。 |
SSOLoginURL | ID プロバイダーのログインURL。 |
SSOProperties | セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。 |
SSOExchangeUrl | SAML 応答を処理して、Amazon S3 の資格情報と交換するために使用するURL。 |
SSO 経由でIDP の認証に使用するIDP ユーザー。
string
""
このフィールドは、Password とともに、SSO 接続でAmazon S3 サーバーに対して認証をするために使われます。
SSO 経由でIDP ユーザーの認証に使用するパスワード。
string
""
User およびPassword をSSO 接続で一緒に使用してサーバーで認証を行います。
ID プロバイダーのログインURL。
string
""
ID プロバイダーのログインURL。
セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。
string
""
セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。SSOProperties はAWSRoleARN およびAWSPrincipalARN と一緒に使用します。次のセクションでは、OKTA ID プロバイダーの利用サンプルを示します。
AuthScheme をADFS に設定します。次の接続プロパティを設定する必要があります。
AuthScheme=ADFS; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://adfs.domain.com'; AWSRoleArn=arn:aws:iam::1234:role/ADFS_SSO; AWSPrincipalArn=arn:aws:iam::1234:saml-provider/ADFSProvider;
ADFS 統合
To use the ADFS Integrated flow, specify the SSOLoginURL and leave the username and password empty.
AuthScheme をOkta に設定します。Okta を介した認証には、次の接続プロパティを使用します。
接続文字列の例:
AuthScheme=Okta; AWSRegion=Ireland; User=user@cdata.com; Password=CH8WerW121235647iCa6; SSOLoginURL='https://cdata-us.okta.com/home/amazon_aws/0oa35m8arsAL5f5NrE6NdA356/272'; SSOProperties='ApiToken=01230GGG2ceAnm_tPAf4MhiMELXZ0L0N1pAYrO1VR-hGQSf;'; AWSRoleArn=arn:aws:iam::1234:role/Okta_SSO; AWSPrincipalARN=arn:aws:iam::1234:saml-provider/OktaProvider;
SAML 応答を処理して、Amazon S3 の資格情報と交換するために使用するURL。
string
""
CData Cloud はここで指定されたURL を使用してSAML 応答を処理し、Amazon S3 の資格情報を取得します。 取得した資格情報はSSO 接続時の最後の情報であり、Amazon S3 との通信に使用されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
string
""
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
説明 | 例 |
フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
string
"NONE"
このプロパティは、Cloud がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Cloud はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Cloud はAmazon S3 への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Cloud はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Cloud はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
string
""
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Cloud はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
int
0
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
string
""
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
string
""
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
bool
true
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
string
""
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Cloud はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Cloud はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
int
80
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
string
"BASIC"
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Cloud は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
string
""
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
string
""
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Cloud はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
string
"AUTO"
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Cloud は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
string
""
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Cloud は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
プロパティ | 説明 |
Logfile | ログファイルの名前と場所を指定するファイルパス。 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
LogModules | ログファイルに含めるコアモジュール。 |
MaxLogFileSize | ログファイルの最大バイトサイズ(例えば、10MB)を指定する文字列。 |
MaxLogFileCount | ログファイルの最大ファイル数を指定する文字列。 |
ログファイルの名前と場所を指定するファイルパス。
string
""
このプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、Cloud がログファイルを生成します。指定したファイルが存在しない場合は作成されます。
接続文字列およびバージョン情報も記録されますが、機密情報を含む接続プロパティは自動的にマスクされます。
相対ファイルパスが指定された場合、ログファイルの場所は、Location 接続プロパティにあるパスに基づいて解決されます。
ログファイルに記録される内容をより細かく制御するには、Verbosity プロパティを調整してください。
ログ内容はいくつかのモジュールに分類されます。LogModules プロパティを使うことで、個々のモジュールを表示または非表示にすることができます。
新しいログファイルの作成前にログファイル1つの最大サイズを変更する方法については、MaxLogFileSize を参照してください。
生成されるログファイル数に上限を設定したい場合は、MaxLogFileCount を使用してください。
ログファイルに含めるコアモジュール。
string
""
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
ログファイルの最大バイトサイズ(例えば、10MB)を指定する文字列。
string
"100MB"
サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成されます。リミットのデフォルトは100 MB です。100 kB より小さい値を設定した場合、100 kB がリミットとなります。
生成されるログファイルの最大数は、MaxLogFileCount で調整できます。
ログファイルの最大ファイル数を指定する文字列。
int
-1
サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成され、最も古いログファイルが削除されます。
サポートされている最小値は2です。0や負の値は、数に制限がないことを示します。
生成されるログファイルの最大サイズは、MaxLogFileSize で調整できます。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
string
"%APPDATA%\\CData\\AmazonS3 Data Provider\\Schema"
Cloud のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\AmazonS3 Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
string
""
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
string
""
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Cloud のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
string
""
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Cloud のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なCaching プロパティの全リストを提供します。
プロパティ | 説明 |
AutoCache | SELECT クエリの結果を、 CacheLocation 、または CacheConnection と CacheProvider の両方で指定されたキャッシュデータベースに自動的にキャッシュします。 |
CacheLocation | キャッシュデータベースへのパスとファイル名を指定します。 |
CacheTolerance | AutoCache 使用時のキャッシュ内の失効データに対する許容範囲の秒数。 |
Offline | オフラインモードを使用して、ライブソースではなくキャッシュからデータを取得します。 |
CacheMetadata | このプロパティは、テーブルメタデータをファイルストアにキャッシュするかどうかを決定します。 |
SELECT クエリの結果を、 CacheLocation 、または CacheConnection と CacheProvider の両方で指定されたキャッシュデータベースに自動的にキャッシュします。
bool
false
AutoCache がtrue に設定されていると、Cloud はテーブルデータのキャッシュを選択したデータベースに自動的に保存します。
AutoCache がtrue の場合、Cloud はシンプルなファイルベースストアにキャッシュします。次のプロパティを使って、場所またはキャッシュを別のデータベースに構成できます。
キャッシュデータベースへのパスとファイル名を指定します。
string
"%APPDATA%\\CData\\AmazonS3 Data Provider"
CacheLocation は単純なファイルベースキャッシュです。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\AmazonS3 Data Provider" となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:
AutoCache 使用時のキャッシュ内の失効データに対する許容範囲の秒数。
int
600
キャッシュ内の失効データに対する許容範囲の秒数。これは、AutoCache が使用されている場合のみ有効です。Cloud は、許容インターバルが過ぎると、新しいレコードがないかデータソースをチェックしに行きます。それ以外は、キャッシュから直接データを返します。
オフラインモードを使用して、ライブソースではなくキャッシュからデータを取得します。
bool
false
Offline がtrue に設定されている場合、すべてのクエリは、ライブデータソースではなくキャッシュに対して実行されます。このモードでは、INSERT、UPDATE、DELETE、CACHE などのクエリは許可されません。
このプロパティは、テーブルメタデータをファイルストアにキャッシュするかどうかを決定します。
bool
false
このプロパティを設定してクエリを実行すると、Amazon S3 カタログのテーブルメタデータが設定されている場合にはCacheLocation で指定されたファイルストアに、設定されていない場合にはホームディレクトリにキャッシュされます。テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。
Cloud は、はじめてテーブルやビューを発見したときから2時間の間、メタデータをインメモリに自動的に保管します。そのため、CacheMetadata は一般的には必要ありません。CacheMetadata は、大量のメタデータを扱う場合でメタデータオペレーションのコストが高い場合や、短い接続を大量に行う場合などに役立ちます。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
CreateFoldersOnDownload | Automatically create the destination folder during execution of DownloadObjects Stored Procedure. |
EncodeFilename | Determines if the local file path in DownloadObjects Stored Procedure should be encoded. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
MaxThreads | 同時リクエスト数を指定します。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
RTK | ライセンス供与で使用されるランタイムキー。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
Automatically create the destination folder during execution of DownloadObjects Stored Procedure.
bool
false
This connection property will work only if EncodeFilename is set to false. If CreateFoldersOnDownload is set to true it will automatically create the folder in which the file is going to be downloaded.
Determines if the local file path in DownloadObjects Stored Procedure should be encoded.
bool
true
Determines if the local file path in DownloadObjects Stored Procedure should be encoded. Ex.
In the following query:
EXECUTE DownloadObjects
Object='SBatch100k_ORDERS_cdata_replicate_temporary_table/20201106023735184_0.csv',
Bucket='actiantest',
LocalFolderPath='C:\Users\User\Desktop\amazons3test'
The final destination of the file will be C:/Users/User/Desktop/amazons3test/SBatch100k_ORDERS_cdata_replicate_temporary_table%2F20201106023735184_0.csv if EncodeFilename=true
and C:/Users/User/Desktop/amazons3test/SBatch100k_ORDERS_cdata_replicate_temporary_table/20201106023735184_0.csv if EncodeFilename=false.
In addition you can use CreateFoldersOnDownload connection property if and only if EncodeFilename=false. If CreateFoldersOnDownload is set to true
it will automatically create the folder in which the file is going to be downloaded.
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
int
-1
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
同時リクエスト数を指定します。
string
"5"
このプロパティを使用すると、複数のリクエストを同時に発行することができパフォーマンスが向上します。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
string
""
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
string
""
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
ライセンス供与で使用されるランタイムキー。
string
""
RTK プロパティは、ビルドにライセンスを供与するために使用されます。
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
int
60
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Cloud は例外をスローします。
A filepath pointing to the JSON configuration file containing your custom views.
string
""
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Cloud automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Cloud.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM Buckets WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"