curl "https://mybucket.storage.nami.cloud/?max-keys=2&prefix=example" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
response = s3_client.list_objects_v2(
Bucket='mybucket',
Prefix='example',
MaxKeys=2
)
for obj in response.get('Contents', []):
print(obj['Key'], obj['Size'])
import { S3Client, ListObjectsV2Command } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function listObjects() {
const command = new ListObjectsV2Command({
Bucket: "mybucket",
Prefix: "example",
MaxKeys: 2
});
try {
const response = await client.send(command);
console.log("객체:", response.Contents);
} catch (err) {
console.error("오류:", err);
}
}
listObjects();
package main
import (
"fmt"
"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"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
resp, err := s3Client.ListObjectsV2(&s3.ListObjectsV2Input{
Bucket: aws.String("mybucket"),
Prefix: aws.String("example"),
MaxKeys: aws.Int64(2),
})
if err != nil {
panic(err)
}
for _, item := range resp.Contents {
fmt.Println("이름:", *item.Key)
fmt.Println("크기:", *item.Size)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
let response = client
.list_objects_v2()
.bucket("mybucket")
.prefix("example")
.max_keys(2)
.send()
.await?;
if let Some(contents) = response.contents() {
for object in contents {
println!("키: {}", object.key().unwrap_or_default());
println!("크기: {}", object.size());
}
}
Ok(())
}
{
"Name": "<string>",
"Prefix": "<string>",
"MaxKeys": 123,
"IsTruncated": true,
"Contents": [
{
"Key": "<string>",
"LastModified": "2023-11-07T05:31:56Z",
"ETag": "<string>",
"Size": 123,
"StorageClass": "<string>"
}
]
}객체 작업
객체 목록
최신 글로벌 합의 프로토콜 및 분산 저장소로 클라우드 서비스를 혁신하다
GET
/
curl "https://mybucket.storage.nami.cloud/?max-keys=2&prefix=example" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
response = s3_client.list_objects_v2(
Bucket='mybucket',
Prefix='example',
MaxKeys=2
)
for obj in response.get('Contents', []):
print(obj['Key'], obj['Size'])
import { S3Client, ListObjectsV2Command } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function listObjects() {
const command = new ListObjectsV2Command({
Bucket: "mybucket",
Prefix: "example",
MaxKeys: 2
});
try {
const response = await client.send(command);
console.log("객체:", response.Contents);
} catch (err) {
console.error("오류:", err);
}
}
listObjects();
package main
import (
"fmt"
"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"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
resp, err := s3Client.ListObjectsV2(&s3.ListObjectsV2Input{
Bucket: aws.String("mybucket"),
Prefix: aws.String("example"),
MaxKeys: aws.Int64(2),
})
if err != nil {
panic(err)
}
for _, item := range resp.Contents {
fmt.Println("이름:", *item.Key)
fmt.Println("크기:", *item.Size)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
let response = client
.list_objects_v2()
.bucket("mybucket")
.prefix("example")
.max_keys(2)
.send()
.await?;
if let Some(contents) = response.contents() {
for object in contents {
println!("키: {}", object.key().unwrap_or_default());
println!("크기: {}", object.size());
}
}
Ok(())
}
{
"Name": "<string>",
"Prefix": "<string>",
"MaxKeys": 123,
"IsTruncated": true,
"Contents": [
{
"Key": "<string>",
"LastModified": "2023-11-07T05:31:56Z",
"ETag": "<string>",
"Size": 123,
"StorageClass": "<string>"
}
]
}버킷에 대한 읽기 권한이 있는지 확인하세요.
객체 목록
버킷에 있는 일부 또는 모든 객체(최대 1,000개)를 반환합니다. 요청 매개변수를 선택 기준으로 사용하여 버킷의 객체 하위 집합을 반환할 수 있습니다.기본 URL
https://${bucketname}.storage.nami.cloud
쿼리 매개변수
지정된 접두사로 시작하는 키로 응답을 제한합니다.
키를 그룹화하는 데 사용되는 문자(일반적으로 ’/‘와 함께 사용됨)
응답에 포함할 최대 키 수(기본값: 1000)
객체 목록을 나열할 때 시작할 키를 지정합니다.
요청 예제
curl "https://mybucket.storage.nami.cloud/?max-keys=2&prefix=example" \
-H "Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20231028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024"
import boto3
s3_client = boto3.client('s3',
endpoint_url='https://storage.nami.cloud',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
response = s3_client.list_objects_v2(
Bucket='mybucket',
Prefix='example',
MaxKeys=2
)
for obj in response.get('Contents', []):
print(obj['Key'], obj['Size'])
import { S3Client, ListObjectsV2Command } from "@aws-sdk/client-s3";
const client = new S3Client({
endpoint: "https://storage.nami.cloud",
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
async function listObjects() {
const command = new ListObjectsV2Command({
Bucket: "mybucket",
Prefix: "example",
MaxKeys: 2
});
try {
const response = await client.send(command);
console.log("객체:", response.Contents);
} catch (err) {
console.error("오류:", err);
}
}
listObjects();
package main
import (
"fmt"
"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"
)
func main() {
sess := session.Must(session.NewSession(&aws.Config{
Endpoint: aws.String("https://storage.nami.cloud"),
Region: aws.String("us-east-1"),
Credentials: credentials.NewStaticCredentials("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY", ""),
}))
s3Client := s3.New(sess)
resp, err := s3Client.ListObjectsV2(&s3.ListObjectsV2Input{
Bucket: aws.String("mybucket"),
Prefix: aws.String("example"),
MaxKeys: aws.Int64(2),
})
if err != nil {
panic(err)
}
for _, item := range resp.Contents {
fmt.Println("이름:", *item.Key)
fmt.Println("크기:", *item.Size)
}
}
use aws_sdk_s3::{Client, Config};
use aws_config::credentials::StaticCredentialsProvider;
use aws_types::region::Region;
use tokio;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let credentials = StaticCredentialsProvider::new(
"YOUR_ACCESS_KEY".to_string(),
"YOUR_SECRET_KEY".to_string(),
None,
);
let config = Config::builder()
.endpoint_url("https://storage.nami.cloud")
.region(Region::new("us-east-1"))
.credentials_provider(credentials)
.build();
let client = Client::from_conf(config);
let response = client
.list_objects_v2()
.bucket("mybucket")
.prefix("example")
.max_keys(2)
.send()
.await?;
if let Some(contents) = response.contents() {
for object in contents {
println!("키: {}", object.key().unwrap_or_default());
println!("크기: {}", object.size());
}
}
Ok(())
}
응답 예제
HTTP/1.1 200 OK
x-amz-id-2: LriYPLdmOdAiIfgSm/F1YsViT1LW94/xUQxMsF7xiEb1a0wiIOIxl+zbwZ163pt7
x-amz-request-id: 65BD8659F15793A1
Date: Wed, 28 Oct 2023 22:32:00 GMT
Content-Type: application/xml
Content-Length: 302
Server: Nami Cloud
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>mybucket</Name>
<Prefix>example</Prefix>
<Marker></Marker>
<MaxKeys>2</MaxKeys>
<IsTruncated>true</IsTruncated>
<Contents>
<Key>example.jpg</Key>
<LastModified>2023-10-28T22:32:00.000Z</LastModified>
<ETag>"fba9dede5f27731c9771645a39863328"</ETag>
<Size>434234</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
<Contents>
<Key>example2.jpg</Key>
<LastModified>2023-10-28T22:33:00.000Z</LastModified>
<ETag>"9b2cf535f27731c9771645a39863328"</ETag>
<Size>233524</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
</ListBucketResult>
인증
AWS Signature Version 4
쿼리 매개변수
Limits the response to keys that begin with the specified prefix
Sets the maximum number of keys returned in the response
⌘I