GetObject リクエストを開始したときに Object Storage Service (OSS) が Function Compute を自動的にトリガーし、取得したデータの変換結果をアプリケーションに返すようにするには、Object FC アクセスポイントを使用してリクエストを開始する必要があります。これにより、クライアントを変更することなく、オブジェクトのコンテンツをシームレスに変更またはフィルターできます。このトピックでは、Object FC アクセスポイントの作成方法について説明します。
前提条件
アクセスポイントを関連付けるバケットが、次のいずれかのリージョンにあること: 中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (深圳)、中国 (成都)、中国 (香港)、米国 (シリコンバレー)、米国 (バージニア)、日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、ドイツ (フランクフルト)、英国 (ロンドン)。
バケットが配置されているリージョンにアクセスポイントが作成されていること。 詳細については、「アクセスポイントの作成」をご参照ください。
バケットが配置されているリージョンで Function Compute がアクティブ化されていること。 詳細については、「サービスの作成」をご参照ください。
デフォルトのサービスリンクロール (AliyunFCDefaultRole) に
oss:WriteGetObjectResponse権限が付与されていること。 権限ポリシーの例:{ "Statement": [ { "Action": "oss:WriteGetObjectResponse", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }詳細については、「RAM ロールへの権限付与」をご参照ください。
Function Compute サービスで関数が作成されていること。
GetObject 操作を OSS SDK for Java、OSS SDK for Python、および OSS SDK for Go を使用して呼び出すと、Function Compute をトリガーできます。これらの言語の OSS SDK を使用して機能コードをデプロイする場合、ランタイム環境の要件を満たす関数を作成する必要があります。
OSS SDK for Java を使用して機能コードをデプロイする場合、[ランタイム] が Java 11 の関数を作成する必要があります。
OSS SDK for Python を使用して機能コードをデプロイする場合、[ランタイム] が Python 3.10 の関数を作成する必要があります。
OSS SDK for Go を使用して機能コードをデプロイする場合、[ランタイム] が Go 1 の関数を作成する必要があります。
他のパラメーターはデフォルトの構成を維持します。 詳細については、「関数の作成」をご参照ください。
RAM ユーザーには、次の権限が付与されます:
oss:CreateAccessPointForObjectProcess、oss:GetAccessPointForObjectProcess、oss:DeleteAccessPointForObjectProcess、oss:ListAccessPointsForObjectProcess、oss:PutAccessPointConfigForObjectProcess、oss:GetAccessPointConfigForObjectProcess、oss:PutAccessPointPolicyForObjectProcess、oss:GetAccessPointPolicyForObjectProcess、およびoss:DeleteAccessPointPolicyForObjectProcess。 詳細については、「RAM ポリシーの一般的な例」をご参照ください。
制限事項
項目 | 説明 |
作成方法 | Object FC アクセスポイントは、OSS コンソールを使用するか、API 操作を呼び出すことによってのみ作成できます。 OSS SDK または ossutil を使用して Object FC アクセスポイントを作成することはできません。 |
数量 |
|
変更ルール | Object FC アクセスポイントを作成した後、変更できるのはそのポリシーのみです。 名前やエイリアスなど、Object FC アクセスポイントの基本情報は変更できません。 |
アクセスモード | Object FC アクセスポイントは匿名アクセスをサポートしていません。 |
OSS コンソールの使用
OSS コンソールにログインします。
左側のナビゲーションウィンドウで、[Object FC アクセスポイント] をクリックします。
[Object FC アクセスポイント] ページで、[Object FC アクセスポイントの作成] をクリックします。
[Object FC アクセスポイントの作成] パネルでパラメーターを設定し、[OK] をクリックします。 次の表にパラメーターを示します。
パラメーター
説明
リージョン
ドロップダウンリストから、アクセスポイントが配置されているリージョンを選択します。
Object FC アクセスポイント名
Object FC アクセスポイントの名前を指定します。 命名規則:
名前の長さは最大 63 文字です。
名前には小文字、数字、ハイフン (
-) のみを含めることができ、ハイフン (-) で開始または終了することはできません。名前は現在のリージョンで一意である必要があります。
サポートするアクセスポイント
作成した OSS アクセスポイントを選択します。
バケット名
OSS アクセスポイントが関連付けられているバケットの名前を表示します。
OSS API
[GetObject] を選択します。
FC 関数の呼び出し
作成した関数を選択し、[Range GetObject リクエストをサポート] を選択します。
関数バージョン
作成した関数のバージョンを選択します。 このパラメーターを指定しない場合、デフォルトで LATEST バージョンが使用されます。
ロールの権限付与を完了します。
Object FC アクセスポイントを初めて作成するときは、[RAM クイック承認] をクリックし、画面の指示に従って
AliyunOSSObjectFcForOSSDefaultRoleロールに OSS および Function Compute リソースへのアクセスを承認します。 OSS アカウントが Function Compute の関数を呼び出せるようにするには、ロールとロールにアタッチされたポリシーを無効化、変更、または削除しないでください。[OK] をクリックします。
Object FC アクセスポイントは約 10 分で作成されます。
Object FC アクセスポイントが作成されると、Object FC アクセスポイントのエイリアスが [Object FC アクセスポイント] ページに自動的に表示されます。
Object FC アクセスポイントのエイリアスを変更、削除、または無効にすることはできません。
Function Compute は、Object FC アクセスポイントのエイリアスを使用して GetObject 操作を呼び出した場合にのみトリガーされます。 Object FC アクセスポイントのエイリアスを使用して GetObject 以外の操作を呼び出すと、システムは自動的に OSS アクセスポイントに切り替わり、OSS アクセスポイントのポリシーに従います。
OSS API の使用
ビジネスで高度なカスタマイズが必要な場合は、RESTful API を直接呼び出すことができます。 API を直接呼び出すには、コードに署名計算を含める必要があります。 詳細については、「CreateAccessPointForObjectProcess」をご参照ください。