1 つのスナップショット エクスポート バケットを作成
非推奨
Amazon Web Services S3 バケット、 Azure Blob ストレージ コンテナ、またはGoogle Cloud Platformストレージ バケットのスナップショット エクスポート バケットを作成します。 作成が完了すると、スナップショットは エクスポート バケット と、その参照先のAmazon Web Services S3 バケット、 Azure Blob ストレージ コンテナ、またはGoogle Cloud Platformストレージ バケットにエクスポートできます。 このリソースを使用するには、リクエスト元のサービスアカウントまたはAPIキーにプロジェクト オーナーのロールが必要です。
path パラメータ
-
24プロジェクトを識別する一意の 桁の 16 進数文字列。認証済みユーザーがアクセスできるすべてのプロジェクトを取得するには、 /groups エンドポイントを使用します。
注: グループとプロジェクトは同義語です。そのため、グループ ID はプロジェクト ID と同じです。既存のグループの場合、グループ/プロジェクト ID は同じままです。リソースおよび対応するエンドポイントでは、グループという用語が使用されます。
形式は次のパターンと一致する必要があります:
^([a-f0-9]{24})$
。
クエリ パラメータ
-
アプリケーションがレスポンスを
envelope
JSON オブジェクトにラップするかどうかを示すフラグ。一部の API クライアントは、HTTP レスポンス ヘッダーまたはステータス コードにアクセスできません。これを修正するには、クエリで envelope=true を設定します。結果のリストを返すエンドポイントは、結果オブジェクトをエンベロープとして使用します。アプリケーションは、レスポンス本体にステータス パラメータを追加します。デフォルト値は
false
です。 -
レスポンス本体を pretty-print 形式にするかどうかを示すフラグ。
デフォルト値は
false
です。Prettyprint
body
必須
エクスポート バケットが参照するロールと AWS S3 バケット、Azure Blob ストレージ コンテナ、または Google Cloud ストレージ バケットを指定します。
-
スナップショットがエクスポートされるクラウドプロバイダーを識別する、人間が判読可能なラベル。
-
ロールがエクスポートを許可されている AWS S3 バケットを識別する、人間が判読できるラベル。
最小長は
3
、最大長は63
です。 -
MongoDB Cloud が AWS S3 バケットにアクセスするために使用する Unified AWS Access ロール ID を識別する、一意の 24 桁の 16 進文字列。
形式は次のパターンと一致する必要があります:
^([a-f0-9]{24})$
。統合 AWS アクセス ロール ID -
パブリック IP ではなく PrivateLink 経由でエクスポートを実行するかどうかを示します。デフォルトは false です。
atlas api cloudBackups createGroupBackupExportBucket --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20230201001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.CreateGroupBackupExportBucketApiParams{}
sdkResp, httpResp, err := client.CloudBackupsApi.
CreateGroupBackupExportBucketWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-02-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-02-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/backup/exportBuckets" \
-d '{ <Payload> }'
{
"iamRoleId": "668c5f0ed436263134491592",
"bucketName": "export-bucket",
"cloudProvider": "AWS",
"requirePrivateNetworking": false
}
{
"_id": "32b6e34b3d91647abb20e7b8",
"links": [
{
"rel": "self",
"href": "https://cloud.mongodb.com/api/atlas"
}
],
"region": "us-east-1",
"iamRoleId": "668c5f0ed436263134491592",
"bucketName": "export-bucket",
"cloudProvider": "AWS",
"requirePrivateNetworking": true
}
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}