メインコンテンツまでスキップ

インストール

FPT Object Storage は AWS S3 標準に基づいて開発された製品です。そのため、AWS S3 向けに開発されたすべてのツールとライブラリを使用して FPT Object Storage と連携することができます。以下に、いくつかの一般的な言語のインストール方法と接続設定のサンプルを示します。

Python

Python では、boto3 ライブラリを使用できます。これは Amazon が提供する Python 用の公式ライブラリです。 インストール

Copypip install boto3

接続の初期化

import boto3
s3_endpoint = "ENDPOINT"
s3_access_key_id = "ACCESS_KEY_ID"
s3_secret_access_key = "SECRET_KEY_ID"
s3 = boto3.resource(
"s3",
endpoint_url=s3_endpoint,
aws_access_key_id=s3_access_key_id,
aws_secret_access_key=s3_secret_access_key,
)

s3client = boto3.client(
"s3",
endpoint_url=s3_endpoint,
aws_access_key_id=s3_access_key_id,
aws_secret_access_key=s3_secret_access_key,
)

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copy# Create a new bucket
s3client.create_bucket(Bucket=bucket_name)
-------------------------------------------
s3client.delete_bucket(Bucket=bucket_name)
-------------------------------------------
s3client.put_object(Bucket=bucket_name, Key=object_key, Body=content)
-------------------------------------------
response = s3client.get_object(Bucket=bucket_name, Key=object_key)
object_content = response['Body'].read().decode('utf-8')
print(object_content)
-------------------------------------------
s3client.delete_object(Bucket=bucket_name, Key=object_key)

完全なドキュメント Refer: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

Java

Java で FPT Object Storage を使用するには、AWS SDK for Java、MinIO、s3proxy などのサポートライブラリを使用できます。 以下は、FPT Object Storage に接続して操作するための最も一般的なライブラリの一つである AWS SDK for Java の使用ガイドです。 インストール

Copy// maven プロジェクトを作成します
// pom.xml ファイルに以下の dependency を追加します:

<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.17.42</version> <!-- 最新バージョンの使用をご確認ください -->
</dependency>

接続の初期化

Copy// これらの値を S3 互換アカウント情報に従って変更してください
String accessKey = "ACCESS_KEY_ID";
String secretKey = "SECRET_KEY_ID";
String endpoint = "ENDPOINT";
String bucketName = "YOUR_BUCKET_NAME";
// S3 クライアントを作成します
S3Client s3Client = S3Client.builder()
.endpointOverride(URI.create(endpoint))
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey)))
.build();

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copyimport java.net.URI;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
import software.amazon.awssdk.services.s3.model.ListObjectsResponse;
import software.amazon.awssdk.services.s3.model.S3Object;
public class S3Example {
public static void main(String[] args) {
// これらの値を S3 互換アカウント情報に従って変更してください
String accessKey = "ACCESS_KEY_ID";
String secretKey = "SECRET_KEY_ID";
String endpoint = "ENDPOINT";
String bucketName = "<YOUR_BUCKET_NAME>";
// S3 クライアントを作成します
S3Client s3Client = S3Client.builder()
.endpointOverride(URI.create(endpoint))
.credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create(accessKey, secretKey)))
.build();
// ここで S3 の操作を実行します。例: list objects
ListObjectsRequest listObjectsRequest = ListObjectsRequest.builder()
.bucket(bucketName)
.build();
ListObjectsResponse listObjectsResponse = s3Client.listObjects(listObjectsRequest);
for (S3Object content: listObjectsResponse.contents()) {
System.out.println("Object Key: " + content.key());
}
// 使用が終わったらクライアントを閉じます
s3Client.close();
}
}

完全なドキュメント Refer: https://docs.aws.amazon.com/sdk-for-java/

C-Sharp

FPT Object Storage は Amazon S3 と互換性があるよう設計されているため、AWS が提供する C# 向け S3 SDK を使用して FPT Object Storage と連携できます。以下にいくつかの基本的な手順を示します。 インストール

