すべてのプロダクト
Search
ドキュメントセンター

Function Compute:背景

最終更新日:Jul 24, 2024

このトピックでは、Function ComputeのPHPランタイム環境でコードを記述する際に必要なコンテキストについて説明します。

コンテキストとは何ですか?

Function Computeが関数を実行すると、関数の実行に使用されるメソッドにコンテキストオブジェクトが渡されます。 コンテキストオブジェクトには、呼び出し、サービス、関数、、および実行時環境に関する情報が含まれます。

PHPランタイム環境では、$contextパラメーターの値は配列型です。 次のコードは、$contextパラメーターを定義する方法の例を示しています。

[
  'requestId' => 'b1c5100f-819d-c421-3a5e-7782a27d8a33',
  'credentials' => [
    'accessKeyId' => 'STS.access_key_id',
    'accessKeySecret' => 'access_key_secret',
    'securityToken' => 'security_token',
  ],
  'function' => [
    'name' => 'my-func',
    'handler' => 'index.handler',
    'memory' => 128,
    'timeout' => 10,
    'initializer' => 'index.initializer',
    'initializationTimeout' => 10,
  ],
  'service' =>[
     'logProject' => 'my-log-project',
     'logStore' => 'my-log-store',
     'qualifier' => 'qualifier',
     'versionId' => '1'
  ],
  'region' => 'cn-shanghai',
  'accountId' => '123456',
  'tracing': {
    'openTracingSpanContext': 'xxxxxxxxxxxx',
    'jaegerEndpoint': 'xxxxxxxx',
    'openTracingSpanBaggages': []
  }
]

次の表に、$contextパラメーターに含まれる情報を示します。

項目

データ型

説明

requestId

String

関数を呼び出すために使用されるリクエストの一意のID。 エラーが発生した場合のトラブルシューティング用のIDを記録できます。

資格情報

次のフィールドを含む配列。

  • accessKeyId

  • accessKeySecret

  • securityToken

サービスにリンクされたロールを引き受けることによってFunction Computeが取得する一時的なAccessKeyペア。 一時的なAccessKeyペアは36時間有効です。 コードで資格情報を使用して、Object Storage Service (OSS) などの関連サービスにアクセスできます。 これにより、AccessKeyペアを関数コードに記述することなく、サービスにアクセスできます。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。

関数

次のフィールドを含む配列。

  • name

  • handler

  • memory

  • timeout

  • initializer

  • initializationTimeout

関数の名前、ハンドラー、メモリ、タイムアウト期間など、呼び出された関数に関する基本情報。

service

次のフィールドを含む配列。

  • logProject

  • logStore

  • qualifier

  • versionId

関数が属するサービスに関する情報 (Simple Log serviceの名前、関連プロジェクト、Logstore、バージョン、サービスのエイリアスなど) 。 qualifierパラメーターは、関数を呼び出すときに指定されるサービスのバージョンまたはエイリアスを示します。 versionIdパラメーターは、実際に呼び出されるサービスのバージョンを示します。

region

String

関数が呼び出されるリージョンのID。 たとえば、関数が中国 (上海) リージョンで呼び出された場合、リージョンIDはcn-Shanghaiです。 詳細については、「サービスエンドポイント」をご参照ください。

accountId

String

関数が属するAlibaba CloudアカウントのID。