アカウント認証に加えて、MaxComputeでRAMユーザーのAccessKeyペアを使用してTablestoreデータにアクセスできます。
前提条件
以下の操作はResource Access Management (RAM)コンソールで実行されます。
RAMユーザーが作成され、Tablestoreを管理するための権限がRAMユーザーに付与されます。
警告Alibaba CloudアカウントのAccessKeyペアが漏洩した場合、リソースが潜在的なリスクにさらされます。操作を実行するには、RAMユーザーのAccessKeyペアを使用することをお勧めします。これにより、Alibaba CloudアカウントのAccessKeyペアの漏洩を防ぎます。
RAMユーザーには、少なくとも以下のポリシーで指定されている権限が付与されている必要があります。
{ "Version": "1", "Statement": [ { "Action": [ "ots:ListTable", "ots:DescribeTable", "ots:GetRow", "ots:PutRow", "ots:UpdateRow", "ots:DeleteRow", "ots:GetRange", "ots:BatchGetRow", "ots:BatchWriteRow", "ots:ComputeSplitPointsBySize" ], "Resource": "*", "Effect": "Allow" } ] } --他の権限も指定できます。RAMユーザーのAccessKeyペアが作成されます。詳細については、AccessKeyペアの作成を参照してください。
RAMユーザーのAccessKeyペアを使用してMaxComputeからTablestoreにアクセスできるようにする
アカウント認証とは異なり、外部テーブルを作成するときにLOCATION句でAccessKeyペア情報を指定する必要があります。
LOCATION 'tablestore://${AccessKeyId}:${AccessKeySecret}@${InstanceName}.${Region}.ots-internal.aliyuncs.com' 次の表に、この例でTablestoreリソースにアクセスするために必要な情報を示します。
AccessKeyId | AccessKeySecret | インスタンス名 | リージョン | ネットワークタイプ |
abcd | 1234 | cap1 | cn-hangzhou | 内部ネットワーク経由でのアクセス |
次のステートメントを実行して、外部テーブルを作成できます。
CREATE EXTERNAL TABLE ads_log_ots_pt_external
(
vid bigint,
gt bigint,
longitude double,
latitude double,
distance double ,
speed double,
oil_consumption double
)
STORED BY 'com.aliyun.odps.TableStoreStorageHandler'
WITH SERDEPROPERTIES (
'tablestore.columns.mapping'=':vid, :gt, longitude, latitude, distance, speed, oil_consumption',
'tablestore.table.name'='vehicle_track'
)
LOCATION 'tablestore://abcd:1234@cap1.cn-hangzhou.ots-internal.aliyuncs.com'データへのアクセス方法については、MaxComputeを使用してTablestoreにアクセスするのステップ3:外部テーブルを使用してTablestoreデータにアクセスするを参照してください。