Copy// NuGet Package Manager でインストール
Install-Package AWSSDK -Version 2.3.55.2

接続の初期化

Copystring accessKey = "ACCESS_KEY_ID";
string secretKey = "SECRET_KEY_ID";
AmazonS3Config config = new AmazonS3Config();
config.ServiceURL = "<ENDPOINT>";
config.ForcePathStyle = true;
AmazonS3Client client = new AmazonS3Client(
accessKey,
secretKey,
config
);

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copy// NuGet Package Manager でインストール
// Install-Package AWSSDK -Version 3.7.0
using Amazon.S3;
using Amazon.S3.Model;
class Program {
static void Main() {
// 接続の初期化
string accessKey = "ACCESS_KEY_ID";
string secretKey = "SECRET_KEY_ID";
AmazonS3Config config = new AmazonS3Config {
ServiceURL = "ENDPOINT",
ForcePathStyle = true
};
using(AmazonS3Client client = new AmazonS3Client(accessKey, secretKey, config)) {
// いくつかの基本的な例
// 新しい bucket を作成
string bucketName = "my-unique-bucket-name";
client.PutBucket(new PutBucketRequest {
BucketName = bucketName
});
// bucket を削除
client.DeleteBucket(new DeleteBucketRequest {
BucketName = bucketName
});
// 新しい object を作成
string objectKey = "my-object-key";
string content = "Hello, world!";
client.PutObject(new PutObjectRequest {
BucketName = bucketName,
Key = objectKey,
ContentBody = content
});
// object の内容を読み取る
GetObjectResponse response = client.GetObject(new GetObjectRequest {
BucketName = bucketName,
Key = objectKey
});
using(var reader = new System.IO.StreamReader(response.ResponseStream)) {
string objectContent = reader.ReadToEnd();
Console.WriteLine(objectContent);
}
// object を削除
client.DeleteObject(new DeleteObjectRequest {
BucketName = bucketName,
Key = objectKey
});
}
}
}

完全なドキュメント Refer: https://aws.amazon.com/sdk-for-net/

PHP

インストール

Copy// PHP SDK をインストールする方法はいくつかあります
// 1. Composer を使用
php -d memory_limit=-1 composer.phar require aws/aws-sdk-php

// require composer autoload
<?php
require '/path/to/vendor/autoload.php';
?>

// 2. Packaged Phar を使用
// http://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.phar からダウンロードしてスクリプトに require します
<?php
require '/path/to/aws.phar';
?>

// 3. zip パッケージを使用
// http://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip からダウンロードしてスクリプトに require します
<?php
require '/path/to/aws-autoloader.php';
?>

接続の初期化

Copy<?php
$accessKey = "ACCESS_KEY_ID";
$secretKey = "SECRET_KEY_ID";
$credentials = new Aws\Credentials\Credentials($accessKey, $secretKey);

$options = [
"version" => "latest",
"region" => "<REGION>",
"signature_version" => "v4",
"credentials" => $credentials,
"endpoint" => "<ENDPOINT>",
];

$s3Client = new Aws\S3\S3Client($options);

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copy// Composer でインストール
// php -d memory_limit=-1 composer.phar require aws/aws-sdk-php
// Require composer autoload*
<?php require "/path/to/vendor/autoload.php"; ?>
<?php // 接続の初期化

