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