ランタイム
IBM Cloud® Functions が非推奨になりました。 アクション、トリガー、シーケンスなどの既存の Functions エンティティーは引き続き実行されますが、2023 年 12 月 28 日以降、新しい Functions エンティティーを作成することはできません。 既存の Functions エンティティーは、2024 年 10 月までサポートされます。 その日付にまだ存在する Functions エンティティーはすべて削除されます。 詳しくは、 非推奨の概要 を参照してください。
アプリは、JavaScript や Python などのプログラミング言語でコーディングして実行できます。 IBM Cloud® Functions では、デフォルトで多くのランタイムを使用できます。
使用できるイメージとランタイム
以下のランタイム (種類) が使用可能です。
言語 | 種類 ID |
---|---|
Node.js | nodejs:20 (デフォルト) |
Python | python:3.11 (デフォルト) |
PHP | php:8.1 (デフォルト) |
Go | go:1.21 (デフォルト) |
Java | java (JDK 8) (デフォルト) |
Docker アクションを使用すると、他の言語がサポートされます。
ランタイムは定期的に更新されます。 これらの更新には、ランタイム・パッケージに対するセキュリティー・フィックスやマイナー・バージョン・アップデート (バグ修正) が含まれます。 マイナー・バージョン・アップデートによって、旧バージョンとの互換性が損なわれる可能性があります。 ランタイムの更新によりアクションが影響を受けることがあります。
ランタイムはdeprecated
になる場合もあります。これは、特定のランタイム・コンポーネントがサポートされなくなったことを意味します。 deprecated
ランタイムは非推奨後もしばらくの間使用可能であり、アクションは通常どおり実行され続けます。 ただし、非推奨ランタイムを使用するアクションをコンソールから作成したり更新したりすることはできません。 コンソールは、非推奨ランタイムを使用するアクションにマークを付けます。 非推奨ランタイムを使用するアクションを
CLI から作成したり更新したりすることはできますが、非推奨ランタイムを使用しないことを強くお勧めします。
ランタイムは非推奨になった後、disabled
になります。 deprecated
になってからdisabled
になるまでの期間は固定されておらず、数カ月から数年までさまざまです。 ランタイムがdisabled
になると、そのランタイムを使用するアクションは、エラー 400, bad request
で失敗します。 disabled
ランタイムを使用するアクションの読み取りと削除は可能です。
deprecated
ランタイムまたはdisabled
ランタイム上で実行されているアクションは、更新して別のランタイム・バージョンにマイグレーションしてください。 ランタイムを更新する方法については、アクション・ランタイムの変更を参照してください。
以下のランタイム (種類) は非推奨です。
go:1.19
(非推奨)nodejs:12
(非推奨)nodejs:16
(非推奨)python:3.7
(非推奨)python:3.9
(非推奨)
以下のランタイム (種類) は使用不可です。
ballerina:0.990
(無効)dotnet:2.2
(無効)go:1.11
(無効)go:1.15
(無効)go:1.17
(無効)nodejs
(無効)nodejs:6
(無効)nodejs:8
(無効)nodejs:10
(無効)php:7.1
(無効)php:7.2
(無効)php:7.3
(無効)php:7.4
(無効)python
(無効)python:2
(無効)python:3.6
(無効)ruby:2.5
(無効)ruby:2.6
(無効)swift
(無効)swift:3
(無効)swift:3.1.1
(無効)swift:4.1
(無効)swift:4.2
(無効)
サポートされるランタイムと使用不可ランタイムについて詳しくは、リージョンごとの使用可能なイメージとランタイムを参照してください。
JavaScript ランタイム
デフォルトでは、すべての Node.js アクションはバージョン 20 環境で実行されます。
Node.js バージョン 16 は非推奨になり、まもなく削除される予定です。 アクションの実行を続行するには、Node.js バージョン 12 のアクションを上位のランタイム・バージョンに更新する必要があります。 詳しくは、 Node.js リリース・スケジュールを参照してください。
Node.js バージョン 12 は非推奨になり、まもなく削除される予定です。 アクションの実行を続行するには、Node.js バージョン 12 のアクションを上位のランタイム・バージョンに更新する必要があります。 詳しくは、 Node.js リリース・スケジュールを参照してください。
種別 | Node.js バージョン | 説明 | 変更ログ |
---|---|---|---|
nodejs:20 |
20.x | デフォルトでは、すべての Node.js アクションはバージョン 20 環境で実行されます。 | CHANGELOG.md . |
nodejs:16 |
16.x | 非推奨 | CHANGELOG.md . |
nodejs:12 |
12.x | 非推奨 | CHANGELOG.md . |
nodejs:10 |
10.x | 無効 | CHANGELOG.md . |
nodejs:8 |
8.x | 無効 | CHANGELOG.md . |
Node.js 16 から Node.js 20 へのマイグレーション
パッケージ | 詳細 |
---|---|
cloudant |
nodejs:20 ランタイムの @ibm-cloud/cloudant SDK パッケージが 0.5.5 にアップグレードされました。これには、インターフェースの変更が含まれます。 @ibm-cloud/cloudant SDK について詳しくは、 IBM Cloudant 資料 を参照してください。 |
request-promise |
request-promise パッケージは非推奨になったため、削除されました。 それでもこのモジュールが必要な場合は、 NPM ファイルとしての JavaScript コードのパッケージ化 の説明に従って、アクションとともに request-promise をパッケージ化することを検討してください。 |
mongodb |
nodejs:20 ランタイムの mongodb パッケージは、バージョン v5.xです。メジャー・バージョンの変更によって非互換性が生じることがあり、それによってアクションが失敗する可能性があります。 アクションでこのパッケージの旧バージョンが使用されている場合は、現行バージョンへのマイグレーションを検討してください。 現行バージョンの mongodb へのマイグレーションについて詳しくは、「
Upgrade Driver Versions for MongoDB」を参照してください。移行できない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、古いバージョンの mongodb パッケージをアクションと一緒にパッケージ化することを検討してください。 |
elasticsearch |
nodejs:16 ランタイムのelasticsearch SDK パッケージは非推奨になり、nodejs:20 で@elastic/elasticsearch に置き換えられました。 これは大きな変更であり、非互換性の原因となります。これにより、アクションが失敗する可能性があります。 アクションでelasticsearch を使用する場合は、@elastic/elasticsearch へのマイグレーションを検討してください。
@elastic/elasticsearch へのマイグレーションについて詳しくは、 @elastic/elasticsearch へのマイグレーションを参照してください。マイグレーションできない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、 @elastic/elasticsearch をアクションと一緒にパッケージ化することを検討してください。 @elastic/elasticsearch SDK
について詳しくは、 公式ホーム・ページ を参照してください。 |
Node.js:20
へのマイグレーションについて詳しくは、 (GitHubの詳細情報)を参照してください。
Node.js 12 から Node.js 16 へのマイグレーション
パッケージ | 詳細 |
---|---|
cloudant |
nodejs:12 ランタイムの@cloudant/cloudant SDK パッケージは非推奨になり、nodejs:16 で@ibm-cloud/cloudant に置き換えられました。 これは大きな変更であり、非互換性の原因となります。これにより、アクションが失敗する可能性があります。 アクションで@cloudant/cloudant を使用する場合は、@ibm-cloud/cloudant へのマイグレーションを検討してください。
ibm-watson v6.x へのマイグレーションについて詳しくは、 cloudant-node-sdk へのマイグレーションを参照してください。マイグレーションできない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、 @cloudant/cloudant をアクションと一緒にパッケージ化することを検討してください。 @ibm-cloud/cloudant SDK について詳しくは、 IBM Cloudant 資料 を参照してください。 |
redis |
nodejs:16 ランタイムの redis パッケージは、バージョン v4.xです。メジャー・バージョンの変更によって非互換性が生じることがあり、それによってアクションが失敗する可能性があります。 アクションでこのパッケージの旧バージョンが使用されている場合は、現行バージョンへのマイグレーションを検討してください。 redis v4 へのマイグレーションについて詳しくは、「
v3 to v4 Migration Guide」を参照してください。移行できない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、古いバージョンの redis パッケージをアクションと一緒にパッケージ化することを検討してください。 |
uuid |
nodejs:16 ランタイムの uuid パッケージは、バージョン v8.xです。メジャー・バージョンの変更によって非互換性が生じることがあり、それによってアクションが失敗する可能性があります。 アクションでこのパッケージの旧バージョンが使用されている場合は、現行バージョンへのマイグレーションを検討してください。 現行バージョン pf uuid へのマイグレーションについて詳しくは、
uuid@3.xからのアップグレードを参照してください。移行できない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、古いバージョンの redis パッケージをアクションと一緒にパッケージ化することを検討してください。 |
Node.js:12
へのマイグレーションについて詳しくは、 (GitHubの詳細情報)を参照してください。
Node.js 10 から Node.js 12 へのマイグレーション
パッケージ | 詳細 |
---|---|
ibm-watson |
nodejs:12 ランタイムの現在の ibm-watson SDK パッケージは、バージョン v6.xです。メジャー・バージョンの変更によって非互換性が生じることがあり、それによってアクションが失敗する可能性があります。 アクションでこのパッケージの旧バージョンが使用されている場合は、現行バージョンへのマイグレーションを検討してください。 移行できない場合は、 JavaScript コードを NPM ファイルとしてパッケージ化する の説明に従って、古いバージョンの ibm-watson パッケージをアクションと一緒にパッケージ化することを検討してください。 |
ibmiotf |
ibmiotf パッケージの名前が @wiotp/sdk に変更されました。 詳しくは、 IBM Watson IoT Platform JavaScript SDKを参照してください。 |
request |
request パッケージは非推奨になったため、このランタイムでは使用できません。 代替として axios 、bent 、got 、または needle を検討してください。 |
Node.js:12
へのマイグレーションについて詳しくは、 (GitHubの詳細情報)を参照してください。
Node.js 8 から Node.js 10 へのマイグレーション
パッケージ | 詳細 |
---|---|
cloudant |
cloudant NPM パッケージは、nodejs:10 では使用できません。 このパッケージは推奨されません。 公式の NPM パッケージ @cloudant/cloudant v3.0.0 を使用する必要があるのは、
Node.js モジュール (つまり require('@cloudant/cloudant') ) をインポートするときに、 v3.x が Promiseのみを返す場合です。 |
cradle |
cradle NPM パッケージは、nodejs:10 では使用できません。 |
watson-developer-cloud |
watson-developer-cloud で使用できる nodejs:10 NPM パッケージは、バージョン 4.x です。 このバージョンには、Promises のサポートが含まれています。 加えられた変更のリストが記載されています。 このパッケージは非推奨となっており、現在サポートされていないことに注意してください。 このパッケージは更新を受信せず、将来削除される予定です。 アクションを ibm-watson パッケージに移行してください。 |
ibm-watson |
ibm-watson で使用できる nodejs:10 パッケージは、バージョン 4.x です。 このパッケージは、watson-developer-cloud パッケージの後継です。 この新規パッケージは更新を受信しないため、この新規パッケージを使用するようにアクション・コードをアップグレードしてください。 このパッケージには、promise のサポートが含まれています。 |
ibmiotf |
パッケージ ibmiotf の名前が、保守担当者によって @wiotp/sdk に変更されました。 必ず、アクション・コードを新規パッケージに更新してください。 すべての変更については、 @wiotp/sdk を参照してください。
パッケージ ibmiotf は、これ以上の更新を受け取らないため、今後このランタイムから削除される予定です。 |
Node.js:10
へのマイグレーションについて詳しくは、 (GitHubの詳細情報)を参照してください。
Node.js パッケージ
Node.js 20 パッケージについて詳しくは、 (GitHubの詳細情報)を参照してください。
Node.js 16 パッケージについては、 (GitHubの詳細情報)を参照してください。
Node.js 12 パッケージ | 説明 |
---|---|
@cloudant/cloudant |
このライブラリーは、Node.js 用の公式 Cloudant ライブラリーです。 |
@ibm-functions/iam-token-manager |
このパッケージは、Node.js 用の IAM アクセス・トークン・マネージャー・ライブラリーです。 |
@sendgrid/mail |
SendGrid API を介して E メールをサポートします。 |
@wiotp/sdk |
IBM Watson IoT Platform JavaScript SDK. |
amqplib |
Node.js 用の AMQP 0-9-1 クライアントを作成するためのライブラリー。 |
apn |
Apple Push Notification サービスとのインターフェースのための Node.js モジュール。 |
async |
非同期関数での作業のための機能を提供します。 |
axios |
ブラウザーおよび Node.js 用の promise ベースの HTTP クライアント。 |
bent |
async/await を使用した Node.js 用の機能 HTTP クライアント。 |
bodyparser |
req.body プロパティーで入手可能な着信要求本体をハンドラーの前にミドルウェアで構文解析します。 |
btoa |
ブラウザーの btoa 関数のポート。 |
bufferutil |
bufferutil は、ws を高速化するものです。 |
canvas |
Cairo が支援する Node.js 用キャンバス実装。 |
cassandra-driver |
Apache Cassandra 用の DataStax Node.js ドライバー。 |
commander |
Node.js コマンド・ライン・インターフェースの完全なソリューション。 |
composeaddresstranslator |
Scylla データベース用の Compose UI または API からのアドレス変換機構。 |
consul |
サービス・ディスカバリーおよび構成を含む Consul 用のクライアント。 |
cookie-parser |
Cookie ヘッダーを構文解析し、Cookie 名がキーになったオブジェクトを req.cookies に取り込みます。 |
core-js |
JavaScript 用のモジュラー標準ライブラリー。 |
elasticsearch |
Node.js 用の公式の低レベル Elasticsearch クライアント。 |
errorhandler |
開発専用エラー・ハンドラー・ミドルウェア。 |
etcd3 |
Protocol Buffer ベースの etcdv3 API 用の高品質で実動向けのクライアント。 |
express |
ノード用の高速で最小限の Web フレームワーク。 |
express-session |
サーバー・サイド・セッション・データ保管モジュール。 |
formidable |
フォーム・データ、特にファイル・アップロードの構文解析のための Node.js モジュール。 |
glob |
シェルが使用するパターン (星印など) を使用してファイルのマッチングを行います。 |
gm |
Node 用の GraphicsMagick および ImageMagick。 |
got |
ユーザー・フレンドリーかつ強力な Node.js 用 HTTP 要求ライブラリー。 |
ibm-cos-sdk |
IBM Cloud® Object Storage SDK for Node.js. |
ibm_db |
IBM DB2 および IBM Informix への Node.js 用の非同期/同期インターフェース。 |
ibm-watson |
Watson API を使用するための Node.js クライアント・ライブラリー。 |
iconv-lite |
Pure JS 文字エンコード変換。 |
jest |
快適な JavaScript テスト。 |
jsdom |
jsdom は、多くの Web 標準 (特に、WHATWG DOM および HTML 標準) の pure-JavaScript 実装です。 |
jsforce |
JavaScript アプリケーションの Salesforce API ライブラリー。 |
jsonwebtoken |
JSON Web トークンの実装。 |
lodash |
Node.js モジュールとしてエクスポートされる Lodash ライブラリー。 |
log4js |
このパッケージは、ノードと連動させるための log4js フレームワークの変換です。 |
marked |
JavaScript で記述されたフル機能のマークダウン・パーサーおよびコンパイラー。 スピードのために作成。 |
merge |
複数のオブジェクトを 1 つにマージし、オプションで新しい複製オブジェクトを作成します。 |
moment |
日付を構文解析、検証、操作、およびフォーマット設定するための軽量 JavaScript 日付ライブラリー。 |
mongodb |
Node.js 用の公式 MongoDB ドライバー。 |
mustache |
mustache.js は、JavaScript での mustache テンプレート・システムの実装です。 |
mysql |
このパッケージは mysql 用の Node.js ドライバーです。 |
nano |
Node.js 用の最小主義の couchdb ドライバー。 |
needle |
Nodelands の中で最もスリムでハンサムな HTTP クライアント。 |
nodemailer |
Node.js からの E メールの送信 - とても簡単です。 |
oauth2-server |
Node.js で Express を使用して OAuth2 サーバー/プロバイダーを実装するための、完全な、準拠する、十分にテスト済みのモジュール。 |
openwhisk |
OpenWhisk プラットフォーム用の JavaScript クライアント・ライブラリー。 OpenWhisk API のラッパーを提供します。 |
path-to-regex |
パス・ストリング (例えば /user/:name ) を、URL パスとの突き合わせに使用できる正規表現に変換します。 |
pg |
Node.js 用の非ブロッキング PostgreSQL クライアント。Pure JavaScript およびオプションのネイティブlibpq バインディング。 |
process |
require('process'); 他のモジュールと同様。 |
pug |
Pug テンプレート言語を実装します。 |
redis |
このパッケージは、完全で機能が豊富な Node.js 用 Redis クライアントです。 |
request-promise |
Promise サポートのある単純化された HTTP 要求クライアント 'request'。 Bluebird で稼働。 |
rimraf |
ノードの UNIXコマンドrm -rf 。 |
semver |
Node.js 用のセマンティック・バージョン管理。 |
serialize-error |
エラーをプレーン・オブジェクトとしてシリアライズします。 |
serve-favicon |
favicon にサービスを提供するための Node.js ミドルウェア。 |
socket.io |
Socket.io は、リアルタイムで双方向のイベント・ベースの通信を可能にします。 |
socket.io-client |
socket.io のリアルタイム・アプリケーション・フレームワーク。 |
superagent |
SuperAgent は小さな漸進的クライアント・サイド HTTP 要求ライブラリーであり、同じ API を持つ Node.js モジュールであり、多くの高水準な HTTP クライアント機能をサポートします。 |
swagger-tools |
Swagger と統合および対話するための各種ツールを提供するパッケージ。 |
tmp |
Node.js 用の単純な一時ファイルおよびディレクトリーの作成機能。 |
ts-jest |
Jest 用のソース・マップ・サポートを備えた TypeScript プリプロセッサー。これにより、TypeScript で書かれたプロジェクトを、Jest を使用してテストできます。 |
twilio |
音声、ビデオ、およびメッセージングに関連した、Twilio API 用のラッパー。 |
underscore |
Underscore.js は、コア JavaScript オブジェクトを拡張することなく、通常の機能上の名寄せ候補 (それぞれ、マップ、削減、フィルターなど) をサポートする JavaScript 用のユーティリティー・ベルト・ライブラリーです。 |
url-pattern |
regex ストリング・マッチャーを使用するよりも簡単に、パス・パラメーターの URL を構文解析します。 |
utf-8-validate |
有効な UTF-8 エンコード・テキストがバッファーに含まれているかどうかを検査します。 |
uuid |
RFC4122 UUIDS の単純で高速な生成。 |
validator |
ストリングのバリデーターおよびサニタイザーのライブラリー。 |
vcap_services |
IBM Cloud が提供する VCAP_SERVICES 環境変数のサービス資格情報を解析して返します。 |
when |
when.js は、完全な ES6 Promise shim を含む、厳しい試験を経た強固な Promises/A+ および when() 実装です。 |
winston |
Node.js 用のマルチトランスポートasync ロギング・ライブラリー。「CHILL WINSTON! ... I put it in the logs. 」 |
ws |
ws は、使用が簡単で高速な、完全にテスト済みの、WebSocket クライアントおよびサーバーの実装です。 |
xlsx |
各種スプレッドシート形式のパーサーおよびライター。 |
xml2js |
XML から JavaScript オブジェクトへの単純なコンバーター。 双方向変換をサポートします。 |
xmlhttprequest |
node-XMLHttpRequest は、ブラウザー XMLHttpRequest オブジェクトをエミュレートするための、組み込み HTTP クライアント用のラッパーです。 |
yauzl |
ノード用のさらに別の解凍ライブラリー。 zip 用。 |
yazl |
ノード用のさらに別の解凍ライブラリー。 zip 用。 |
Node.js 12 パッケージについて詳しくは、 (GitHubの詳細情報)を参照してください。
Python ランタイム
デフォルトでは、すべての Python アクションは Python バージョン 3.11 環境で実行されます。
種別 | Python のバージョン | 説明 | 変更ログ |
---|---|---|---|
python:3.11 |
3.11.x | デフォルトでは、アクションの作成時または更新時に --kind フラグを指定しない限り、すべての Python アクションは Python バージョン 3.11.x 環境 (Debian Buster ベース) で実行されます。 このランタイムを明示的に使用するには、アクションを作成または更新するときに CLI パラメーター--kind python:3.11 を指定します。 ランタイムには、 Python 3.11
標準ライブラリーに加えて、 Python アクションで使用可能な IBM Cloud サービス用の SDK パッケージが含まれています。 |
CHANGELOG.md . |
python:3.9 |
3.9.x | Python アクションは、アクションの作成時または更新時に --kind フラグを指定しない限り、 Python バージョン 3.11.x 環境 (Debian Buster ベース) で実行されます。 このランタイムを明示的に使用するには、アクションを作成または更新するときに CLI パラメーター--kind python:3.9 を指定します。 ランタイムには、Python 3.9 標準ライブラリーに加えて、Python
アクションで使用可能な IBM Cloud サービス用の SDK パッケージが含まれています。 |
CHANGELOG.md . |
python:3.7 |
3.7.x | Python アクションは、アクションの作成または更新時に --kind フラグを指定しない限り、 Python バージョン 3.11.x 環境 (Debian Stretch ベース) で実行されます。 このランタイムを明示的に使用するには、アクションを作成または更新するときに CLI パラメーター--kind python:3.7 を指定します。 このランタイムには、Python 3.7 標準ライブラリーに加えて
Python アクションで使用できる IBM Cloud サービス用 SDK パッケージが含まれています。 |
CHANGELOG.md . |
3.6 | Python 3.6 は 2021/12/23 に end of support に到達しました。End of life Python Releasesを参照してください。 |
||
2.7 | Python 2.7 は 2020/01/01 に end of support に到達しました。Active Python Releasesを参照してください。 |
Python 3.7 から Python 3.9、 Python 3.11 へのマイグレーション
パッケージ | 詳細 |
---|---|
ibmcloudant |
cloudant sdk が新しいibmcloudant sdk に移動しました。 互換性を損なういくつかの変更が含まれています。 詳しくは、マイグレーション・ガイドを参照してください。 |
ibm-watson |
watson-developer-cloud sdk は新しい ibm-watson sdk に名前変更され、互換性のない変更が含まれています。 詳しくは、pypi ibm-watson および github ibm-watson を参照してください。 |
python:3.9
へのマイグレーションについて詳しくは、 (GitHubの詳細情報)を参照してください。
Python パッケージ
以下の表に記載されているパッケージのみをアクションで使用するようにしてください。 \n 他の Python パッケージがランタイムの一部となっている可能性もありますが、そのようなパッケージは、リストされている他のパッケージの間接的な依存パッケージとして組み込まれているにすぎません。 リストされていないそれらのパッケージは、参照元パッケージで不要になり次第、削除の候補となります。
Python 3.11 パッケージ |
---|
beautifulsoup4 |
botocore |
cassandra-driver |
ibmcloudant |
elasticsearch |
etcd3 |
flask |
gevent |
httplib2 |
ibm-cos-sdk |
ibm_db |
ibmcloudsql |
kafka_python |
lxml |
numpy |
pandas |
pika |
Pillow |
psycopg2 |
PyJWT |
pymongo |
python-dateutil |
redis |
requests |
scikit-learn |
scipy |
scrapy |
simplejson |
tornado |
twisted |
virtualenv |
ibm-watson |
Python 3.9 パッケージ |
---|
beautifulsoup4 |
botocore |
cassandra-driver |
ibmcloudant |
elasticsearch |
etcd3 |
flask |
gevent |
httplib2 |
ibm-cos-sdk |
ibm_db |
ibmcloudsql |
kafka_python |
lxml |
numpy |
pandas |
pika |
Pillow |
psycopg2 |
PyJWT |
pymongo |
python-dateutil |
redis |
requests |
scikit-learn |
scipy |
scrapy |
simplejson |
tornado |
twisted |
virtualenv |
ibm-watson |
Python 3.7 パッケージ |
---|
beautifulsoup4 |
botocore |
cassandra-driver |
cloudant |
elasticsearch |
etcd3 |
flask |
gevent |
httplib2 |
ibm-cos-sdk |
ibm_db |
ibmcloudsql |
kafka_python |
lxml |
numpy |
pandas |
pika |
Pillow |
psycopg2 |
PyJWT |
pymongo |
python-dateutil |
redis |
requests |
scikit-learn |
scipy |
scrapy |
simplejson |
tornado |
twisted |
virtualenv |
watson-developer-cloud |
Python 3.6 パッケージ |
---|
cassandra-driver |
cloudant |
elasticsearch |
beautifulsoup4 |
flask |
gevent |
httplib2 |
ibm-cos-sdk |
ibm_db |
ibmcloudsql |
kafka_python |
lxml |
numpy |
pandas |
pika |
Pillow |
psycopg2 |
pymongo |
python-dateutil |
redis |
requests |
scikit-learn |
scipy |
scrapy |
simplejson |
twisted |
virtualenv |
watson-developer-cloud |
Python 3.11 パッケージについて詳しくは、 (GitHubの詳細情報)を参照してください。
Python 3.9 パッケージについて詳しくは、 (GitHubの詳細情報)を参照してください。
Python 3.7 パッケージについて詳しくは、 (GitHubの詳細情報)を参照してください。
Python 3.6 パッケージについて詳しくは、 (Details on GitHub)を参照してください。
PHP ランタイム
デフォルトでは、すべての PHP アクションはバージョン 8.1 環境で実行されます。
php:8.1 ランタイムについて詳しくは、 (GitHubの詳細情報)を参照してください。
標準の PHP 拡張機能に加えて、以下の PHP 拡張機能を使用できます。
bcmath
curl
gd
intl
mbstring
mongodb
mysqli
pdo_mysql
pdo_pgsql
pdo_sqlite
soap
zip
以下の表に記載されているモジュールのみをアクションで使用するようにしてください。 \n 他の PHP モジュールはランタイムの一部である可能性がありますが、リストされている他のモジュールの間接的な依存関係としてのみ組み込まれます。 これらのリストされていないモジュールは、参照元のモジュールによって要求されないとすぐに除去される候補になります。
Docker ランタイム
Docker アクションは、Docker コンテナー内のユーザー提供の実行可能ファイルを実行します。 Dockerfile
を変更して、コンパイル・ステップや依存関係を組み込むことができます。 action create
コマンドの実行時に--docker
フラグを指定することにより、アクション・コードで使用する
Docker イメージを指定できます。 Docker イメージを使用してアクションを作成する場合、アプリは、アクション作成時に指定するパブリック Docker イメージで実行されます。
Cloud Functions では、Docker ハブ上に基本イメージが提供されます。 それらのイメージは、アクション作成時にそのまま使用することも、Dockerfile
の作成時に基本イメージとして使用することもできます。 使用できるランタイム・イメージのリストは、使用できるイメージとランタイムのセクションで確認できます。
Cloud Functions アクションは、Docker ハブにあるパブリック・イメージを使用して作成できます。
Docker スケルトン
openwhisk/dockerskeleton
イメージを使用してアクションをデプロイできます。 --native
の省略表現として、--docker openwhisk/dockerskeleton
引数が使用できます。 この引数を使用すると、標準的な Docker アクション SDK 内で実行される実行可能ファイルを作成してデプロイできます。
詳しくは、バイナリーからのアクションの作成を参照してください。
その他のランタイム・サポート
- Go
-
デフォルトでは、すべての Go アクションはバージョン 1.19 環境で実行されます。 Go バージョン 1.11、 1.15 、および 1.17 は非推奨になりました。 Go:1.11 から Go:1.17 以上にマイグレーションする場合:
- Go:1.17 は、 Go Modulesを使用します。
- 項目の関数が含まれるファイル (
main.go
Main
など) はルートに配置する必要があります。"main"
ディレクトリーはサポートされていません。
-
go
ランタイムについて詳しくは、 (Details on GitHub)を参照してください。 -
go
アクションの作成方法について詳しくは、Go アプリを準備するを参照してください。 - Java
-
デフォルトでは、すべての Java アクションはバージョン 8 環境で実行されます。
-
java:8
ランタイムについて詳しくは、 (Details on GitHub)を参照してください。 - .NET Core (非推奨)
-
.NET コア・ランタイムは推奨されません。 これに代わるものはありません。 代わりに、別のランタイムにマイグレーションする必要があります。
リージョンごとの使用可能なイメージとランタイム
IBM Cloud Functions で使用可能なランタイムをリージョンごとに確認できます。 次のリンクは JSON 応答を返します。 応答の runtimes
セクションには、使用可能なランタイムのセットが含まれています。 image
セクションには、 Docker Hub 上のランタイム・イメージの名前と、使用されるタグが含まれています。
以下の例は、 hub.docker.com上のイメージ ibmfunctions/action-nodejs-v12
および openwhisk/java8action
を指しています。 タグは、1.1.1
のようなバージョン番号、または a231007
のような Git コミット・ハッシュの簡易書式とすることができます。
イメージ・フィールドの例。
image: "ibmfunctions/action-nodejs-v12:1.1.1"
image: "openwhisk/java8action:a231007"
この JSON 応答は、サポートされるランタイムと使用不可のランタイムを示します。 使用不可のランタイムには deprecated=true
のマークが付けられます。 この応答では非推奨ランタイムは示されません。 応答で返される非推奨のフラグは、使用できるイメージとランタイムに記載されている非推奨ランタイムとは対応していません。
この応答では、非推奨ランタイムは最終的に使用不可になるまで非推奨のマークが付けられません。 コンソールと本資料 (使用できるイメージとランタイム) でのみ、非推奨ランタイムに非推奨のマークが付けられています。
失敗したアクション (400、間違った要求) をトラブルシューティングするとき、使用不可ランタイムが使用されているかどうかを見分けるには、照会応答に deprecated=true
があるかどうかを調べます。 使用不可のランタイムを使用するアクションに対して行える操作は、読み取りと削除のみです。 このようなアクションを実行することはできません。
そうしたアクションのランタイムを、サポートされるランタイムに更新するには、アクション・ランタイムの変更を参照してください。