$accessKey = "ACCESS_KEY_ID";
$secretKey = "SECRET_KEY_ID";
$credentials = new Aws\Credentials\Credentials($accessKey, $secretKey);
$options = [
"version" => "latest",
"region" => "<REGION>",
"signature_version" => "v4",
"credentials" => $credentials,
"endpoint" => '"ENDPOINT"',
];
$s3Client = new Aws\S3\S3Client($options); // いくつかの基本的な例 // 新しい bucket を作成
$bucketName = "my-unique-bucket-name";
$s3Client->createBucket(["Bucket" => $bucketName]); // bucket を削除
$s3Client->deleteBucket(["Bucket" => $bucketName]); // 新しい object を作成
$objectKey = "my-object-key";
$content = "Hello, world!";
$s3Client->putObject([
"Bucket" => $bucketName,
"Key" => $objectKey,
"Body" => $content,
]);
// object の内容を読み取る
$result = $s3Client->getObject(["Bucket" => $bucketName, "Key" => $objectKey]);
$objectContent = $result["Body"]->getContents();
echo $objectContent; // object を削除
$s3Client->deleteObject(["Bucket" => $bucketName, "Key" => $objectKey]);
?>

完全なドキュメント Refer: https://docs.aws.amazon.com/sdk-for-php/

Javascript

インストール

Copy// Javascript SDK をインストールするには
// 1. 次のアドレスから sdk リリースをダウンロードします: https://github.com/aws/aws-sdk-js/releases
// 2. sdk の dist/ フォルダを解凍します
// 3. ブラウザ用の sdk ファイルを html ファイルに埋め込んで使用します

接続の初期化

CopyaccessKey = "ACCESS_KEY_ID";
secretKey = "SECRET_KEY_ID";
AWS.config.update({
accessKeyId: accessKey,
secretAccessKey: secretKey,
region: '<REGION>',
endpoint: '<ENDPOINT>',
apiVersions: {
s3: '2006-03-01'
}
})
const s3 = new AWS.S3()

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copy<!-- Javascript SDK をインストール -->
<!-- 1. 次のアドレスから sdk リリースをダウンロードします: https://github.com/aws/aws-sdk-js/releases -->
<!-- 2. sdk の dist/ フォルダを解凍します -->
<!-- 3. ブラウザ用の sdk ファイルを HTML ファイルに埋め込んで使用します -->
<
script >
// 接続の初期化
var accessKey = "<ACCESS_KEY_ID>";
var secretKey = "<SECRET_KEY_ID>";

AWS.config.update({
accessKeyId: accessKey,
secretAccessKey: secretKey,
region: '<REGION>',
endpoint: '<ENDPOINT>',
apiVersions: {
s3: '2006-03-01'
}
});

var s3 = new AWS.S3();

// いくつかの基本的な例

// 新しい bucket を作成
var bucketName = "my-unique-bucket-name";
s3.createBucket({
Bucket: bucketName
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log("Bucket created:", data);
});

// bucket を削除
s3.deleteBucket({
Bucket: bucketName
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log("Bucket deleted:", data);
});

// 新しい object を作成
var objectKey = "my-object-key";
var content = "Hello, world!";
s3.putObject({
Bucket: bucketName,
Key: objectKey,
Body: content
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log("Object created:", data);
});

// object の内容を読み取る
s3.getObject({
Bucket: bucketName,
Key: objectKey
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log("Object content:", data.Body.toString('utf-8'));
});

// object を削除
s3.deleteObject({
Bucket: bucketName,
Key: objectKey
}, function(err, data) {
if (err) console.log(err, err.stack);
else console.log("Object deleted:", data);
}); <
/script>

完全なドキュメント Refer: https://docs.aws.amazon.com/sdk-for-javascript/

NodeJS

インストール

Copynpm install aws-sdk@2.x

接続の初期化

Copyconst AWS = require('aws-sdk')
AWS.config.update({
accessKeyId: `"ACCESS_KEY_ID" `,
secretAccessKey: `"SECRET_KEY_ID"`,
region: '<REGION>',
endpoint: '"ENDPOINT"',
apiVersions: {
s3: '2006-03-01'
},
logger: process.stdout
})

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copy// インストール
// npm install aws-sdk@2.x

const AWS = require('aws-sdk');

// 接続の初期化
AWS.config.update({
accessKeyId: '"ACCESS_KEY_ID"',
secretAccessKey: '"SECRET_KEY_ID"',
region: '<REGION>',
endpoint: '"ENDPOINT"',
apiVersions: {
s3: '2006-03-01',
},
logger: process.stdout,
});

