GetObject リクエストの送信時に、OSS が自動的に Function Compute をトリガーして変換後のデータをアプリケーションに返すには、オブジェクト FC アクセスポイントを使用する必要があります。オブジェクト FC アクセスポイントを使用すると、クライアントアプリケーションを変更することなく、オブジェクトストレージのセマンティクスを維持したままオブジェクトの内容をシームレスに変更またはフィルタリングできます。このトピックでは、オブジェクト FC アクセスポイントの作成方法を説明します。
前提条件
-
バケットは、次のいずれかのリージョンにある必要があります:China (Hangzhou)、China (Shanghai)、China (Qingdao)、China (Beijing)、China (Zhangjiakou)、China (Hohhot)、China (Shenzhen)、China (Chengdu)、China (Hong Kong)、US (Silicon Valley)、US (Virginia)、Japan (Tokyo)、South Korea (Seoul)、Singapore、Malaysia (Kuala Lumpur)、Indonesia (Jakarta)、Germany (Frankfurt)、または UK (London)。
-
バケットが存在するリージョンで、アクセスポイントが作成済みであること。詳細については、「TEST3_H1 has value_Title is empty」をご参照ください。
-
バケットのリージョンで、Function Compute サービスが作成済みであること。詳細については、「Create a service」をご参照ください。
-
サービスのデフォルト RAM ロール (AliyunFCDefaultRole) に
oss:WriteGetObjectResponse権限を付与します。次に許可ポリシーの例を示します:{ "Statement": [ { "Action": "oss:WriteGetObjectResponse", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }詳細については、「Manage permissions for a RAM role」をご参照ください。
-
Function Compute で関数が作成済みであること。
Java、Python、または Go の SDK を使用して GetObject API を呼び出すことで、Function Compute をトリガーできます。これらの SDK を使用して関数コードをデプロイする場合は、サポートされているランタイムを使用する関数を作成する必要があります。
-
Java SDK を使用して関数コードをデプロイする場合は、[ランタイム環境] を Java 11 に設定して関数を作成します。
-
Python SDK を使用して関数コードをデプロイする場合は、[ランタイム環境] を Python 3.10 に設定して関数を作成します。
-
Go SDK を使用して関数コードをデプロイする場合は、[ランタイム環境] を Go 1 に設定して関数を作成します。
その他のパラメータはデフォルト設定のままにします。詳細については、「Create a function」をご参照ください。
-
-
RAM ユーザーには、次の権限が必要です:
oss:CreateAccessPointForObjectProcess、oss:GetAccessPointForObjectProcess、oss:DeleteAccessPointForObjectProcess、oss:ListAccessPointsForObjectProcess、oss:PutAccessPointConfigForObjectProcess、oss:GetAccessPointConfigForObjectProcess、oss:PutAccessPointPolicyForObjectProcess、oss:GetAccessPointPolicyForObjectProcess、およびoss:DeleteAccessPointPolicyForObjectProcess。詳細については、「Common examples of RAM policies」をご参照ください。
制限事項
|
項目 |
説明 |
|
作成方法 |
オブジェクト FC アクセスポイントは、OSS コンソールまたは API 呼び出しによってのみ作成できます。SDK、ossutil、または同様のツールを使用してオブジェクト FC アクセスポイントを作成することはできません。 |
|
数量 |
|
|
変更ルール |
オブジェクト FC アクセスポイントの作成後に変更できるのは、アクセスポイントポリシーのみです。アクセスポイント名やオブジェクト FC アクセスポイントのエイリアスなどの基本情報は変更できません。 |
|
アクセス方法 |
匿名アクセスはサポートされていません。 |
OSS コンソール
OSSコンソールにログインします。
-
左側のナビゲーションペインで、オブジェクト FC アクセスポイントリスト をクリックします。
-
オブジェクト FC アクセスポイントリスト ページで、オブジェクト FC アクセスポイントの作成 をクリックします。
-
オブジェクト FC アクセスポイントの作成 ダイアログボックスで、次のパラメータを設定してから OK をクリックします:
パラメータ
説明
[リージョン]
関連付けられたアクセスポイントが存在するリージョンを選択します。
[オブジェクト FC アクセスポイント名]
オブジェクト FC アクセスポイントの名前を入力します。名前は次の要件を満たす必要があります:
-
名前の長さは最大 63 文字です。
-
名前には、小文字、数字、ハイフン (
-) のみを含めることができます。先頭または末尾にハイフンを使用することはできません。 -
名前は現在のリージョン内で一意である必要があります。
[サポートするアクセスポイント]
既存のアクセスポイントを選択します。
[バケット名]
アクセスポイントに関連付けられたバケットの名前が表示されます。
OSS API
[GetObject] を選択します。
[FC 関数の呼び出し]
既存の関数を選択し、[範囲 GetObject リクエストをサポート] を選択します。
[FC 関数バージョン]
関数のバージョンを選択します。このパラメータを空のままにすると、システムは LATEST バージョンを使用します。
-
-
ロールを承認します。
オブジェクト FC アクセスポイントを初めて作成する場合は、RAM Quick Authorization をクリックし、画面の指示に従って
AliyunOSSObjectFcForOSSDefaultRoleRAM ロールを承認します。OSS サービスアカウントが Function Compute を呼び出せるように、この RAM ロールまたはその許可ポリシーを無効化、変更、または削除しないでください。 -
完了 をクリックします。
-
オブジェクト FC アクセスポイントの作成には約 10 分かかります。
-
オブジェクト FC アクセスポイントの作成後、オブジェクト FC アクセスポイントリスト ページに、OSS によって自動的に作成されたオブジェクト FC アクセスポイントのエイリアスが表示されます。
-
オブジェクト FC アクセスポイントのエイリアスは変更、削除、または無効化できません。
-
Function Compute がトリガーされるのは、オブジェクト FC アクセスポイントのエイリアスを使用して GetObject API を呼び出した場合のみです。エイリアスを使用するその他の API 呼び出しについては、OSS がリクエストを基盤となるアクセスポイントに自動的にルーティングし、基盤となるアクセスポイントがそのアクセスポイントポリシーを適用します。
REST API
アプリケーションに大幅なカスタマイズが必要な場合は、REST API を直接呼び出すことができます。これを行うには、署名を手動で計算するコードを記述する必要があります。詳細については、「CreateAccessPointForObjectProcess」をご参照ください。