const s3 = new AWS.S3();

// いくつかの基本的な例

// 新しい bucket を作成
const bucketName = 'my-unique-bucket-name';
s3.createBucket({ Bucket: bucketName }, (err, data) => {
if (err) console.error(err, err.stack);
else console.log('Bucket created:', data);
});

// bucket を削除
s3.deleteBucket({ Bucket: bucketName }, (err, data) => {
if (err) console.error(err, err.stack);
else console.log('Bucket deleted:', data);
});

// 新しい object を作成
const objectKey = 'my-object-key';
const content = 'Hello, world!';
s3.putObject({ Bucket: bucketName, Key: objectKey, Body: content }, (err, data) => {
if (err) console.error(err, err.stack);
else console.log('Object created:', data);
});

// object の内容を読み取る
s3.getObject({ Bucket: bucketName, Key: objectKey }, (err, data) => {
if (err) console.error(err, err.stack);
else console.log('Object content:', data.Body.toString('utf-8'));
});

// object を削除
s3.deleteObject({ Bucket: bucketName, Key: objectKey }, (err, data) => {
if (err) console.error(err, err.stack);
else console.log('Object deleted:', data);
});

完全なドキュメント Refer: https://github.com/aws/aws-sdk-js/

Go

インストール

Copygo get "github.com/aws/aws-sdk-go/aws"

接続の初期化

Copys3Config := &aws.Config{
Credentials: credentials.NewStaticCredentials("ACCESS_KEY_ID", "SECRET_KEY_ID", ""),
Endpoint: aws.String("ENDPOINT"),
Region: aws.String("REGION"),
}
newSession := session.New(s3Config)
Client = s3.New(newSession)

「ACCESS_KEY_ID」、「SECRET_KEY_ID」、「ENDPOINT」は、こちらのリンクの手順に従って FPT Unify Portal から取得します。 いくつかの基本的な例

Copypackage main

import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/s3"
"log"
)

var Client *s3.S3

func main() {
// 接続の初期化
s3Config := &aws.Config{
Credentials: credentials.NewStaticCredentials("ACCESS_KEY_ID", "SECRET_KEY_ID", ""),
Endpoint: aws.String("ENDPOINT"),
Region: aws.String("REGION"),
}
newSession := session.New(s3Config)
Client = s3.New(newSession)

// いくつかの基本的な例

// 新しい bucket を作成
bucketName := "my-unique-bucket-name"
_, err := Client.CreateBucket(&s3.CreateBucketInput{
Bucket: aws.String(bucketName),
})
if err != nil {
log.Fatal(err)
}
log.Println("Bucket created:", bucketName)

// bucket を削除
_, err = Client.DeleteBucket(&s3.DeleteBucketInput{
Bucket: aws.String(bucketName),
})
if err != nil {
log.Fatal(err)
}
log.Println("Bucket deleted:", bucketName)

// 新しい object を作成
objectKey := "my-object-key"
content := "Hello, world!"
_, err = Client.PutObject(&s3.PutObjectInput{
Bucket: aws.String(bucketName),
Key: aws.String(objectKey),
Body: aws.String(content),
})
if err != nil {
log.Fatal(err)
}
log.Println("Object created:", objectKey)

// object の内容を読み取る
result, err := Client.GetObject(&s3.GetObjectInput{
Bucket: aws.String(bucketName),
Key: aws.String(objectKey),
})
if err != nil {
log.Fatal(err)
}
log.Println("Object content:", result.Body)

// object を削除
_, err = Client.DeleteObject(&s3.DeleteObjectInput{
Bucket: aws.String(bucketName),
Key: aws.String(objectKey),
})
if err != nil {
log.Fatal(err)
}
log.Println("Object deleted:", objectKey)
}

完全なドキュメント Refer: https://docs.aws.amazon.com/sdk-for-go/